Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite 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 les aperçus Manage Azure Databricks.
Cette page explique comment interroger des points de terminaison Unity AI Gateway à l’aide d’API prises en charge.
Spécifications
- Préversion de Unity AI Gateway activée pour votre compte. Consultez les aperçus Manage 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 Intégrer à des agents de codage.
- Agents sur Databricks Apps : Créez et déployez des agents IA 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.
Interroger des points de terminaison 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.
MLflow Chat Completions API
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="<ai-gateway-endpoint>",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"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 l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
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="<ai-gateway-endpoint>"
)
print(embeddings.data[0].embedding)
API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"input": "What is Databricks?"
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/embeddings
Remplacez <workspace-url> par l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
API Supervisor
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 les aperçus Manage 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="<ai-gateway-endpoint>",
input=[{"role": "user", "content": "What is Databricks?"}]
)
print(response.output_text)
API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"input": [
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/responses
Remplacez <workspace-url> par l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
Interroger des points de terminaison 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.
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="<ai-gateway-endpoint>",
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)
API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"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 l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
Anthropic Messages API
API de messages anthropiques
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="<ai-gateway-endpoint>",
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)
API REST
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"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 l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
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="<ai-gateway-endpoint>",
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)
API REST
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/<ai-gateway-endpoint>:generateContent
Remplacez <workspace-url> par l’URL de votre espace de travail Azure Databricks et <ai-gateway-endpoint> par le nom de votre point de terminaison Unity AI Gateway.
Prochaines étapes
- Passerelle IA Unity pour les agents et les LLM
- Configurer les points de terminaison Unity AI Gateway
- Intégrer à des agents de codage
-
API superviseur (bêta) — exécuter des flux de travail d'agents à plusieurs tours avec des outils hébergés via
/mlflow/v1/responses
Étape 4. Gérez l’utilisation de LLM de vos agents sur les applications Databricks avec Unity AI Gateway — acheminer les appels LLM d'agents sur les applications Databricks via Unity AI Gateway
Surveiller l’utilisation des points de terminaison unity AI Gateway
Configurer des limites de débit pour les points de terminaison Unity AI Gateway