Skip to main content
ツール呼び出し(関数呼び出しとも呼ばれる)により、モデルが定義した特定の関数の実行を要求できます。モデルはいつ、どのような引数でツールを呼び出すかを決定し、アプリケーションがツールを実行して結果を返します。 ARouter はすべての主要プロバイダーのツール呼び出しをサポートしています。インターフェースは OpenAI のツール呼び出し標準に準拠しています。

仕組み

ツール呼び出しは 3 ステップのサイクルに従います:
  1. ツール付き推論 — ツール定義を含むリクエストを送信します。モデルはツールを呼び出すことを決定し、tool_calls レスポンスを返します。
  2. ツール実行(クライアント側) — アプリケーションが要求された関数を実行し、結果を収集します。
  3. ツール結果付き推論 — ツール結果をモデルに送り返し、モデルが最終レスポンスを生成します。

ステップ 1:ツール付き推論

モデルは tool_calls 配列を返します:

ステップ 2:ツール実行(クライアント側)

アプリケーションがモデルの引数で関数を実行します:

ステップ 3:ツール結果付き推論

ツール結果を tool ロールのメッセージとして送り返します:

完全な例

ストリーミングツール呼び出し

ストリーミングが有効な場合、ツール呼び出しの引数は delta.tool_calls を通じて段階的に配信されます:

サポートされるモデル

GET /v1/models を使用してツール呼び出しをサポートするモデルを検索できます。機能リストに tools が含まれるモデルがこの機能をサポートします。
ツール呼び出しはほとんどの最先端モデルでサポートされています:
  • openai/gpt-5.4, openai/gpt-5.4-pro
  • anthropic/claude-sonnet-4.6, anthropic/claude-opus-4.5
  • google/gemini-2.5-flash, google/gemini-2.5-pro
  • deepseek/deepseek-v3.2