Lägg till en Unity Gateway-modelltjänsteresurs i en Databricks-app

Important

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Lägg till Unity Gateway-modelltjänster som Databricks Apps-resurser så att din app kan skicka inferensförfrågningar, inklusive chatt, completions och inbäddningar, till AI-modeller som styrs i Unity Catalog. Unity Gateway-modelltjänster inkluderar pay-per-token-grundmodeller som finns tillgängliga under system.ai, samt modelltjänster du skapar.

Note

Användningsattribution för Unity Gateway-modelltjänster är endast korrekt för standard-Databricks-appar. Appar som körs i en mikro-VM-miljö, såsom Genie App Builder-appar, rapporterar inte korrekt användningsattribution.

Se användningsspårning för Unity Gateway.

Behörighetskrav

För att få tillgång till en Unity Gateway-modelltjänst måste appens tjänsteprincipal ha USE CATALOG privilegiet på föräldrakatalogen, privilegiet USE SCHEMA på föräldraschemat och privilegiet EXECUTE på modelltjänsten. När du lägger till modelltjänstresursen ger Azure Databricks automatiskt dessa privilegier till appens tjänstens huvudnamn.

För att den här automatiska beviljandet ska lyckas måste något av följande gälla för varje behörighet:

  • För USE CATALOG: Antingen har alla kontoanvändare behörigheten USE CATALOG i katalogen eller så har du behörigheten MANAGE för katalogen.
  • För USE SCHEMA: Antingen har USE SCHEMA alla kontoanvändare behörigheten för schemat eller så har du behörigheten MANAGE för schemat.
  • För EXECUTE: Antingen har alla kontoanvändare privilegiet EXECUTE på modelltjänsten, eller så har du privilegiet MANAGE på modelltjänsten.

Se referens för Unity Catalog-behörigheter.

Lägg till en Unity Gateway-modelltjänstresurs

Innan du lägger till en Unity Gateway-modelltjänst som resurs, granska förutsättningarna för appresursen.

  1. I avsnittet Appresurser, när du skapar eller redigerar en app, klicka + Lägg till resurs>Modell.
  2. I resursväljaren, välj en modelltjänst från avsnittet Unity Gateway. Väljaren listar också anpassade serveringsslutpunkter under en sektion Serving Endpoints. För att ansluta en av dessa endpoints, se Lägg till en resurs för model serving-endpoint till en Databricks-app. För att använda en pay-per-token-foundation-modell, välj en modelltjänst från katalogen system.ai .
  3. Välj behörighetsnivå för din app:
    • Kan utföra: Ger appens tjänsthuvudnamn privilegiet EXECUTE att skicka inferensförfrågningar till modelltjänsten. Detta är den enda behörighetsnivån som finns tillgänglig för en modelltjänst.
  4. (Valfritt) Ange en anpassad resursnyckel, vilket är hur du refererar till modelltjänsten i din appkonfiguration. Standardnyckeln är model.

Konfigurera med Databricks Asset Bundles

Om du definierar din app med Declarative Automation Bundles, lägg till modelltjänsten som en uc_securable resurs i din paketkonfiguration:

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'

För information om appresurser i Declarative Automation Bundles, se app.resources.

Miljövariabler

När du distribuerar en app med en Unity Gateway-modelltjänstresurs, exponerar Azure Databricks modelltjänstens fullständiga tredelade Unity Catalog-namn via miljövariabler som du kan referera till med hjälp av valueFrom fältet.

Exempelkonfiguration:

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

Fältet valueFrom löses till det fullständiga tredelade Unity Catalog-namnet för modelltjänsten (till exempel system.ai.databricks-dbrx-instruct). Använd detta namn när du anropar modelltjänsten via Azure Databricks SDK eller Unity Gateway REST API.

Mer information finns i Använda miljövariabler för att komma åt resurser.

Ta bort en Unity Gateway-modelltjänstresurs

När du tar bort en Unity Gateway-modelltjänstresurs från en app förlorar appens service principal behörigheten på modelltjänsten EXECUTE. Modelltjänsten är oförändrad och fortsätter att vara tillgänglig för andra användare och applikationer som har rätt behörigheter.

Metodtips

Tänk på följande när du arbetar med Unity Gateway-modelltjänstresurser:

  • EXECUTE är den enda tillgängliga behörighetsnivån. Den ger appen tillgång att skicka inferensförfrågningar och ger inga administrativa rättigheter på modelltjänsten.
  • För att använda pay-per-token foundation-modeller utan ytterligare installation, välj en modelltjänst från katalogen system.ai .
  • Miljövariabeln resulterar i det fullständiga tredelade Unity-katalognamnet (catalog.schema.model_service). Använd detta värde när du anropar modelltjänsten via Azure Databricks SDK eller REST API.
  • Hantera inferensfel och frekvensbegränsningar i din appkod. Unity Gateway upprätthåller hastighetsgränser och skyddsmekanismer som konfigurerats på varje modelltjänst.
  • Model-resursväljaren listar också klassiska model serving-endpoints, grupperade under avsnittet Serving Endpoints. Modelltjänster och serving-slutpunkter kan samexistera i samma app.