选择 API 格式
内置工具只能配合对应的 API 格式使用;TokenLab 不会在不同格式之间转换这些工具。
JSON 模式
需要返回 JSON 对象时,可以使用 Chat Completions 的 JSON 模式:text 和 json_object。json_schema 与 strict 是否可用取决于模型和 API 格式,只有模型文档明确支持时才能使用。
返回的 JSON 必须在服务端重新解析和校验。JSON 模式不能代替应用自己的 schema 校验。
完成一次工具调用
TokenLab 会返回函数名和参数,真正执行函数的是你的应用:- 发送消息和工具定义。
- 从响应中读取
tool_calls、function_call、Anthropictool_use或 Gemini 函数调用内容。 - 在你自己的后端执行工具。
- 用同一种 API 格式追加工具结果。
- 继续对话,直到模型返回最终答案。
Chat Completions 示例
写好工具 schema
- Schema 尽量小而明确。层级过深会增加 tokens,也更容易生成错误参数。
- 产品没有某个值就无法继续时,把它设为必填字段。
- 值只允许固定选项时使用 enum。
- 模型经常填错格式时,在提示词里加入一个示例。
- 字段不受支持时,删除它,或换成明确支持它的 API 格式。
执行工具前
- 日志中保存 API 格式、模型、工具名和 schema 字段名。
- 写入数据、发消息或付款前,必须校验工具参数。
- 工具仍要通过应用自己的权限检查。
- 同一次工具调用可能因重试重复执行时,使用幂等设计。
- 工具返回的密钥和隐私信息不能再发给模型。