Ajoutez une ressource de service Unity Gateway model service à une application Databricks

Important

Cette fonctionnalité est disponible en préversion publique.

Ajoutez des services de modèles Unity Gateway comme ressources Databricks Apps afin que votre application puisse envoyer des requêtes d’inférence, y compris le chat, les complétions et les embeddings, vers des modèles d’IA régis dans Unity Catalog. Les services de modèle Unity Gateway incluent des modèles fondamentaux avec paiement au jeton disponibles sous system.ai, ainsi que les services de modèle que vous créez.

Note

L’attribution d’utilisation pour les services de modèles Unity Gateway est précise uniquement pour les applications Databricks standard. Les applications qui fonctionnent dans un environnement micro VM, comme les applications Genie App Builder, ne rapportent pas d’attribution d’utilisation précise.

Voir le suivi de l’utilisation de la passerelle Unity.

Exigences relatives aux privilèges

Pour accéder à un service modèle Unity Gateway, le principal de service de l’application doit avoir le USE CATALOG privilège sur le catalogue parent, le USE SCHEMA privilège sur le schéma parent, et le EXECUTE privilège sur le service modèle. Lorsque vous ajoutez la ressource de service modèle, Azure Databricks accorde automatiquement ces privilèges au principal du service de l'application.

Pour que cet octroi automatique réussisse, l’un des éléments suivants doit être vrai pour chaque privilège :

  • Pour USE CATALOG: tous les utilisateurs de compte ont le USE CATALOG privilège sur le catalogue ou vous disposez du MANAGE privilège sur le catalogue.
  • Pour USE SCHEMA: tous les utilisateurs de compte ont le USE SCHEMA privilège sur le schéma ou vous disposez du MANAGE privilège sur le schéma.
  • Pour EXECUTE: Soit tous les utilisateurs du compte ont le privilège EXECUTE sur le service de modèle, soit vous avez le privilège MANAGE sur le service de modèle.

Consultez les informations de référence sur les privilèges du catalogue Unity.

Ajouter une ressource de service modèle Unity Gateway

Avant d’ajouter un service de modèle Unity Gateway comme ressource, examinez les prérequis de la ressource d’application.

  1. Dans la section ressources de l’application, lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource>.
  2. Dans le sélecteur de ressources, sélectionnez un service modèle dans la section Unity Gateway . Le sélecteur liste également les points de terminaison de service personnalisés sous une section Points de terminaison de service. Pour connecter l’un de ces points de terminaison, voir Ajouter une ressource de point de terminaison de service de modèle à une application Databricks. Pour utiliser un modèle de base pay-per-token, sélectionnez un service de modèle dans le catalogue system.ai.
  3. Sélectionnez le niveau d’autorisation de votre application :
    • Peut exécuter : Accorde au principal de service de l’application le EXECUTE privilège d’envoyer des requêtes d’inférence au service modèle. C’est le seul niveau d’autorisation disponible pour un service de modèle.
  4. (Optionnel) Spécifiez une clé de ressource personnalisée, c’est-à-dire la façon dont vous référencez le service de modèle dans la configuration de votre application. La clé par défaut est model.

Configurez avec Databricks Asset Bundles

Si vous définissez votre application à l’aide de Déclarative Automation Bundles, ajoutez le service modèle comme ressource uc_securable dans votre configuration de bundle :

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'

Pour des informations sur les ressources applicatives dans les bundles d’automatisation déclarative, voir app.resources.

Variables d’environnement

Lorsque vous déployez une application avec une ressource de service modèle Unity Gateway, Azure Databricks expose le nom complet du catalogue Unity en trois parties du service modèle via des variables d'environnement que vous pouvez consulter via le champ valueFrom.

Exemple de configuration :

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

Le champ valueFrom correspond au nom complet en trois parties du service de modèle Unity Catalog (par exemple, system.ai.databricks-dbrx-instruct). Utilisez ce nom lors de l’appel du service modèle via le SDK Azure Databricks ou l’API REST de Unity Gateway.

Pour plus d’informations, consultez Utiliser des variables d’environnement pour accéder aux ressources.

Supprimer une ressource de service de modèle Unity Gateway

Lorsque vous retirez une ressource de service modèle Unity Gateway d’une application, le principal de service de l’application perd le EXECUTE privilège sur le service modèle. Le service modèle lui-même reste inchangé et continue d’être disponible pour d’autres utilisateurs et applications disposant des autorisations appropriées.

Meilleures pratiques

Considérez ce qui suit lorsque vous travaillez avec les ressources de service du modèle Unity Gateway :

  • EXECUTE est le seul niveau d’autorisation disponible. Elle accorde à l’application l’accès pour envoyer des requêtes d’inférence et n’accorde pas de privilèges administratifs sur le service modèle.
  • Pour utiliser des modèles de base pay-per-token sans configuration supplémentaire, sélectionnez un service de modèle dans le system.ai catalogue.
  • La variable d’environnement correspond au nom complet du catalogue Unity en trois parties (catalog.schema.model_service). Utilisez cette valeur lors de l’appel du service modèle via le SDK Azure Databricks ou l’API REST.
  • Gérez les erreurs d’inférence et les limites de débit dans votre code d’application. Unity Gateway applique les limites de débit et les garde-fous configurés sur chaque service modèle.
  • Le sélecteur de ressources Modèle liste également les points de terminaison classiques de service de modèle, regroupés sous une section Points de terminaison de service. Les services de modèle et les points de terminaison d’inférence peuvent coexister dans la même application.