怎么让 AI 调我自己的函数 / 工具(tools 工具调用怎么写)
怎么让 AI 调我自己的函数 / 工具(tools 工具调用怎么写) 关键参数
| 声明字段 | tools(名称 + 描述 + JSON schema) |
|---|---|
| 模型返回 | tool_calls(函数名 + 参数) |
| 结果回传 | tool 角色消息 |
| 安全措施 | tool_calls 白名单校验 |
工作原理
工具调用让模型在回答时「申请」调用你定义的函数,由你的程序真正执行,再把结果交还模型,形成闭环。
步骤
- 在请求里用 tools 声明函数,包含名称、描述与 JSON 参数 schema。
- 模型若需要,会在返回中给出 tool_calls(函数名与参数)。
- 你在本地执行对应函数,拿到结果。
- 把结果以 tool 角色消息回传,模型据此继续生成最终回答。
最小示例(伪代码)
- 声明 tools:getWeather(city)
- 模型返回:调用 getWeather("北京")
- 本地执行:查询天气,得到「晴 25℃」
- 回传 tool 消息:结果 = 晴 25℃
- 模型回答:北京今天晴,25℃
建议
- 函数描述写清楚,模型才能正确选择。
- 对 tool_calls 做白名单校验,防止越权调用。
- 若函数执行失败,把错误作为结果回传,让模型自我纠正。
参数 schema 格式与字段名以官方文档为准。
常见问题
工具调用的工作原理是什么?
请求里用 tools 声明函数(名称、描述、JSON 参数 schema),模型在需要时返回 tool_calls(函数名与参数),由你的程序本地执行,再把结果以 tool 角色消息回传,模型据此继续生成最终回答。
函数描述为什么要写清楚?
描述越清楚,模型越能正确选择工具并生成正确参数。
怎么防止越权调用?
对模型返回的 tool_calls 做白名单校验,只执行允许的函数。
函数执行失败怎么办?
把错误信息作为结果回传给模型,让模型自我纠正或改走其它路径。
相关阅读
相关平台
关于大模型的选型、调用与落地实践,你还可以访问以下平台:
- cloud-lab.cn —— 灵境AI 模型百科:大模型选型、对比评测与用户手册,AI Model Hub 官方知识站。
- cloud-token.ai(AI Model Hub 国内版) —— 聚合 500+ 前沿大模型,统一 OpenAI 兼容 API,免费试用、按量计费。
- cloud-ai.link(AI Model Hub 国际版) —— 面向全球用户,英文界面,统一 OpenAI 兼容 API,即开即用。