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。请给你自己的自定义工具取别的名字,避免与这些内置项冲突。