Füge einer Databricks-App eine Unity Gateway Model Service Resource hinzu

Important

Dieses Feature befindet sich in der Public Preview.

Fügen Sie Unity Gateway Modelldienste als Databricks Apps-Ressourcen hinzu, damit Ihre App Inferenzanfragen, einschließlich Chat, Vervollständigungen und Embeddings, an KI-Modelle senden kann, die im Unity Catalog geregelt sind. Unity Gateway Modelldienste umfassen Pay-per-Token-Foundation-Modelle, die unter system.ai verfügbar sind, sowie von Ihnen erstellte Modelldienste.

Note

Die Nutzungszuordnung für Unity-Gateway-Modelldienste ist nur für Standard-Databricks-Apps genau. Apps, die in einer Mikro-VM-Umgebung laufen, wie Genie App Builder-Apps, geben keine genaue Nutzungszuordnung an.

Siehe Unity Gateway Nutzungsverfolgung.

Berechtigungsanforderungen

Um auf einen Unity-Gateway-Modelldienst zuzugreifen, muss der Dienstprinzipal der App das USE CATALOG Privileg auf dem Elternkatalog, das USE SCHEMA Privileg auf dem Elternschema und das EXECUTE Privileg auf dem Modelldienst haben. Wenn Sie die Modell-Service-Ressource hinzufügen, gewährt Azure Databricks diese Rechte automatisch dem Service-Principal der App.

Damit diese automatische Gewährung erfolgreich ausgeführt werden kann, muss für jede Berechtigung eine der folgenden Bedingungen erfüllt sein:

  • Entweder haben alle Kontobenutzer das USE CATALOG-Privileg im Katalog, oder Sie haben das -Privileg im Katalog.
  • Für USE SCHEMA: Entweder haben alle Kontobenutzer das USE SCHEMA-Privileg für das Schema, oder Sie haben das MANAGE-Privileg für das Schema.
  • Für EXECUTE: Entweder haben alle Kontonutzer das EXECUTE Privileg auf dem Modelldienst, oder Sie haben das MANAGE Privileg auf dem Modelldienst.

Siehe Unity Catalog-Berechtigungsreferenz.

Fügen Sie eine Unity Gateway Model Service-Ressource hinzu

Bevor Sie einen Unity Gateway-Modelldienst als Ressource hinzufügen, überprüfen Sie die Anwendungsressourcen-Voraussetzungen.

  1. Klicken Sie im Bereich App-Ressourcen, wenn Sie eine App erstellen oder bearbeiten, auf + Ressource hinzufügen>Modell.
  2. Im Ressourcenwähler wählen Sie einen Modellservice aus dem Abschnitt Unity Gateway aus. Der Picker listet außerdem benutzerdefinierte Serving-Endpunkte unter einem Abschnitt Serving Endpoints auf. Informationen zum Verbinden eines dieser Endpunkte finden Sie unter Fügen Sie einer Databricks-App eine Modellserving-Endpunktressource hinzu. Um ein Pay-per-Token-Foundation-Modell zu verwenden, wählen Sie einen Modelldienst aus dem system.ai Katalog aus.
  3. Wählen Sie die Berechtigungsstufe für Ihre App aus:
    • Kann ausgeführt werden: Gewährt dem Dienstprinzipal der App das EXECUTE Privileg, Inferenzanfragen an den Modellservice zu senden. Dies ist die einzige verfügbare Berechtigungsstufe für einen Model Service.
  4. (Optional) Geben Sie einen benutzerdefinierten Ressourcenschlüssel an, unter dem Sie den Modelldienst in Ihrer App-Konfiguration referenzieren. Der Standardschlüssel ist model.

Mit Databricks Asset Bundles konfigurieren

Wenn Sie Ihre App mit Declarative Automation Bundles definieren, fügen Sie den Modelldienst als Ressource uc_securable in Ihre Bundle-Konfiguration hinzu:

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'

Informationen zu App-Ressourcen in Declarative Automation Bundles finden Sie unter app.resources.

Umgebungsvariablen

Wenn Sie eine App mit einer Modellservice-Ressource von Unity Gateway bereitstellen, stellt Azure Databricks den vollständigen dreiteiligen Unity Catalog-Namen des Modellservice über Umgebungsvariablen bereit, auf die Sie über das Feld valueFrom verweisen können.

Beispielkonfiguration:

env:
  - name: MODEL_SERVICE_NAME
    valueFrom: model # Use your custom resource key if you set one

Das Feld valueFrom löst sich auf den vollständigen dreiteiligen Unity-Catalog-Namen des Modelldienstes auf (zum Beispiel, system.ai.databricks-dbrx-instruct). Verwenden Sie diesen Namen, wenn Sie den Modelldienst über das Azure Databricks SDK oder die Unity Gateway REST API aufrufen.

Weitere Informationen finden Sie unter Verwenden von Umgebungsvariablen für den Zugriff auf Ressourcen.

Entfernen Sie eine Unity Gateway Model Service Resource

Wenn Sie eine Unity Gateway Model Service Resource aus einer App entfernen, verliert der Service Principal der App das EXECUTE Privileg auf dem Modellservice. Der Modelldienst selbst bleibt unverändert und steht weiterhin anderen Benutzern und Anwendungen mit den entsprechenden Berechtigungen zur Verfügung.

Bewährte Methoden

Berücksichtigen Sie Folgendes, wenn Sie mit Unity Gateway-Modell-Service-Ressourcen arbeiten:

  • EXECUTE ist die einzige verfügbare Berechtigungsstufe. Er gewährt der App Zugriff auf das Senden von Inferenzanfragen und gewährt keine administrativen Rechte für den Modelldienst.
  • Um Pay-per-Token-Foundation-Modelle ohne zusätzliche Einrichtung zu verwenden, wählen Sie einen Modelldienst aus dem system.ai Katalog aus.
  • Die Umgebungsvariable wird in den vollständigen dreiteiligen Unity-Catalog-Namen (catalog.schema.model_service) aufgelöst. Verwenden Sie diesen Wert, wenn Sie den Modelldienst über das Azure Databricks SDK oder die REST API aufrufen.
  • Behandle Inferenzfehler und Ratenbegrenzungen in deinem App-Code. Unity Gateway setzt die Ratenbegrenzungen und Leitplanken durch, die bei jedem Modelldienst konfiguriert sind.
  • Der Model-Ressourcenwähler listet außerdem klassische Model-Serving-Endpunkte auf, die unter einem Serving Endpoints-Abschnitt gruppiert sind. Modelldienste und Serving-Endpunkte können in derselben App koexistieren.