Aller au contenu principal

query les fournisseurs de modèles externes (services de fournisseur de modèles)

Interroger des modèles via un service de fournisseur de modèles dans Unity Gateway, qui fournit les informations d'identification stockées et achemine la requête vers le fournisseur externe, de sorte que les appelants ne gèrent pas le secret du fournisseur.

Exigences​

Identifier un service de fournisseur de modèle​

Vous sélectionnez un service de fournisseur de modèle pour une requête avec l'en-tête Databricks-Model-Provider-Service, défini sur le nom en trois parties du service :

Text
Databricks-Model-Provider-Service: main.default.openai_prod

Authentifiez-vous avec votre jeton Databricks, et non avec les identifiants du fournisseur. L'URL de base est l'URL de votre Workspace suivie de /ai-gateway.

Interroger les APIs prises en charge​

Les chemins gérés rendent disponible l’API de chaque fournisseur sous un chemin Unity Gateway stable. Unity Gateway assure la traduction entre la requête et le fournisseur, applique la gouvernance telle que les garde-fous et les limites de débit, et enregistre l’utilisation. Il s’agit de la méthode recommandée pour query un service de fournisseur de modèles.

L'exemple suivant envoie une achèvement de chat via un service de fournisseur de modèles OpenAI en utilisant le chemin OpenAI géré. Comme la requête utilise l'API Chat Completions d'OpenAI, vous pouvez pointer le client OpenAI vers l'URL de base de Unity Gateway.

Python
from openai import OpenAI

client = OpenAI(
api_key="<databricks-token>",
base_url="https://<workspace-url>/ai-gateway/openai/v1",
default_headers={&quot;Databricks-Model-Provider-Service&quot;: &quot;main.default.openai_prod&quot;},
)

response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Say hello in exactly 3 words."}],
)
print(response.choices[0].message.content)

Le chemin géré que vous appelez dépend de l'API du fournisseur :

API Fournisseur

Chemin d'accès géré

OpenAI (achèvements du chat)

/ai-gateway/openai/v1/chat/completions

OpenAI (réponses)

/ai-gateway/openai/v1/responses

OpenAI (intégrations)

/ai-gateway/openai/v1/embeddings

Anthropic (messages)

/ai-gateway/anthropic/v1/messages

Gemini (générer du contenu)

/ai-gateway/gemini/v1beta/models/<model>:generateContent

Gemini (générez du contenu avec des réponses en streaming)

/ai-gateway/gemini/v1beta/models/<model>:streamGenerateContent

API Fournisseur

Chemin d'accès géré

OpenAI (achèvements du chat)

/ai-gateway/openai/v1/chat/completions

OpenAI (réponses)

/ai-gateway/openai/v1/responses

OpenAI (intégrations)

/ai-gateway/openai/v1/embeddings

Anthropic (messages)

/ai-gateway/anthropic/v1/messages

Gemini (générer du contenu)

/ai-gateway/gemini/v1beta/models/<model>:generateContent

Gemini (générez du contenu avec des réponses en streaming)

/ai-gateway/gemini/v1beta/models/<model>:streamGenerateContent

Le modèle dans le corps de la requête (ou le segment de chemin Gemini) doit être un modèle que le service de fournisseur de modèle autorise.

Query d'autres APIs (Passthrough)​

Si un chemin géré ne couvre pas un endpoint de fournisseur, tel qu’un fichier OpenAI ou un endpoint de batch, vous pouvez transmettre la requête au fournisseur sans modification. Unity Gateway supprime le préfixe /ai-gateway, joint les informations d’identification stockées et transfère le chemin restant au fournisseur.

Pour activer le passthrough non géré, sélectionnez **Transférer tous les chemins d'URL** sous **Options avancées** lorsque vous créez ou mettez à jour le service de fournisseur de modèle dans l'interface utilisateur.

remarque

Le suivi de l'utilisation et du coût des jetons, les limites de débit basées sur les jetons, le contrôle d'accès au modèle et les politiques de service ne s'appliquent pas aux requêtes de transfert.

Après avoir activé la transmission, appelez le chemin natif du fournisseur sous /ai-gateway. Par exemple, listez les fichiers sur l'Endpoint de fichiers OpenAI :

Bash
curl https://<workspace-url>/ai-gateway/files \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Databricks-Model-Provider-Service: main.default.openai_prod"

En-têtes et transfert des paramètres de query​

Par default, Unity Gateway ne transmet pas les en-têtes de requête ou les parameters de query du client au fournisseur en amont. Deux indicateurs de configuration de service modifient ce comportement, et ils s’appliquent aux chemins gérés et non gérés :

  • forward_headers: Lorsque true, Unity Gateway transmet les en-têtes de requête client au fournisseur. Activez cette option lorsqu’un fournisseur exige un en-tête que Unity Gateway ne définit pas pour vous, tel que OpenAI-Organization.
  • forward_query_parameters: Lorsque true, Unity Gateway transfère les paramètres de query du client au fournisseur.

Définissez-les sur le service de fournisseur de modèles comme tout autre champ de configuration :

Bash
curl https://<workspace-url>/api/2.1/unity-catalog/model-provider-services/main.default.openai_prod \
-X PATCH \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-G \
--data-urlencode "update_mask=config.forward_headers,config.forward_query_parameters" \
--data '{ "config": { "forward_headers": true, "forward_query_parameters": true } }'

Étapes suivantes​