AIモデルサービングエンドポイント での ゲートウェイの構成
この記事では、モデルサービングエンドポイントで Mosaic AI Gateway を設定する方法について説明します。
要件
外部モデルがサポートされているリージョン内の Databricks ワークスペース。
「外部モデルサービングエンドポイントの作成」のステップ 1 と 2 を完了します。
UIを使用した AI Gateway の構成
このセクションでは、エンドポイントの作成時に Serving UI を使用して AI Gateway を設定する方法について説明します。
エンドポイント作成ページの [AI Gateway ] セクションでは、次の AI Gateway 機能を個別に構成できます。
特徴量 |
有効にする方法 |
詳細 |
---|---|---|
使用状況の追跡 |
[ 使用状況の追跡を有効にする ] を選択して、データ使用量メトリクスの追跡と監視を有効にします。 |
|
ペイロードのロギング |
[ 推論テーブルを有効にする ] を選択すると、エンドポイントからの要求と応答が Unity Catalog によって管理される Delta テーブルに自動的に記録されます。 |
|
レート制限 |
リクエスト レート制限 を適用して、エンドポイントのトラフィックをユーザーごとおよびエンドポイントごとに管理できます |
|
トラフィック ルーティング |
エンドポイントでトラフィックルーティングを設定するには、「 エンドポイントに複数の外部モデルを提供する」を参照してください。 |
使用状況追跡テーブルのスキーマ
system.serving.served_entities
使用状況追跡システムテーブルには、次のスキーマがあります。
列名 |
説明 |
タイプ |
---|---|---|
|
提供されたエンティティの一意の ID。 |
文字列 |
|
Delta Sharingの顧客 アカウント ID。 |
文字列 |
|
サービスエンドポイントの顧客ワークスペース ID。 |
文字列 |
|
作成者の ID。 |
文字列 |
|
配信エンドポイントの名前。 |
文字列 |
|
配信エンドポイントの一意の ID。 |
文字列 |
|
提供されるエンティティの名前。 |
文字列 |
|
提供されるエンティティのタイプ。 |
文字列 |
|
エンティティの基になる名前。 ユーザーが指定した名前である |
文字列 |
|
提供されたエンティティのバージョン。 |
文字列 |
|
エンドポイント設定のバージョン。 |
INT |
|
タスクの種類。 |
文字列 |
|
外部モデルの構成。 例えば |
構造体 |
|
基盤モデルの構成。 例えば |
構造体 |
|
カスタムモデルの設定。 例えば |
構造体 |
|
機能仕様の構成。 例えば |
構造体 |
|
提供されたエンティティの変更のタイムスタンプ。 |
Timestamp |
|
エンティティ削除のタイムスタンプ。 エンドポイントは、提供されるエンティティのコンテナです。 エンドポイントが削除されると、提供されたエンティティも削除されます。 |
Timestamp |
system.serving.endpoint_usage
使用状況追跡システムテーブルには、次のスキーマがあります。
列名 |
説明 |
タイプ |
---|---|---|
|
顧客アカウント ID。 |
文字列 |
|
サービスエンドポイントの顧客ワークスペース ID。 |
文字列 |
|
モデルサービング要求本文で指定できるユーザー指定の要求識別子。 |
文字列 |
|
すべてのモデルサービング要求にアタッチされた Databricks 生成要求識別子。 |
文字列 |
|
サービスエンドポイントの呼び出しリクエストにアクセス許可が使用されるユーザーまたはサービスプリンシパルの ID。 |
文字列 |
|
モデルから返された HTTP 状態コード。 |
Integer |
|
要求が受信されたタイムスタンプ。 |
Timestamp |
|
入力のトークン数。 |
ロング |
|
出力のトークン数。 |
ロング |
|
入力文字列またはプロンプトの文字数。 |
ロング |
|
応答の出力文字列の文字数。 |
ロング |
|
ユーザーは、エンドポイントへの呼び出しを行うエンド ユーザーまたは顧客アプリケーションの識別子を含むマップを提供しました。 「 usage_context を使用した使用の詳細な定義」を参照してください。 |
マップ |
|
要求がストリーム・モードであるかどうか。 |
ブール値 |
|
エンドポイントと提供されるエンティティに関する情報を検索するために |
文字列 |
usage_context
で用途をさらに定義する
使用状況の追跡が有効になっている外部モデルに対してクエリを実行する場合は、 usage_context
パラメーターに Map[String, String]
型を指定できます。 使用状況コンテキスト マッピングは、使用状況追跡テーブルの usage_context
列に表示されます。 usage_context
マップサイズは 10 KiB を超えることはできません。
アカウント 管理者は、使用状況のコンテキストに基づいて異なる行を集計して知見を得ることができ、この情報をペイロードログテーブルの情報と結合することができます。 たとえば、エンドユーザーのコスト属性を追跡するための end_user_to_charge
を usage_context
に追加できます。
{
"messages": [
{
"role": "user",
"content": "What is Databricks?"
}
],
"max_tokens": 128,
"usage_context":
{
"use_case": "external",
"project": "project1",
"priority": "high",
"end_user_to_charge": "abcde12345",
"a_b_test_group": "group_a"
}
}
AI Gateway 対応推論テーブル スキーマ
AI Gateway を使用して有効にした推論テーブルには、次のスキーマがあります。
列名 |
説明 |
タイプ |
---|---|---|
|
モデルサービングリクエストが受信されたUTCの日付。 |
日付 |
|
すべてのモデルサービング要求にアタッチされた Databricks 生成要求識別子。 |
文字列 |
|
モデルサービング要求本文で指定できるオプションのクライアント生成要求識別子。 |
文字列 |
|
要求が受信されたタイムスタンプ。 |
Timestamp |
|
モデルから返された HTTP 状態コード。 |
INT |
|
要求がダウンサンプリングされた場合に使用されるサンプリングの割合。 この値は 0 から 1 までで、1 は受信要求の 100% が含まれていたことを表します。 |
double |
|
モデルが推論を実行した時間 (ミリ秒単位)。 これには、オーバーヘッド ネットワークの待機時間は含まれず、モデルが予測を生成するのにかかった時間のみを表します。 |
bigint |
|
モデルサービング エンドポイントに送信された未加工の要求 JSON 本文。 |
文字列 |
|
モデルサービングエンドポイントによって返された未加工のレスポンス JSON 本文。 |
文字列 |
|
提供されたエンティティの一意の ID。 |
文字列 |
|
array |
|
|
サービスエンドポイントの呼び出しリクエストにアクセス許可が使用されるユーザーまたはサービスプリンシパルの ID。 |
文字列 |
エンドポイントの AI Gateway 機能を更新する
AI Gateway の機能は、以前に有効になっていたモデルサービングエンドポイントと有効にしていなかったエンドポイントで更新できます。AI Gateway 構成の更新が適用されるまでに約 20 秒から 40 秒かかりますが、レート制限の更新には最大 60 秒かかる場合があります。
以下は、Serving UIを使用してモデルサービングエンドポイントの AI Gateway機能を更新する方法を示しています。
エンドポイント ページの [ゲートウェイ ] セクションでは、有効になっている機能を確認できます。 これらの機能を更新するには、[ AI Gateway の編集] をクリックします。
ノートブックの例
次のノートブックは、Databricks Mosaic AI Gateway 機能をプログラムで有効にして使用し、プロバイダーからのモデルを管理および制御する方法を示しています。 REST API の詳細については、以下を参照してください。