Skip to content

Routing Policies

フォールバックチェーン・加重分散・速度優先ルーティング・ベンチマーク AUTO をポリシーとして保存し、model:"policy/<slug>" で呼び出します。

ルーティングポリシーは複数のモデルを 1 つの呼び出しルールにまとめます — 最大 10 個のモデル エントリを 1 つの slug に保存し、通常のチャット呼び出しで "model": "policy/<slug>" を指定するだけで、そのルール通りに ルーティングされます。タイプは fallbackweightedlatencyauto の 4 種類。ポリシーはアカウントに紐づき、発行した plm_ キーで呼び出します。

ルーティングポリシー機能はデフォルトで有効です(運用設定 routing.policies_enabled)。無効の状態で policy/ モデルを呼び出すと 400 エラーが返ります — ポリシーの保存 (CRUD)はゲートに関係なく可能です。

ポリシータイプ#

fallback — エントリを登録順に試行します。エントリに retries(0〜3)を指定すると、同じエントリをその回数だけ繰り返してから 次へ進みます。最初に成功したレスポンスがそのまま返されます。

weighted — 各エントリの weight(1〜10000)の比率で リクエストを分散します。リクエストボディに trace_id を渡すと、その ハッシュに基づき選択が決定的になり、同じ trace_id は常に同じモデルに ルーティングされます(sticky)。選ばれたエントリが失敗した場合、残りを weight の降順で フォールバックします。

latency — 直近 1 時間の実測レスポンス速度に基づき、エントリを速い順に 並べ替えて試行します(:nitro サフィックスと同じスコアラー)。計測 データがない場合は登録順のまま試行します。

auto(selected_smart)— 登録したモデルプール内で、ベンチマークスコアに基づき リクエスト意図(カテゴリ)ごとに最高スコアのモデルを自動選択します。スコアがない場合は登録順に フォールバックします。weight/retries は無視 されます — プールのみ意味を持ちます。詳細は selected_smart の文書を参照してください。

ポリシーの呼び出し#

通常のチャット呼び出しで "model": "policy/<slug>" を指定します。 OpenAI SDK と plm_ キーのまま動作し、レスポンスの modelprovider フィールドで実際にサービング したモデルを確認できます。課金は実際に成功したエントリのモデル・プロバイダー単価が基準です。

invoke policy
curl https://apirouter.pleum.ai/v1/chat/completions \
  -H "Authorization: Bearer plm_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "policy/prod-chat",
    "messages": [
      {"role": "user", "content": "Summarize this document."}
    ]
  }'

trace_id(最大 128 文字)はルーティング専用フィールドです — weighted ポリシーの sticky 選択のシードとしてのみ使われ、上流プロバイダーには転送されません。同じ ユーザーやセッションを同じモデルに固定したい場合は、ユーザー ID やセッション ID を入れてください。

weighted + sticky trace_id
curl https://apirouter.pleum.ai/v1/chat/completions \
  -H "Authorization: Bearer plm_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "policy/ab-test",
    "trace_id": "user-1234",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

ストリーミングでは、最初のトークンが送出される前の失敗だけが次のエントリへ シームレスにフォールバックします。トークンが 1 つでもクライアントへ送信された後の失敗は、 フォールバックせずストリームが終了します(二重出力の防止)。エントリごとの retries は非ストリーミング呼び出しにのみ適用されます。

ポリシーの管理#

ポリシーはダッシュボードのルーティングポリシーページで作成するか、 /v1/routing-policies 管理 API(JWT 認証)で CRUD できます。フィールドの 詳細は API リファレンスを参照してください。

エントリは 1〜10 個で、実在するアクティブな単価課金の leaf モデルだけを指定できます。他の ポリシー(policy/…)、現行ルーティング親(benchmark_smartanalytics_smartperfect)、廃止済みの親(pleum-smartpleum-perfect)はエントリにできません。1 リクエストの総試行回数には ハードキャップ(デフォルト 6 回)があります。