メインコンテンツへスキップ
OrcaRouter ではルーティング戦略を名前付きルーターとして保存できます。 コードからは orcarouter/{name} として呼び出し、OrcaRouter が設定した ルールに基づいてリクエスト時に具体的なモデルに解決します。 これは次のような場面で有用です:
  • アプリを再デプロイせずにルーティング挙動を切り替える (ダッシュボード でルーターを変える; コードは変わらない)。
  • 異なるチームやサービスが、呼び出すアプリと独立して自分のルーティ ングポリシーを選べるようにする。
  • extra_body にインラインで書くには複雑すぎるルーティングロジック を参照する。

ルーターの使い方

response = client.chat.completions.create(
    model="orcarouter/production-chat",
    messages=[...],
)
ルーターが解決した具体的なモデルを知るには、X-Orca-RouterX-Orca-Resolved-Model レスポンスヘッダを読みます —— レスポンスヘッダ を参照。レスポンス ボディ内の model フィールドは上流が返したもの (しばしば素の上流名、 例: gpt-4o-mini-2024-07-18) を反映します。

ルーターの作成

ルーターはダッシュボードの Routing で作成します。各ルーターには 以下があります:
  • 名前 —— orcarouter/{name}{name}。ワークスペース内で 一意; 小文字、数字、_- (1-50 文字)。名前 orcarouter は 予約されています。
  • 許可モデル —— 1 つ以上の glob パターン (カンマまたは改行区切り、 大文字小文字無視) で、このルーターが選べるモデルを限定します。 例: openai/* または openai/*, anthropic/claude-haiku-*。空は アカウントがアクセス可能なすべてのモデルに一致します。
  • 戦略 —— 一致モデルの中からどう選ぶか。下の戦略 を参照。
  • Mundane models / Hard models —— Adaptive · Gated 戦略 だけが使う追加のモデルリスト。下の Adaptive を参照。
  • デフォルトモデル —— パターンが空集合に解決される場合のセーフ ティネット。
  • 有効化 —— 削除せずにルーターを無効化。

戦略

エディタは 4 つの戦略カードを公開します。Adaptive は 2 つのバック エンドサブモードを束ねており、API 経由で永続化できる列挙値は合計 5 つです。

Cheapest (最安)

ライブ候補の中でトークン単価が最も低いモデルを選びます。シードされた orcarouter/auto ルーターのデフォルト。毎リクエストで最安のライブ チャットモデルが必要で、呼び出し間の出力スタイルの一貫性を気にしない 場合に最適。

Quality (品質)

ライブ候補の中で品質スコアが最も高いモデルを選びます。価格は問わない。 出力品質がコストを上回るときに最適。

Balanced (バランス)

品質ベースラインを満たす低コストの選択肢を選びます; どれも満たさない 場合は最高品質の選択肢にフォールバック。自分で作る新規ルーターの デフォルト。ルーター単位の調整なしで動きます。

Adaptive (適応)

ルーター単位の LinUCB コンテキストバンディットで、本番トラフィックから 学習します。リクエストごとに品質、コスト、レイテンシ、信頼性を重み付け してベストモデルを選びます。新規ルーターは短い冷スタート期間 (モデル別ウォームアップ) の間は Balanced のように振る舞い、その後 バンディットが選択を誘導し始めます ——これは期待される挙動でバグでは ありません。 2 つのサブモード:
  • Standard (API 列挙: linucb) —— 各リクエストですべての許可 モデルを考慮。トラフィックがほぼ均一で、ルーターに全リスト中の ベストを見つけさせたいときに最適。
  • Gated (API 列挙: gated_adaptive) —— リクエストはまず mundane か hard に分類されます; mundane リクエストはより小さな Mundane models プールから、hard リクエストはより強力な Hard models プールから、中難易度のリクエストは完全な許可リスト から抽出されます。シンプル/複雑な呼び出しが混ざるトラフィックに 最適。各プールは許可モデルと交差させ; 空または重ならないプールは 完全な許可リストに静かにフォールバックするので、リクエストが 飢餓状態になることはありません。Gated を選んだらエディタで 2 つの プール (API 層では weak_poolstrong_pool、各最大 2000 文字) を設定します。

シード済みルーター: orcarouter/auto

OrcaRouter アカウントは登録時に auto という名前のデフォルト ルーターでシードされます —— オートルーター を参照。何も設定しなくてもすぐ使えます。