Aller au contenu principal

Créer et gérer des fournisseurs avec Model Provider Services

Découvrez comment enregistrer un fournisseur en tant que service de fournisseur de modèles, lui accorder des accès, configurer les fonctionnalités d'Unity Gateway et le supprimer.

Exigences​

  • CREATE SERVICE dans le schéma où vous créez le service du fournisseur de modèle, ainsi que USE CATALOG et USE SCHEMA sur son catalogue et son schéma.
  • Les informations d'identification du fournisseur externe que vous souhaitez enregistrer (par exemple, une clé API OpenAI ou une paire de clés d'accès AWS).
  • Pour authentifier Amazon Bedrock ou Amazon Bedrock Mantle avec un identifiant de service au lieu d'une paire de clés d'accès, vous devez disposer d'un identifiant de service existant et de ACCESS sur celui-ci. Consultez la section Authentifier Amazon Bedrock avec un identifiant de service.

Pour associer un identifiant de fournisseur à un secret Unity Catalog appartenant à un client au lieu de stocker la valeur en ligne, vous devez disposer d’un secret Unity Catalog existant et de READ SECRET sur celui-ci. Consultez la page Associer un identifiant de fournisseur à un secret Unity Catalog.

Créer un service de fournisseur de modèle​

Les services de fournisseur de modèle et les services de modèle partagent un espace de noms unique au sein d'un schéma Unity Catalog. Vous ne pouvez pas utiliser un nom pour un service de fournisseur de modèle si un service de modèle dans le schéma l'utilise déjà, et vice versa.

Créez un service de fournisseur de modèles dans l’interface utilisateur de Unity Gateway ou dans l’Explorateur de catalogues. Pour en créer un par programmatiquement, utilisez l’API REST, les kits de développement logiciel (SDK) Databricks, la CLI Databricks, Terraform ou les Bundles d’automatisation déclarative (DAB).

  1. Effectuez l'une des actions suivantes :

    • Dans la barre latérale du Workspace, cliquez sur AI Gateway , puis ouvrez l'onglet tab et cliquez sur Provider .
    • Dans Catalog Explorer, accédez au schéma où vous souhaitez créer le service de fournisseur de modèle, cliquez sur Créer > Service , puis sélectionnez Service de fournisseur de modèle dans la boîte de dialogue Créer un service .
  2. Saisissez un nom pour le service de fournisseur de modèle, et sélectionnez le catalogue et le schéma dans lesquels le créer. Si vous start à partir de l'Explorateur de catalogue, l'Explorateur de catalogue préremplit le catalogue et le schéma.

  3. Sélectionnez le type de fournisseur, et entrez les détails de connexion et les identifiants du fournisseur.

  4. Cliquez sur Créer. Databricks chiffre et stocke les identifiants. L'interface utilisateur ne les affiche pas au-delà de ce point.

Pour la liste complète des fournisseurs et de leurs méthodes d'authentification, voir Fournisseurs de modèles externes à Databricks.

Authentifier Amazon Bedrock avec un identifiant de service​

Vous pouvez authentifier un fournisseur Amazon Bedrock ou Amazon Bedrock Mantle à l'aide d'un identifiant de service au lieu de stocker une paire de clés d'accès AWS. Un identifiant de service contient un rôle de gestion des identités et des accès (IAM) régis par Unity Catalog, de sorte qu'aucune clé AWS à longue durée de vie n'est copiée dans le service de fournisseur de modèles : Databricks obtient des identifiants à courte durée de vie auprès du rôle pour authentifier chaque requête.

Créez le service de fournisseur de modèles comme décrit dans la section Créer un service de fournisseur de modèles. Sélectionnez Amazon Bedrock ou Amazon Bedrock Mantle comme type de fournisseur, puis définissez Auth method sur Identifiant de service et sélectionnez l'identifiant au lieu de saisir une paire de clés d'accès.

Confirmez les exigences suivantes :

  • Le propriétaire du service de fournisseur de modèle possède ACCESS sur l'identifiant de service. Étant donné que Databricks vérifie à nouveau l'accès du propriétaire lors du traitement des requêtes, ce dernier doit conserver son accès aussi longtemps que le fournisseur est utilisé. La révocation de cet élément interrompt les requêtes pour tout le monde, y compris pour les appelants qui détiennent l'élément EXECUTE sur le fournisseur. Pour accorder au propriétaire l'accès à l'identifiant :

    SQL
    GRANT ACCESS ON SERVICE CREDENTIAL <service-credential-name> TO `<model-provider-service-owner>`;
  • L'objectif de l'identifiant est le service , et non le stockage.

  • L'identifiant est disponible dans les Workspace d'où proviennent les requêtes. Ses liaisons de workspace s'appliquent toujours, de sorte qu'une requête provenant d'un workspace auquel l'identifiant n'est pas lié échouera, même si le service de fournisseur de modèles lui-même est accessible depuis n'importe quel workspace partageant le métastore.

  • Le rôle IAM de l'identifiant de service peut appeler les modèles Bedrock que vous prévoyez d'interroger. Pour en créer un, consultez Créer des identifiants de service.

