Skip to main content
结构化输出和工具调用是特定于路由的契约。AI Sonar 转发多个公共 API 格式,因此最安全的生产模式是在拥有它的路由上保持每个供应商原生工具的形状,并在您自己的应用程序中验证模型输出。

选择路由

请勿通过不同的路由发送供应商原生内置工具,并期望 AI Sonar 静默地将其转换。

JSON 模式

对于可移植的结构化响应,从聊天完成 JSON 模式开始:
聊天完成的稳定共享验证接受 textjson_object。某些兼容路径或转换路径可能存在 json_schemastrict 和供应商特定的架构强制,但它们并不是每个 AI Sonar 路由和模型的普遍承诺。在依赖它们之前,请根据所选模型验证它们。 始终在您的服务器上解析和验证返回的 JSON。JSON 模式改善了形状,但并不替代应用级架构验证。

工具调用循环

AI Sonar 不执行您的函数。您的应用程序拥有循环:
  1. 发送消息和工具定义。
  2. 读取模型响应中的 tool_callsfunction_call、Anthropic tool_use 或 Gemini 函数调用部分。
  3. 在您自己的后端执行工具。
  4. 以相同路由所需的格式附加工具结果。
  5. 继续对话,直到模型返回最终答案。
在工具循环中保持相同的路由。在一次对话中混合聊天完成、响应、消息和 Gemini 格式通常会产生微妙的状态和架构错误。

聊天完成示例

架构设计

  • 保持架构小而明确。大型嵌套架构会增加令牌并降低可靠性。
  • 优先使用必需字段,以便您的产品无法继续的值。
  • 对于您的 UI 或后端依赖的封闭集合,使用枚举。
  • 当模型在形状上遇到困难时,在提示中包含示例。
  • 将不支持字段错误视为请求格式提示。删除该字段或使用记录它的原生路由。

生产检查清单

  • 在日志中记录路由、模型、工具名称和清理后的架构形状。
  • 在执行任何副作用之前验证工具参数。
  • 在工具执行之前应用您自己的权限检查。
  • 当客户端重试可以重复相同的工具调用时,使工具执行具有幂等性。
  • 不要将工具返回的秘密记录到模型可见的消息中。

API 参考