Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Cette fonctionnalité est en version bêta. Les administrateurs de compte peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus de la console de compte. Consultez Gérer les préversions d’Azure Databricks.
Cette page explique comment interroger des services de modèle dans le catalogue Unity à l’aide d’API prises en charge.
Requirements
- Préversion de Unity AI Gateway activée pour votre compte. Consultez Gérer les préversions d’Azure Databricks.
- Espace de travail Azure Databricks dans une région prise en charge par Unity AI Gateway.
- Catalogue Unity activé pour votre espace de travail. Consultez Activer un espace de travail pour le Catalogue Unity.
API et intégrations prises en charge
Unity AI Gateway prend en charge les API et intégrations suivantes :
- APIs Unifiées : interfaces compatibles avec OpenAI pour interroger des modèles sur Azure Databricks. Basculez en toute transparence entre les modèles de différents fournisseurs sans modifier la façon dont vous interrogez chaque modèle.
- API natives : interfaces spécifiques au fournisseur pour accéder aux dernières fonctionnalités spécifiques au modèle et au fournisseur.
- Agents de codage : intégrez vos agents de codage à Unity AI Gateway pour ajouter une gouvernance centralisée et une surveillance à vos flux de travail de développement assistés par l’IA. Consultez l’intégration de l’agent de codage.
- Agents sur Databricks Apps : Créez et déployez des agents sur Databricks Apps qui routent le trafic LLM via Unity AI Gateway. Voir l’étape 4. Gérer l’utilisation de LLM par vos agents sur Databricks Apps avec Unity AI Gateway.
-
ai_query: Utilisezai_querypour interroger les services de modèles fournis par Azure Databricks depuis SQL ou Python pour l’inférence par lots. Consultez Interroger les services de modèles avecai_query.
Interroger des services de modèle avec ai_query
Vous pouvez utiliser la ai_query fonction pour interroger des services de modèle Azure Databricks fournis directement à partir de SQL ou de Python. Cela vous permet de capturer les informations de suivi de l’utilisation pour vos charges de travail d’inférence par lots.
Note
-
ai_queryLa prise en charge de Unity AI Gateway n’est disponible que pour les services de modèle fournis par Azure Databricks (par exemple,databricks-gpt-5-4oudatabricks-claude-sonnet-4). Les services de modèle que vous créez dans Unity AI Gateway ne sont pas encore pris en charge. - Seul le suivi de l’utilisation s’applique aux
ai_querycharges de travail d’inférence par lots. D’autres fonctionnalités de Unity AI Gateway, telles que les limitations de débit, les garde-fous, les tables d’inférence et les mécanismes de repli, ne s’appliquent pas.
Pour démarrer :
- Activez la préversion de Unity AI Gateway pour votre compte. Consultez Gérer les préversions d’Azure Databricks.
- Interrogez un service de modèle fourni par Azure Databricks à l’aide de
ai_query:
SELECT ai_query(
'databricks-gpt-5-4',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
Les demandes adressées ai_query aux services de modèle fournis par Azure Databricks sont capturées dans la table système de suivi de l’utilisation (system.ai_gateway.usage). Ces demandes apparaissent également dans le tableau de bord d’utilisation intégré.
Pour obtenir la syntaxe complète ai_query et la référence des paramètres, consultez ai_query la fonction. Pour connaître les meilleures pratiques et les modèles pris en charge, consultez Utiliser ai_query.
Interroger des services de modèle avec des API unifiées
Les API unifiées offrent une interface compatible OpenAI pour interroger des modèles sur Azure Databricks. Utilisez des API unifiées pour basculer en toute transparence entre les modèles de différents fournisseurs sans modifier votre code.
API MLflow Chat Completions
MLflow API de complétions de chat
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"},
],
model="<model-service>",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
MLflow Embeddings API
MLflow Embeddings API
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
embeddings = client.embeddings.create(
input="What is Databricks?",
model="<model-service>"
)
print(embeddings.data[0].embedding)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"input": "What is Databricks?"
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/embeddings
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
API du superviseur
API superviseur
L’API Supervisor (/mlflow/v1/responses) est une API indépendante du fournisseur compatible OpenResponses pour la génération d’agents en version bêta. Les administrateurs de compte peuvent activer l’accès à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks. Choisissez le meilleur modèle pour votre cas d’usage d’agent entre les fournisseurs, sans modifier votre code.
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
response = client.responses.create(
model="<model-service>",
input=[{"role": "user", "content": "What is Databricks?"}]
)
print(response.output_text)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"input": [
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/responses
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
Interroger des services de modèle avec des API natives
Les API natives offrent des interfaces spécifiques au fournisseur pour interroger des modèles sur Azure Databricks. Utilisez des API natives pour accéder aux dernières fonctionnalités spécifiques au fournisseur.
Chaque API native fonctionne uniquement avec les services de modèle dont le modèle sous-jacent utilise le format d’API correspondant :
- Utilisez l’API Réponses OpenAI pour interroger les services de modèle soutenus par des modèles OpenAI (GPT).
- Utilisez l’API Anthropic Messages pour interroger les services de modèle soutenus par les modèles Claude.
- Utilisez l’API Google Gemini pour interroger les services de modèle soutenus par les modèles Gemini.
Pour interroger un service de modèle quel que soit son modèle sous-jacent, utilisez plutôt les API unifiées .
API Réponses OpenAI
API de réponses OpenAI
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/openai/v1"
)
response = client.responses.create(
model="<model-service>",
max_output_tokens=256,
input=[
{
"role": "user",
"content": [{"type": "input_text", "text": "Hello!"}]
},
{
"role": "assistant",
"content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
},
{
"role": "user",
"content": [{"type": "input_text", "text": "What is Databricks?"}]
}
]
)
print(response.output)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"max_output_tokens": 256,
"input": [
{
"role": "user",
"content": [{"type": "input_text", "text": "Hello!"}]
},
{
"role": "assistant",
"content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
},
{
"role": "user",
"content": [{"type": "input_text", "text": "What is Databricks?"}]
}
]
}' \
https://<workspace-url>/ai-gateway/openai/v1/responses
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
API Anthropic Messages
API Messages d’Anthropic
Python
import anthropic
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = anthropic.Anthropic(
api_key="unused",
base_url="https://<workspace-url>/ai-gateway/anthropic",
default_headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
)
message = client.messages.create(
model="<model-service>",
max_tokens=256,
messages=[
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"},
],
)
print(message.content[0].text)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/anthropic/v1/messages
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
Google Gemini API
Google Gemini API
Python
from google import genai
from google.genai import types
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://<workspace-url>/ai-gateway/gemini",
headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)
response = client.models.generate_content(
model="<model-service>",
contents=[
types.Content(
role="user",
parts=[types.Part(text="Hello!")],
),
types.Content(
role="model",
parts=[types.Part(text="Hello! How can I assist you today?")],
),
types.Content(
role="user",
parts=[types.Part(text="What is Databricks?")],
),
],
config=types.GenerateContentConfig(
max_output_tokens=256,
),
)
print(response.text)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [{"text": "Hello!"}]
},
{
"role": "model",
"parts": [{"text": "Hello! How can I assist you today?"}]
},
{
"role": "user",
"parts": [{"text": "What is Databricks?"}]
}
],
"generationConfig": {
"maxOutputTokens": 256
}
}' \
https://<workspace-url>/ai-gateway/gemini/v1beta/models/<model-service>:generateContent
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.
Étiqueter les demandes de suivi de l’utilisation
Vous pouvez attacher des balises clé-valeur personnalisées à des requêtes individuelles à l’aide de l’en-tête Databricks-Ai-Gateway-Request-Tags HTTP. Les balises de requête sont consignées dans la request_tags colonne dans la table système de suivi de l’utilisation et les tables d’inférence, ce qui vous permet de suivre les coûts, l’utilisation des attributs et d’analyser les filtres par projet, équipe, environnement ou toute autre dimension.
La valeur d’en-tête doit être un objet JSON qui associe des clés de chaîne à des valeurs de chaîne. Par exemple:
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }
Utilisez le paramètre extra_headers (Python) ou transmettez directement l’en-tête (API REST) pour attacher des balises à une requête :
Python (Kit de développement logiciel OpenAI)
from openai import OpenAI
import json
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
request_tags = {"project": "chatbot", "team": "ml-platform"}
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "What is Databricks?"},
],
model="<model-service>",
max_tokens=256,
extra_headers={
"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)
}
)
Python (SDK Anthropic)
import anthropic
import json
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
request_tags = {"project": "chatbot", "team": "ml-platform"}
client = anthropic.Anthropic(
api_key="unused",
base_url="https://<workspace-url>/ai-gateway/anthropic",
default_headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags),
},
)
message = client.messages.create(
model="<model-service>",
max_tokens=256,
messages=[
{"role": "user", "content": "What is Databricks?"},
],
)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-H 'Databricks-Ai-Gateway-Request-Tags: {"project": "chatbot", "team": "ml-platform"}' \
-d '{
"model": "<model-service>",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions
Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.