tools / tool_choice はチャット対応のすべてのプロバイダ
で動作します。ゲートウェイが上流のネイティブツール呼び出し形式に変換
します。
最小例
プロバイダ間の動作
同じクライアントコードがチャット対応のすべてのプロバイダで動作します ——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 ターゲット上で、ゲートウェイは 3 つの予約済みfunction.name
値を認識し、カスタム関数宣言ではなく Gemini のネイティブ内蔵ツール
に変換します:
| 予約名 | 対応先 |
|---|---|
googleSearch | Gemini Google Search グラウンディング (ウェブ検索 を参照) |
codeExecution | Gemini 内蔵コード実行 |
urlContext | Gemini 内蔵 URL コンテキストツール |
parameters 不要です——
{type: "function", function: {name: "googleSearch"}} を渡せば
Gemini が引き受けます。自分のカスタムツールにはこれらの内蔵名と
衝突しない別の名前を選んでください。