動的ルーティングでは、ビジュアルインターフェース または JSON ベースの設定 で、リクエストのルーティングフローを作成できます。単一モデルをハードコードする代わりに、条件を評価し、クォータを適用し、フォールバック付きでモデルを選ぶ小さなフローを組み立てます。アプリケーションコードを変えずに反復できます。新しいルートバージョンを公開すれば完了です。動的ルーティングでは、次のような高度なユースケースを簡単に実装できます。
- セグメント(有料 / 無料ユーザー)ごとに異なるモデルへ振り分ける
- ユーザー / プロジェクト / チームごとに予算やレート制限を適用する
- A/B テストと段階的ロールアウト
開発者だけでなく、非技術系のチームメンバーにも使いやすい形で提供できます。
- Route: 名前付きのバージョン管理されたフロー(例:
dynamic/support)です。リクエストではモデル名の代わりに使えます。 - Nodes
- Start: ルートのエントリーポイントです。
- Conditional: リクエスト本文、ヘッダー、メタデータ(例:
user_plan == "paid")を参照する式による If/Else 分岐です。 - Percentage: 複数の出力へ確率的に振り分けます。A/B テストや段階的ロールアウトに便利です。
- Model: リクエストパラメータを使ってプロバイダー / モデルを呼び出します。
- Rate Limit: キーごと・期間ごとのリクエスト数クォータを適用し、超過時はフォールバックに切り替えます。
- Budget Limit: キーごと・期間ごとのコストクォータを適用し、超過時はフォールバックに切り替えます。
- End: フローを終了し、最終的なモデルレスポンスを返します。
- Metadata: リクエストに付与する任意のキーと値のコンテキスト(例:
userId、orgId、plan)です。アプリから渡し、ルールから参照できます。 - Versions: 変更のたびに新しいドラフトが作られます。デプロイすると本番になり、即時ロールバックできます。
- ルートを作成します。
- (ゲートウェイを選択) > Dynamic Routes > Add Route に移動し、名前を付けます(例:
support)。 - Editor を開きます。
- (ゲートウェイを選択) > Dynamic Routes > Add Route に移動し、名前を付けます(例:
- 条件、制限、その他の設定を定義します。
- 条件には Custom Metadata を使えます。
- モデルノードを設定します。
- 例:
- Node A: プロバイダー OpenAI、モデル
o4-mini-high - Node B: プロバイダー OpenAI、モデル
gpt-4.1
- Node A: プロバイダー OpenAI、モデル
- 例:
- バージョンを保存します。
- Save をクリックして状態を保存します。Versions から以前のバージョンへいつでもロールバックできます。
- バージョンをデプロイして本番にします。
- コードからルートを呼び出します。