开始使用免费开始使用

集成函数调用工具

您已经使用 convert_timezone() 函数创建了一个时区转换工具,并按 OpenAI 的工具格式完成了定义。现在需要实现完整的函数调用工作流。client 已初始化,tools 列表中包含了您的时区转换工具定义。convert_timezone() 函数也可以直接使用。

一个 messages 列表已经准备好,其中包含了一条需要通过 convert_timezone 工具提供时区信息的用户输入。

本练习是课程的一部分

使用 OpenAI Responses API

查看课程

练习说明

  • 遍历第一次 Responses 请求的输出条目,检查是否包含对 'convert_timezone''function_call';如果有,则将该条目中的参数解包后调用 convert_timezone(),并将结果存入 timezone_result
  • 向 messages 列表添加一条类型为 'function_call_output' 的消息,内容为 convert_timezone() 的结果。
  • 使用包含函数结果的 messages 创建最终的 Responses 请求,并再次传入 tools 列表。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
编辑并运行代码