メインコンテンツまでスキップ

Unity AI Gatewayでモデルサービス向けトラフィック分割とフォールバックを構成します

備考

ベータ版

この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。

このページでは、Unity AI Gateway モデルサービスのトラフィック分割とフォールバックを設定する方法について説明します。トラフィック分割は、単一のモデルサービスの後ろにある複数のモデルバックエンドにわたって、リクエストを分散させます。これを使用して、新しいモデルを段階的にロールアウトし、A/B テストを実行し、プロバイダー間で負荷を分散させることができます。

フォールバックは、冗長なフェールオーバーを通じてエージェントとモデルサービスに回復力を追加し、全体的な可用性とモデルの独立性を向上させます。

要件

UI でトラフィック分割を設定する

  1. Databricksワークスペースで、サイドバーの [AI Gateway] をクリックし、編集するモデルサービスを選択します。

  2. [宛先] セクションで、 [別のモデルを追加] をクリックして、分割に含める各モデルバックエンドの宛先エントリを追加します。

  3. 各送信先で、そのモデルが受け取るトラフィックの割合になるように**トラフィックの割合**を設定してください。

    • パーセンテージの合計は100%である必要があります。
  4. 割り当ての合計が100%になると、システムは変更を自動的に保存します。

Unity AIゲートウェイは、指定したトラフィック割合に従って、設定された宛先に各リクエストをランダムにルーティングします。時間が経つにつれて、各宛先で観測されたトラフィックの割合は、設定された割合に収束します。

フォールバックとの連携

トラフィック分割とフォールバックは併用できますが、適用されるリクエスト処理のフェーズが異なります。

  • トラフィック分割は、リクエストの初期(プライマリ)宛先を決定します。
  • プライマリ試行が失敗した場合、フォールバックによってシステムがリクエストを再試行する方法が定義されます。

トラフィック分割とフォールバックの両方を構成する場合:

  1. 着信リクエストごとに、トラフィック分割は重みに基づいて、構成されたセットから1つの送信先を選択します。この選択は、そのリクエストの主要な送信先となります。
  2. システムはリクエストをプライマリ宛先に送信します。
  3. リクエストが失敗した場合(例:429または5xxエラーのため)、システムは構成されたフォールバック先に対してリクエストを再試行します。指定された厳密な順序でそれらを試行します。
  4. システムは、いずれかが成功するか、すべてのフォールバックオプションを使い果たすまで、フォールバックを順番に試行します。
注記

フォールバックはトラフィック分割とは独立しています。システムがプライマリの送信先を選択すると、再試行中にトラフィック分割が再適用されることはありません。

トラフィック分割とフォールバックはモデルサービス上で流れます。

可観測性

トラフィックスプリットとフォールバックのルーティング決定は、system.ai_gateway.usage システムテーブルの routing_information フィールドにログ記録されます。このテーブルをクエリして、リクエストが設定されたパーセンテージとフォールバック順序に従ってルーティングされていることを確認します。

SQL
SELECT
destination_name AS destination,
COUNT(*) AS request_count,
ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER (), 1) AS actual_pct
FROM system.ai_gateway.usage
WHERE
endpoint_name = 'your-endpoint-name'
AND event_time >= CURRENT_TIMESTAMP - INTERVAL 7 DAY
GROUP BY destination_name
ORDER BY actual_pct DESC;

制限事項

  • 最大5つの宛先間でトラフィック分割を構成できます。
  • フォールバックの宛先でトラフィック分割を設定することはできません。

その他のリソース