OpenAI 函数调用完全指南:2026 年开发者完整教程
通过实际示例和生产模式掌握 OpenAI 函数调用
OpenAI 函数调用完全指南:2026 年开发者完整教程
通过实际示例和生产模式掌握 OpenAI 函数调用
OpenAI 函数/工具调用完全指南(2026):使用 JSON Schema 定义工具 → 模型返回结构化调用 → 你执行并反馈结果。包含完整循环的真实代码、生产模式(验证/tool_choice/并行调用/strict)、与结构化输出的区别,以及如何驱动智能体。
OpenAI 函数调用:2026 年开发者完整指南
函数调用(现在通常称为工具调用)让模型决定调用你定义的函数,并返回结构化参数。你将工具描述为 JSON Schema;模型在适当时回复一个工具调用(名称 + JSON 参数)而非自由文本;你的代码执行函数并将结果反馈回去。这是智能体、RAG 检索以及任何需要 LLM 可靠执行操作的应用程序的基础。
核心循环
python
pip install openai
from openai import OpenAI
client = OpenAI()tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取某个城市的当前天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}]
messages = [{"role": "user", "content": "东京的天气怎么样?"}]
resp = client.chat.completions.create(model="gpt-4o", messages=messages, tools=tools)
call = resp.choices[0].message.tool_calls[0]
import json
args = json.loads(call.function.arguments) # {"city": "Tokyo"}
result = get_weather(**args) # 你的真实函数
将结果反馈回去,以便模型用自然语言回答
messages.append(resp.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})
final = client.chat.completions.create(model="gpt-4o", messages=messages, tools=tools)
print(final.choices[0].message.content)
重要的生产模式
tool_choice 来强制、禁止或自动选择工具。当你需要保证结构化输出时,强制使用特定工具。tool_calls 并为每个调用 ID 追加一条 tool 消息。函数调用 vs 结构化输出
如果你只想要一个类型化的对象(而不需要*执行*任何操作),请使用结构化输出/响应模式,而不是工具往返。如果模型必须选择操作并由你执行,那就是工具调用。Anthropic 的 Claude 通过其工具使用 API 提供了相同的功能——概念是直接迁移的。
如何驱动智能体
每个智能体框架本质上都是这个循环加上控制流。要了解其扩展,请比较 OpenAI Assistants vs LangGraph 和 CrewAI vs AutoGen。
常见问题
模型真的会执行我的函数吗? 不会——它只返回名称和参数。你的代码执行函数并返回结果。
它可以同时调用多个工具吗? 可以,并行调用;分别处理每个 tool_call_id。
如何保证有效的 JSON? 使用严格/结构化输出模式,并在执行前用 Pydantic 验证。
这仅适用于 OpenAI 吗? 不是——Claude 和其他模型也提供等效的工具使用 API,遵循相同的循环。
总结
函数调用将 LLM 从文本生成器转变为可以执行操作的控制器。将工具定义为 JSON Schema,运行调用循环,验证每个参数,并将结果反馈回去。掌握这一点,智能体、RAG 和工具增强型应用都成为同一模式的不同变体。
*最后更新:2026 年 6 月。请查阅 OpenAI 文档以确认当前 API 形态。*
相关工具
相关教程
构建具有内置RAG、代码执行和函数调用的持久化AI助手
何时以及如何针对特定领域任务微调大语言模型
大规模运行 Assistants API 的工程指南——线程管理、工具使用、文件处理和成本优化
掌握 GPT-4o 的多模态特性,包括图像分析、音频转录以及用于交互式应用的全新实时流式 API
OpenAI API 模式中的成本与吞吐量权衡——跨 openai 和 python 的批处理对比
Bubble.io与OpenAI完整集成指南