Voeg een Unity Gateway-modelserviceresource toe aan een Databricks-app

Important

Deze functie bevindt zich in openbare preview-versie.

Voeg Unity Gateway-modeldiensten toe als Databricks Apps-bronnen zodat je app inferentieverzoeken kan sturen, inclusief chat, completions en embeddings, naar AI-modellen die in Unity Catalog worden beheerd. Unity Gateway modeldiensten omvatten pay-per-token foundation-modellen beschikbaar onder system.ai, evenals modelservices die je maakt.

Note

De gebruiksattributie voor Unity Gateway-modeldiensten is alleen nauwkeurig voor standaard Databricks-apps. Apps die draaien in een micro-VM-omgeving, zoals Genie app builder-apps, rapporteren geen nauwkeurige toeschrijving van gebruik.

Zie Unity Gateway gebruikstracking.

Vereisten voor bevoegdheden

Om toegang te krijgen tot een Unity Gateway-modelservice, moet de serviceprincipal van de app het USE CATALOG privilege hebben op de oudercatalogus, het USE SCHEMA privilege op het ouderschema en het EXECUTE privilege op de modelservice. Wanneer je de modelserviceresource toevoegt, kent Azure Databricks deze rechten automatisch toe aan de serviceprincipal van de app.

Voor deze automatische toekenning om te slagen, moet een van de volgende voorwaarden gelden voor elke bevoegdheid:

  • Voor USE CATALOG: alle accountgebruikers hebben de USE CATALOG bevoegdheid voor de catalogus of u hebt de MANAGE bevoegdheid voor de catalogus.
  • Voor USE SCHEMA: alle accountgebruikers hebben de USE SCHEMA bevoegdheid voor het schema of u hebt de MANAGE bevoegdheid voor het schema.
  • Voor EXECUTE: Ofwel hebben alle accountgebruikers het EXECUTE privilege op de modelservice, of jij hebt het MANAGE privilege op de modelservice.

Raadpleeg Unity Catalog-bevoegdhedenoverzicht.

Voeg een Unity Gateway-modelserviceresource toe

Voordat je een Unity Gateway-modelservice als bron toevoegt, bekijk de app-resourcevereisten.

  1. Klik in de sectie App-bronnen, wanneer je een app aanmaakt of bewerkt, op + Resource toevoegen>Model.
  2. Selecteer in de resource picker een modelservice uit de sectie Unity Gateway . De picker vermeldt ook aangepaste serving endpoints onder een sectie Serving Endpoints . Om een van deze endpoints te verbinden, zie Voeg een model serving endpoint resource toe aan een Databricks-app. Om een pay-per-token foundation-model te gebruiken, selecteer je een modeldienst uit de system.ai catalogus.
  3. Selecteer het machtigingsniveau voor uw app:
    • Kan uitvoeren: Geeft de serviceprincipal van de app het EXECUTE recht om inferentieverzoeken naar de modelservice te sturen. Dit is het enige beschikbare permissieniveau voor een modeldienst.
  4. (Optioneel) Specificeer een aangepaste resource key, waarmee je in je app-configuratie naar de modelservice verwijst. De standaardsleutel is model.

Configureren met Databricks Asset Bundles

Als je je app definieert met Declarative Automation Bundles, voeg dan de modelservice toe als resource uc_securable in je bundelconfiguratie:

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'

Voor informatie over app-bronnen in Declarative Automation Bundles, zie app.resources.

Omgevingsvariabelen

Wanneer je een app uitrolt met een Unity Gateway modelserviceresource, stelt Azure Databricks de volledige driedelige Unity Catalog-naam van de modelservice beschikbaar via omgevingsvariabelen waarnaar je kunt verwijzen met het valueFrom-veld.

Voorbeeldconfiguratie:

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

Het valueFrom veld lost op naar de volledige driedelige Unity Catalog-naam van de modelservice (bijvoorbeeld, system.ai.databricks-dbrx-instruct). Gebruik deze naam wanneer je de modelservice aanroept via de Azure Databricks SDK of de Unity Gateway REST API.

Zie Omgevingsvariabelen gebruiken voor toegang tot resources voor meer informatie.

Verwijder een Unity Gateway-modelserviceresource

Wanneer je een Unity Gateway modelserviceresource uit een app verwijdert, verliest de serviceprincipal van de app het EXECUTE privilege op de modelservice. De modelservice zelf blijft ongewijzigd en blijft beschikbaar voor andere gebruikers en applicaties die de juiste rechten hebben.

Beste praktijken

Overweeg het volgende wanneer je werkt met Unity Gateway-modelserviceresources:

  • EXECUTE is het enige beschikbare toestemmingsniveau. Het verleent de app toegang om inferentieverzoeken te verzenden en verleent geen administratieve rechten op de modelservice.
  • Om pay-per-token foundation-modellen zonder extra setup te gebruiken, selecteer je een modelservice uit de system.ai catalogus.
  • De omgevingsvariabele wordt opgelost naar de volledige driedelige Unity Catalog-naam (catalog.schema.model_service). Gebruik deze waarde wanneer je de modelservice aanroept via de Azure Databricks SDK of REST API.
  • Behandel inferentiefouten en ratelimieten in je app-code. Unity Gateway handhaaft de ratelimieten en beveiligingen die op elke modelservice zijn ingesteld.
  • De Model-resourcekiezer vermeldt ook klassieke model serving endpoints, gegroepeerd onder een sectie Serving Endpoints. Modelservices en serving endpoints kunnen naast elkaar bestaan in dezelfde app.