Important
この機能は パブリック プレビュー段階です。
UnityゲートウェイモデルサービスをDatabricks Appsリソースとして追加することで、アプリがUnity Catalogで管理されるAIモデルにチャット、補完、埋め込みなどの推論リクエストを送信できるようにします。 Unity Gatewayモデルサービスには、system.aiの下で利用可能なトークンごとの支払い型基礎モデルや、あなたが作成したモデルサービスが含まれます。
Note
Unity Gatewayモデルサービスの使用アトリビューションは、標準的なDatabricksアプリにのみ正確です。 Genieのアプリビルダーアプリのように、マイクロVM環境で動作するアプリは、正確な使用状況のアトリビューションを報告しません。
Unity Gateway の使用状況の追跡を参照してください。
特権の要件
Unity Gatewayモデルサービスにアクセスするには、アプリのサービスプリンシパルが親カタログの USE CATALOG 権限、親スキーマの USE SCHEMA 権限、モデルサービスに対する EXECUTE 権限を持たなければなりません。 モデルサービスリソースを追加すると、Azure Databricksはこれらの権限を自動的にアプリのサービスプリンシパルに付与します。
この自動付与を成功させるには、各特権に対して次のいずれかが当てはまる必要があります。
-
USE CATALOGの場合: すべてのアカウントユーザーがカタログに対するUSE CATALOG権限を持っているか、またはあなたがカタログに対するMANAGE権限を持っている。 -
USE SCHEMAの場合: すべてのアカウントユーザーがスキーマに対するUSE SCHEMA特権を持っているか、あるいはあなたがスキーマに対するMANAGE特権を持っているかのいずれかです。 -
EXECUTEの場合:すべてのアカウントユーザーがモデルサービスに対してEXECUTE権限を持つか、またはあなたがモデルサービスに対してMANAGE権限を持つかのいずれかです。
Unity Gateway モデルサービスリソースを追加
Unity Gatewayモデルサービスをリソースとして追加する前に、 アプリのリソースの前提条件を確認してください。
- アプリを作成または編集する際は、アプリ リソースセクションで+リソースを追加>モデルをクリックします。
- リソースピッカーで、 Unity Gateway セクションからモデルサービスを選択します。 ピッカーは「 Serving Endpoints 」セクションの下にカスタムサービスエンドポイントもリストアップしています。 これらのエンドポイントのいずれかを接続するには、「Databricksアプリにモデルサービングエンドポイントリソースを追加」を参照してください。 トークンごとの支払い型基盤モデルを使用するには、
system.aiカタログからモデルサービスを選択してください。 - アプリのアクセス許可レベルを選択します。
-
実行可能: アプリのサービスプリンシパルにモデルサービスへの推論要求を送信する
EXECUTE権限を付与します。 これはモデルサービスに対して利用可能な唯一の権限レベルです。
-
実行可能: アプリのサービスプリンシパルにモデルサービスへの推論要求を送信する
- (任意) カスタム リソース キーを指定してください。これは、アプリの構成でモデル サービスを参照する際に使用する識別子です。 既定のキーは
modelです。
Databricks アセット バンドルを使用して設定
宣言的自動化バンドルを使ってアプリを定義する場合は、バンドル構成の uc_securable リソースとしてモデルサービスを追加してください。
resources:
apps:
my_app:
name: 'my-app'
source_code_path: ./app
resources:
- name: 'model'
uc_securable:
securable_full_name: '<catalog>.<schema>.<model_service>'
securable_type: 'MODEL_SERVICE'
permission: 'EXECUTE'
宣言的自動化バンドル内のアプリリソースに関する情報は 、app.resources をご覧ください。
環境変数
Unity Gatewayモデルサービスリソースでアプリをデプロイすると、Azure DatabricksはvalueFromフィールドを使って参照できる環境変数を通じて、モデルサービスの完全な3部構成のUnity Catalog名を公開します。
構成の例:
env:
- name: MODEL_SERVICE_NAME
valueFrom: model # Use your custom resource key if you set one
valueFromフィールドはモデルサービスの完全な3部構成のUnity Catalog名(例:system.ai.databricks-dbrx-instruct)に解決されます。 Azure Databricks SDKまたはUnity Gateway REST APIを通じてモデルサービスを呼び出す際は、この名前を使用してください。
詳細については、「 環境変数を使用してリソースにアクセスする」を参照してください。
Unity Gateway モデルサービスリソースを削除してください
Unityゲートウェイモデルサービスリソースをアプリから削除すると、そのアプリのサービスプリンシパルはモデルサービスに対する EXECUTE 権限を失います。 モデルサービス自体は変更されず、適切な権限を持つ他のユーザーやアプリケーションに対して引き続き利用可能です。
ベスト プラクティス
Unity Gatewayモデルサービスリソースを扱う際には、以下の点を考慮してください。
-
EXECUTEが利用可能な唯一の許可レベルです。 これはアプリに推論リクエストを送信する権限を与え、モデルサービスに対する管理権限は付与しません。 - 追加設定なしでトークンごとの支払い型基礎モデルを使用するには、
system.aiカタログからモデルサービスを選択してください。 - 環境変数はUnityカタログの3部構成の名前(
catalog.schema.model_service)に解決されます。 この値はAzure Databricks SDKやREST APIを通じてモデルサービスを呼び出す際に使用してください。 - アプリコードの推論エラーやレート制限を処理しましょう。 Unity Gatewayは各モデルサービスに設定されたレート制限とガードレールを強制します。
- モデルリソースピッカーは、Serving Endpointsセクションの下にまとめられたクラシックモデルのサービングエンドポイントも一覧表示します。 モデルサービスとサービス用エンドポイントは同じアプリ内で共存可能です。