Les appelants qui interrogent le fournisseur ont besoin des mêmes droits que pour tout autre fournisseur. Ils n'ont besoin d'aucun privilège sur l'identifiant de service, ce qui permet de garder l'identifiant lui-même hors de leur portée.

Le service de fournisseur de modèle suit un identifiant par son identifiant interne, vous pouvez donc renommer un identifiant sans échec de query.

Si vous supprimez une information d'identification, les queries échouent et aucun avertissement n'indique qu'un service de fournisseur de modèles y fait référence. Confirmez qu'il n'existe aucune référence à cet identifiant avant de le supprimer.

Vous ne pouvez pas basculer un service de fournisseur de modèle existant entre l’authentification par identifiant de service et par paire de clés d’accès. Créez plutôt un nouveau service de fournisseur de modèle.

Envoyer une clé d'API de fournisseur personnalisée dans un en-tête​

Un fournisseur personnalisé envoie sa clé API sous forme de jeton porteur par default. Lorsque votre endpoint attend plutôt la clé dans un en-tête spécifique, utilisez l'authentification par en-tête de clé API et nommez l'en-tête vous-même. Databricks envoie ensuite la clé sur chaque requête sortante sous la forme <header name>: <header value>.

Créez le service de fournisseur de modèle comme décrit dans Create a model provider service. Sélectionnez Custom comme type de fournisseur, puis définissez Auth method sur API key header et fournissez le Header name attendu par votre endpoint (tel que X-API-Key ou Ocp-Apim-Subscription-Key) ainsi que la Header value .

Les deux méthodes sont mutuellement exclusives : un fournisseur personnalisé utilise soit un jeton de porteur, soit un en-tête nommé, mais pas les deux. L'authentification par en-tête nécessite exactement un en-tête.

Le nom de l'en-tête doit être un nom d'en-tête HTTP valide : lettres, chiffres et caractères !#$%&'*+-.^_`|~, jusqu'à 255 caractères. Tout autre caractère est rejeté, y compris les espaces, les deux-points, les barres obliques et les sauts de ligne.

Associer un identifiant de fournisseur à un secret Unity Catalog​

Au lieu de stocker les informations d'identification d'un fournisseur en ligne, vous pouvez pointer un service de fournisseur de modèles vers un secret Unity Catalog appartenant au client et contenant la valeur. Databricks lit le secret au moment de la query sous le contrôle d'accès du propriétaire du service de fournisseur de modèles et ne copie jamais la valeur sur ce dernier. Par conséquent, la rotation du secret prend effet sans modification du service de fournisseur de modèles.

Cela fonctionne pour tout fournisseur dont l'identifiant est une valeur unique en ligne : OpenAI, Azure OpenAI, Anthropic, Amazon Bedrock, Amazon Bedrock Mantle, Microsoft Foundry, Google Gemini Enterprise et Custom.

Créez le service de fournisseur de modèle tel que décrit dans Créer un service de fournisseur de modèle. Sélectionnez le type de fournisseur et saisissez ses détails de connexion. Pour l'identifiant (tel que la clé d'API ), changez le type d'authentification de Texte brut à Secret , puis sélectionnez le catalogue, le schéma et le secret qui identifient votre secret Unity Catalog.

Confirmez les exigences suivantes :

  • Le propriétaire du service de fournisseur de modèles dispose de READ SECRET sur le secret Unity Catalog. Étant donné que Databricks vérifie à nouveau l’accès du propriétaire lors du traitement des requêtes, celui-ci doit le conserver tant que le fournisseur est utilisé. La révocation de cet élément interrompt les requêtes pour tout le monde, y compris pour les appelants qui détiennent EXECUTE sur le fournisseur. Pour accorder au propriétaire l’accès au secret :

    SQL
    GRANT READ SECRET ON SECRET <catalog>.<schema>.<secret> TO `<model-provider-service-owner>`;
  • Le secret Unity Catalog existe avant que vous ne le référenciez. Pour créer et régir les secrets Unity Catalog, consultez Secrets in Unity Catalog.

Les appelants qui query le fournisseur ont besoin des mêmes privilèges que pour tout autre fournisseur. Ils n'ont besoin d'aucun privilège sur le secret Unity Catalog, ce qui maintient la valeur du secret hors de leur portée.

Pour effectuer une rotation des informations d’identification, mettez à jour la valeur du secret Unity Catalog sans modifier le service de fournisseur de modèles.

Si vous supprimez le secret Unity Catalog, les query échouent. Le service de fournisseur de modèles conserve la référence désormais rompue afin que vous puissiez voir la dépendance, et vous pouvez restaurer le fournisseur en le mettant à jour pour qu’il fasse référence à un secret qui existe toujours.

La suppression d’un service de fournisseur de modèles ne supprime jamais le secret Unity Catalog auquel il fait référence.

