選擇路由
不要通過不同的路由發送供應商原生的內置工具,並期望 TokenLab 靜默地將它們轉換。
JSON 模式
對於可攜帶的結構化響應,從 Chat Completions JSON 模式開始:text 和 json_object。某些兼容路径或轉換路徑可能存在 json_schema、strict 和供應商特定的架構強制,但這並不是對每個 TokenLab 路由和模型的普遍承諾。在依賴它們之前,請根據所選模型進行驗證。
始終在您的伺服器上解析和驗證返回的 JSON。JSON 模式改善了形狀,但並不取代應用層級的架構驗證。
工具調用循環
TokenLab 不執行您的函數。您的應用程序擁有循環:- 發送消息加上工具定義。
- 讀取模型響應中的
tool_calls、function_call、Anthropictool_use或 Gemini 功能調用部分。 - 在您自己的後端執行工具。
- 以相同路由所需的格式附加工具結果。
- 繼續對話,直到模型返回最終答案。
Chat Completions 範例
架構設計
- 保持架構小而明確。大型嵌套架構會增加令牌並降低可靠性。
- 優先使用必需字段,對於您的產品無法繼續的值。
- 對於您的 UI 或後端依賴的封閉集合使用枚舉。
- 當模型在形狀上掙扎時,在提示中包含示例。
- 將不支持字段錯誤視為請求格式提示。刪除該字段或使用記錄它的原生路由。
生產檢查清單
- 在日誌中記錄路由、模型、工具名稱和清理過的架構形狀。
- 在執行任何副作用之前驗證工具參數。
- 在工具執行之前應用您自己的權限檢查。
- 當客戶端重試可以重複相同的工具調用時,確保工具執行是冪等的。
- 不要將工具返回的秘密記錄到模型可見的消息中。