tools / tool_choice 在所有支持 chat 的服務商上都
工作。網關會翻譯到上游的原生工具調用形態。
最小示例
跨服務商行為
同一段客戶端代碼可作用于所有支持 chat 的服務商——OrcaRouter 把你的 OpenAI 風格tools 適配到各上游的原生形態:
- OpenAI / Grok / DeepSeek:原生目標——
tools保持 OpenAI 形態在 線上傳輸 - Anthropic:OpenAI
tools映射為 Anthropic 的tools+input_schema, 保留 JSON Schema 的properties與required - Gemini:OpenAI
tools映射為 Gemini 的tools[].functionDeclarations,其中name/description/parameters透傳
Gemini 保留函數名
在 Gemini 目標上,網關識別三個保留的function.name 值,并把它們
轉換為 Gemini 的原生內置工具,而不是自定義函數聲明:
| 保留名 | 映射到 |
|---|---|
googleSearch | Gemini Google 搜索接地(詳見聯網搜索) |
codeExecution | Gemini 內置代碼執行 |
urlContext | Gemini 內置 URL 上下文工具 |
parameters——傳
{type: "function", function: {name: "googleSearch"}} 即可,剩下交給
Gemini。請給你自己的自定義工具取別的名字,避免與這些內置項沖突。