Accorder l’accès à un service de fournisseur de modèles​

Par default, seul le propriétaire du service de fournisseur de modèles peut l’interroger. Pour permettre à d’autres utilisateurs d’interroger un service de fournisseur de modèles, accordez-leur EXECUTE sur celui-ci, ainsi que USE CATALOG et USE SCHEMA sur son catalogue et son schéma. Si le service de fournisseur de modèles enregistre des Logs dans une table d’inférence, accordez SELECT sur la table pour leur permettre de lire les requêtes et les réponses enregistrées.

  1. Ouvrez le service de fournisseur de modèle dans Catalog Explorer, ou accédez à AI Gateway et sélectionnez le service.
  2. Accédez à l'onglet tab .
  3. Cliquez sur Accorder .
  4. Sélectionnez les utilisateurs, les groupes ou les Service Principal auxquels accorder l'accès.
  5. Sélectionnez le privilège EXECUTE .
  6. Cliquez sur Accorder .

Pour en savoir plus sur l’octroi et la découverte d’accès, consultez Découvrir et gouverner l’accès aux fournisseurs de modèles externes (services de fournisseur de modèle).

Configurez les fonctionnalités​

Comme un service de fournisseur de modèles passe par Unity Gateway, appliquez les mêmes fonctionnalités de gouvernance et d’observabilité que celles que vous utilisez pour les autres trafics Unity Gateway :

Configurer un multiplicateur de prix​

Par default, Databricks estime les dépenses en modèles externes à l'aide des prix catalogue publiés par le fournisseur. Si les tarifs de votre fournisseur diffèrent, configurez un multiplicateur de prix pour refléter les remises, ou les marges. Par exemple, 0.8 utilise 80 % du prix catalogue, tandis que 1.2 utilise 120 %.

  1. Créez un service de fournisseur de modèles, ouvrez un service de fournisseur de modèles existant dans l’Explorateur de catalogues ou AI Gateway , puis cliquez sur Modifier .
  2. Développez les options avancées .
  3. Entrez un multiplicateur de prix .
  4. Cliquez sur Créer ou Enregistrer .

Champ de multiplicateur de prix sous les options Avancées de la boîte de dialogue Créer un service de fournisseur de modèle

Le multiplicateur s’applique à tous les modèles disponibles via le service de fournisseur de modèle. La dépense calculée dans system.ai_gateway.external_model_spend reflète le multiplicateur configuré. Les modifications s’appliquent aux demandes effectuées après l’entrée en vigueur de la configuration ; les demandes antérieures restent estimées à l’aide du prix public ou du multiplicateur configuré précédemment.

Un multiplicateur configuré affiche un tag Tarifs personnalisés . Les prix ajustés comportent un soulignement en pointillés dans les tableaux des tarifs. Survolez un prix ajusté pour le comparer au prix catalogue du fournisseur.

Configurer les routes d’Endpoint pour un fournisseur personnalisé​

Les routes d’Endpoint sont facultatives. Utilisez-les lorsqu’un fournisseur personnalisé héberge différents modèles à différents chemins sous le même base_url. Un modèle peut prendre en charge plusieurs types d’API. Chaque modèle dispose d’une route d’Endpoint partagée par les types d’API qu’il prend en charge.

Pour configurer une route, définissez endpoint_route sur la cible afin d’utiliser un chemin relatif, et non une URL complète. Unity Gateway ajoute la route à la fin de base_url, après tout chemin que base_url contient déjà.

  1. Ouvrez la boîte de dialogue Créer un service de fournisseur de modèles comme indiqué dans Créer un service de fournisseur de modèles, puis sélectionnez Personnalisé dans la section Fournisseur .
  2. Dans la section Modèles , saisissez un nom de modèle, sélectionnez les types d’API que ce modèle fournit, puis saisissez un chemin relatif dans Route d’Endpoint (facultatif) .
  3. Cliquez sur Ajouter un modèle . Répétez l’opération pour chaque modèle.
  4. Cliquez sur Créer .

Si vous omettez endpoint_route ou le définissez sur une chaîne vide, Unity Gateway utilise base_url sans le modifier.

native_api_types sélectionne la traduction de l’API pour chaque modèle. Il ne sélectionne ni ne modifie la route en amont.

Mettre à jour un service de fournisseur de modèles​

Vous devez être propriétaire ou disposer de MANAGE. Le type de fournisseur est immuable.

Modifiez la configuration du service de fournisseur de modèles depuis l'interface utilisateur de Unity Gateway ou l'Explorateur de catalogues. Les modifications s'appliquent sur place.

Supprimer un service de fournisseur de modèle​

Vous devez être propriétaire ou disposer de MANAGE.

Ouvrez le service de fournisseur de modèle dans l’interface utilisateur de Unity Gateway ou dans l’Explorateur de catalogues et sélectionnez Supprimer dans le menu kebab.

Étapes suivantes​