Skip to main content
ツール呼び出しを使うと、モデルは答えを推測する代わりに、構造化された操作(データベース検索、天気の確認、社内APIの呼び出しなど)を要求できます。 Gatewayは次のテキストエンドポイントでツールペイロードに対応しています。
  • /v1/chat/completions(OpenAI形式のtoolsとtool_calls)
  • /v1/responses(Responses 形式のfunction_call出力項目)
  • /v1/messages(Anthropic形式のtool_useブロック)

リクエスト

レスポンス

ツールを実行し、次のリクエストでその結果を返すと、アシスタントは回答を完成できます。

組み込みサーバーツール

Gatewayには現在、次のサーバーツールが組み込まれています。
  • gateway:datetime
  • phaseo:web_search
  • phaseo:web_fetch
  • phaseo:advisor
  • phaseo:image_generation
  • phaseo:apply_patch
このツールはクライアント側の実行機能なしでGateway上で動きます。Gatewayが上流のツールまたは関数呼び出しに書き換えて実行し、その結果をモデルの処理ループに返します。 詳細な設定、使用方法、料金についてはサーバーツールを参照してください。 対応するリクエスト形式:
注意:
  • parameters.timezonesは省略可能で、1回の呼び出しで最大5つの有効なIANAタイムゾーンを指定できます。
  • 結果にはtimezones配列が含まれます。各タイムゾーンについて、ISO形式の日時と解決済みのタイムゾーンが示されます。
  • 使用量にはusage.server_tool_use.datetime_requestsが含まれます。
  • モデルが呼び出すタイミングを判断できるよう、tool_choice: "auto"を使うことをおすすめします。

Web検索の例

注意:
  • モデルはツールを呼び出す際に検索クエリを指定します。
  • engine: "auto"は管理されたExa検索を選択します。対応するプロバイダーキーが設定されていれば、engine: "exa"、engine: "parallel"、engine: "firecrawl"、engine: "tinyfish"で管理されたGateway検索を実行できます。
  • TinyFish Searchは多言語対応のページ分割されたランキング結果を提供し、公開プランでは無料です。必要に応じてツールのパラメーターでlanguageとpageを使ってください。
  • phaseo:web_searchでengine: "native"を指定すると、リクエスト形式に応じたプロバイダーのネイティブWeb検索ツールに変換されます。たとえばOpenAIのweb_search_previewやAnthropicのweb_search_20250305です。
  • max_resultsは各検索呼び出しの結果数を制限し、max_total_resultsはサーバーツールループ全体の累積結果数を制限します。
  • 選択した検索エンジンが該当する設定に対応している場合、管理型検索ではallowed_domains / excluded_domains、search_context_size、max_charactersを使えます。
  • 使用量にはusage.server_tool_use.web_search_requests、usage.server_tool_use.web_search_results、usage.server_tool_use.web_search_extra_resultsが含まれます。
  • 管理型Exa検索はserver_tool_web_search_requestsとserver_tool_web_search_extra_resultsのメーターで課金できます。

Web Fetchの例

注意:
  • モデルはツールの呼び出し時に取得対象のurlを指定します。
  • 対応しているのはHTTP(S)のURLとテキスト系のコンテンツタイプのみです。
  • engine: "auto"はAnthropic Messagesではネイティブ取得を使い、それ以外ではEXA_API_KEY設定時にExaを使います。どちらも使えない場合はGatewayの直接HTTP取得を使います。
  • engine: "direct"はGatewayから直接HTTP取得します。engine: "exa"はEXA_API_KEY設定時にExaでコンテンツを抽出します。
  • PARALLEL_API_KEY設定時、engine: "parallel"はParallel Extractを使います。FIRECRAWL_API_KEY設定時、engine: "firecrawl"はFirecrawl Scrapeを使います。
  • Anthropic Messagesではengine: "native"をAnthropicネイティブのweb_fetch_20260209ツールに変換します。それ以外の形式ではengine: "direct"または管理型抽出エンジンを使ってください。
  • max_charsを省略した場合、max_content_tokensをトークン数で上限を指定する取得サイズのエイリアスとして使えます。
  • allowed_domainsとblocked_domainsで取得可能なURLを制限します。
  • HTMLは、モデルの処理ループに戻す前に長さを制限したプレーンテキストに変換されます。
  • 使用量にはusage.server_tool_use.web_fetch_requestsが含まれます。
  • 管理対象のフェッチ機能はserver_tool_web_fetch_requestsメーターに基づいて課金されます。プロバイダー独自のフェッチと検索は、それぞれnative_web_fetch_requestsとnative_web_search_requestsに基づいて課金されます。モデルの価格カードから、プロバイダーに組み込まれた既定値を上書きできます。
ネイティブAnthropic取得の例:

Advisorの例

注意:
  • AdvisorはGatewayが管理し、対応するテキストモデルで利用できます。呼び出し元のモデルにはphaseo_advisorツール、またはphaseo_advisor_reviewerのような名前付きツールが渡され、GatewayがAdvisorリクエストを実行します。
  • parameters.nameは省略可能です。複数のAdvisorを使う場合は一意の名前を付けます。名前には英字、数字、空白、アンダースコア、ハイフンを使用できます。
  • parameters.modelでAdvisorモデルを固定します。省略した場合、ツール呼び出しでmodelを指定できます。それもなければ、Gatewayは外側のリクエストのモデルを使います。
  • parameters.forward_transcriptのデフォルトはfalseです。Advisorに現在の会話履歴を渡すにはtrueにします。
  • モデルは通常、ツール呼び出し時にAdvisorのpromptを指定します。forward_transcriptがtrueでpromptがない場合、Gatewayは会話履歴のみを使ってAdvisorを呼び出せます。max_tokensはmax_completion_tokensの旧エイリアスとして受け付けられます。
  • 使用量にはusage.server_tool_use.advisor_requestsが含まれます。

画像生成の例

注意:
  • ツールを呼び出す際、モデルは画像のpromptを指定します。descriptionもプロンプトのエイリアスとして使えます。
  • parameters.modelで画像モデルを固定します。省略するとツール呼び出しでmodelを指定できます。どちらもなければPhaseoのデフォルト画像モデルを使います。
  • プロバイダーの応答に応じて、ツール結果にはimageUrlまたはbase64形式の画像データが含まれます。
  • 使用量にはusage.server_tool_use.image_generation_requestsが含まれます。画像モデルのトークン使用量は親リクエストに統合されます。

パッチ適用の例

注意:
  • Responses API で phaseo:apply_patch を使用できます。
  • Phaseoはパッチ操作を検証してツール結果に返します。パッチを適用するか拒否するかはクライアント側で決めます。
  • 対応する操作タイプはcreate_file、update_file、delete_fileです。
  • 使用量にはusage.server_tool_use.apply_patch_requestsが含まれます。

ストリーミングの動作

ツール呼び出しのリクエストではstream: trueも使えます。 Gatewayが管理するサーバーツールでは、Gatewayは次の処理を行うことがあります。
  • 上流のツール呼び出しターンを展開する
  • サーバーツールを実行する
  • モデルの処理ループを続ける
  • クライアントに合成ストリームを再送する
これによりGateway自身がツールループの一部を実行する場合も、クライアント側の契約はストリーミングに対応したままです。

次のガイド

  1. ## ツール呼び出し Patterns
  2. ## ツール呼び出し Safety and Validation
  3. 構造化出力
最終更新日 2026年10月2日