함수 호출 실습 — 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 조회 등 수많은 도구를 모델에 연결할 수 있어요.