Tool Calls
Tool Calls 让模型可以调用外部工具。你在请求中描述可用的工具,模型决定是否调用、用什么参数;你的代码执行工具后把结果交回,模型再据此回答。工具由你的代码执行,模型本身不会访问外部系统。
import json
from openai import OpenAI
client = OpenAI(api_key="<你的 API Key>", base_url="https://api.tokenjoy.org/v1")
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询某个城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string", "description": "城市名"}},
"required": ["city"],
},
},
}]
messages = [{"role": "user", "content": "杭州今天天气怎么样?"}]
response = client.chat.completions.create(model="gpt-5", messages=messages, tools=tools)
message = response.choices[0].message
messages.append(message)
# 模型请求调用工具:执行后把结果交回给模型
for call in message.tool_calls or []:
args = json.loads(call.function.arguments)
result = f"{args['city']}:晴,24°C" # 这里换成你自己的实现
messages.append({"role": "tool", "tool_call_id": call.id, "content": result})
response = client.chat.completions.create(model="gpt-5", messages=messages, tools=tools)
print(response.choices[0].message.content)Agent 工具(Claude Code、Codex 等)正是基于这一机制读写文件、执行命令的。