选择路由
请勿通过不同的路由发送供应商原生内置工具,并期望 AI Sonar 静默地将其转换。
JSON 模式
对于可移植的结构化响应,从聊天完成 JSON 模式开始:text 和 json_object。某些兼容路径或转换路径可能存在 json_schema、strict 和供应商特定的架构强制,但它们并不是每个 AI Sonar 路由和模型的普遍承诺。在依赖它们之前,请根据所选模型验证它们。
始终在您的服务器上解析和验证返回的 JSON。JSON 模式改善了形状,但并不替代应用级架构验证。
工具调用循环
AI Sonar 不执行您的函数。您的应用程序拥有循环:- 发送消息和工具定义。
- 读取模型响应中的
tool_calls、function_call、Anthropictool_use或 Gemini 函数调用部分。 - 在您自己的后端执行工具。
- 以相同路由所需的格式附加工具结果。
- 继续对话,直到模型返回最终答案。
聊天完成示例
架构设计
- 保持架构小而明确。大型嵌套架构会增加令牌并降低可靠性。
- 优先使用必需字段,以便您的产品无法继续的值。
- 对于您的 UI 或后端依赖的封闭集合,使用枚举。
- 当模型在形状上遇到困难时,在提示中包含示例。
- 将不支持字段错误视为请求格式提示。删除该字段或使用记录它的原生路由。
生产检查清单
- 在日志中记录路由、模型、工具名称和清理后的架构形状。
- 在执行任何副作用之前验证工具参数。
- 在工具执行之前应用您自己的权限检查。
- 当客户端重试可以重复相同的工具调用时,使工具执行具有幂等性。
- 不要将工具返回的秘密记录到模型可见的消息中。