시작하기무료로 시작하기

Function-Calling 도구 통합하기

convert_timezone() 함수를 사용해 표준 시간대 변환 도구를 만들고, OpenAI의 도구 형식으로 정의해 두었어요. 이제 전체 function-calling 워크플로를 구현해야 합니다. client는 이미 초기화되어 있고, tools 리스트에는 시간대 변환 도구 정의가 들어 있습니다. convert_timezone() 함수도 바로 사용할 수 있어요.

사용자가 convert_timezone 도구의 시간대 정보를 필요로 하는 입력을 담은 messages 리스트가 시작된 상태예요.

이 연습은 강의의 일부입니다

OpenAI Responses API 활용하기

강의 보기

연습 안내

  • 첫 번째 Responses 요청의 응답 출력 아이템을 순회하면서 'convert_timezone'에 대한 'function_call'이 포함되어 있는지 확인하세요. 그런 다음 해당 아이템에서 인자를 언패킹해 convert_timezone()를 호출하고, 결과를 timezone_result에 저장하세요.
  • convert_timezone()에서 얻은 결과를 담아, 타입이 'function_call_output'인 메시지를 messages 리스트에 추가하세요.
  • 함수 결과가 포함된 messages와 tools 리스트를 다시 전달해 최종 Responses 요청을 생성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

messages = [{"role": "user", "content": "What time is 2:30pm on January 20th in New York in Tokyo time?"}]
response = client.responses.create(model="gpt-5.4-mini", input=messages, tools=tools)
messages += response.output

# Process function calls and execute the timezone conversion
for item in response.output:
    if item.type == "____":
        if item.name == "____":
            timezone_result = ____(**json.loads(item.arguments))
            
            # Append function output to messages
            messages.append({"type": "____", "call_id": item.call_id, "output": json.dumps({"convert_timezone": ____})})

# Make second API request with function results
response = client.responses.create(model="gpt-5.4-mini", input=____, tools=____)
print(response.output_text)
코드 편집 및 실행