함수 호출 실습 — cookbook으로 도구 실행하기

함수 호출 실습

공식 cookbook how_to_call_functions_with_chat_models는 채팅 모델로 함수를 실제 실행하는 과정을 예제로 보여줘요. 도구 정의 → 모델이 함수 호출 결정 → 실행 → 결과 반환 순서를 익힐 수 있어요.

실습 흐름

# 1) 모델이 함수 인자를 결정하도록 요청
response = client.chat.completions.create(
    model="gpt-4o",
    tools=[weather_tool_definition],
    messages=[{"role": "user", "content": "Weather in Busan?"}],
)

# 2) 모델이 고른 함수와 인자를 파싱
tool_call = response.choices[0].message.tool_calls[0]
arguments = json.loads(tool_call.function.arguments)

# 3) 실제 함수 실행 후 결과를 모델에 반환
result = get_weather(arguments["city"])

핵심 아이디어

모델은 함수를 실행하지 않아요. 호출할 함수와 인자만 만들어 주고, 실행은 애플리케이션 책임이에요. 그 결과를 다시 모델에 주면 모델이 자연어로 사용자에게 답해요.

정리

  • tools에 함수 정의를 넘긴다.
  • 응답의 tool_calls에서 함수·인자를 읽는다.
  • 실행 결과를 메시지로 되돌린다.

이 루프를 잡으면 날씨·검색·DB 조회 등 수많은 도구를 모델에 연결할 수 있어요.

더 알아보기