LogoToRouterドキュメント
LogoToRouterドキュメント
ホームToRouter とは5 分で始めるコアコンセプト
モデルカタログを閲覧するモダリティチャネルルーティングとフェイルオーバー
モデル

チャネルルーティングとフェイルオーバー

ToRouter がリクエストに対してチャネルを選定する仕組みと、アップストリーム障害時の透過的なリトライについて解説します。

モデルを呼び出すと、ToRouter はそのモデルを提供可能なすべてのチャネルから 1 つのチャネル を選択する必要があります。選定はルール上は決定論的で、結果は透過的です。クライアントから見えるのは常に 1 つのレスポンスです。

チャネル選定の仕組み

ゲートウェイは各リクエストに対して短いパイプラインを実行します。

適格性。 現在のアクセス権限の下で、要求されたモデルをサポートするすべてのチャネルを集めます。

優先度フィルタ。 適格チャネルのうち priority 値が最小 のものだけ残します(priority は優先順位 — 小さいほど優先)。

LRU タイブレーク。 同優先度の候補同士では、最近最も使われていないものを優先します。

加重ランダム選択。 候補が複数残る場合、各経路に設定された重みに従いランダムに 1 つを選びます。

priority=10, weight=3 のチャネルは priority=20, weight=10 のチャネルに常に勝ります。同一優先度バケット内では、weight が大きいほど多くのトラフィックを受け取ります。

フェイルオーバー

アップストリームは時に失敗します。ToRouter はサーバー側で対処し、クライアントには 1 つのクリーンなレスポンスが返ります。

選択したチャネルが一過性のエラー — 5xx、429、または 「他を試せ」 を示す特定の 4xx コード(例: クォータ枯渇、キー失効)を返した場合、ゲートウェイは:

  1. TCP ソケットへ 1 バイトも書き出す前に 失敗したレスポンスを破棄します。
  2. 同じ priority → LRU → weight ルールで次の候補を選びます。
  3. リクエストを透過的にリトライします。
  4. 最初に成功したレスポンスを返します。

最終的なエラー(400、404、コンテンツポリシー違反)は即座にクライアントへ返されます — リトライしても意味がないためです。

ストリーミングリクエストは 最初の SSE バイトが送信される前に限り フェイルオーバー可能です。ストリームが始まった後にアップストリームが切断されると、ストリームの途中でエラーとして表面化します — ゲートウェイは部分的なレスポンスを巻き戻すことはできません。

選定結果の確認

すべてのゲートウェイレスポンスは、提供したチャネルとともにログ記録されます。使用状況ページ で確認できます — 各リクエスト行にはモデル、チャネル、レイテンシ、結果が表示されます。

次のステップ

使用状況ダッシュボード

どのチャネルがリクエストを処理したか、費用はいくらかを確認します。

コアコンセプト

アカウント、アクセス、ルーティングの全体像。

アップストリームエラー

問題発生時のフェイルオーバー経路を読み解く。

モダリティ

Text、Multimodal、Image、Video、Audio、Embedding、Rerank — 各モダリティフィルタの意味を解説します。

Stripe でチャージする

Stripe チェックアウト(カード、Apple Pay、Google Pay)で ToRouter の残高にクレジットを追加します。

目次

チャネル選定の仕組みフェイルオーバー選定結果の確認次のステップ