Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Utiliza Unity AI Gateway para consultar servicios de modelo en Unity Catalog con APIs de modelos de Azure Databricks, utilizando el SDK compatible con OpenAI, APIs nativas de proveedores o SQL.
Nota:
Cuando un servicio de modelo redirige a un destino servicio de proveedor de modelos, solo se aplican las características de Unity AI Gateway del servicio de modelo (como los límites de tasa, las medidas de seguridad, las tablas de inferencia y los planes de contingencia). Se omite cualquier función de Unity AI Gateway configurada en el propio servicio del proveedor de modelos.
Empieza a consultar APIs de modelos
Consulta una API de modelo en dos pasos:
Paso 1: Elige una API de modelo lista para usar
Azure Databricks proporciona APIs de modelos listas para usar en el system.ai esquema, como system.ai.claude-sonnet-4-5 y system.ai.gpt-5-6-sol. Estos están disponibles inmediatamente sin necesidad de configuración adicional.
Paso 2: Envía una solicitud usando la API unificada compatible con OpenAI
Utiliza la API de MLflow Chat Completions con el SDK de Python de OpenAI:
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN, # your personal access token
base_url="https://<workspace-url>/ai-gateway/mlflow/v1" # your Databricks workspace instance
)
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "What is Databricks?"},
],
model="system.ai.claude-sonnet-4-5",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
Para otras opciones, véase Empezar a consultar LLMs en Databricks.
Requirements
- Un área de trabajo de Azure Databricks en una región compatible con Unity AI Gateway.
- Unity Catalog habilitado para su área de trabajo. Consulte Habilitar un área de trabajo para Unity Catalog.
- Permiso del espacio de trabajo para realizar consultas: Acceso al espacio de trabajo, o Acceso del consumidor con la versión preliminar de Acceso del consumidor a Unity AI Gateway habilitada para tu cuenta (Versión preliminar pública). Consulta Administrar derechos y Administrar las versiones preliminares de Azure Databricks.
APIs e integraciones admitidas
Unity AI Gateway admite las siguientes API e integraciones:
- Unified API: interfaces compatibles con OpenAI para consultar modelos en Azure Databricks. Cambie perfectamente entre modelos de diferentes proveedores sin cambiar la forma de consultar cada modelo.
- API nativas: interfaces específicas del proveedor para acceder al modelo y las características específicas del proveedor más recientes.
- Agentes de codificación: integre los agentes de codificación con Unity AI Gateway para agregar gobernanza y supervisión centralizadas a los flujos de trabajo de desarrollo asistidos por IA. Consulte Integración del agente de codificación.
- Agentes en Databricks Apps: Crear e implementar agentes en Databricks Apps que redirigen el tráfico de LLM a través de Unity AI Gateway. Consulte Paso 4. Administrar el uso de LLM de sus agentes en aplicaciones de Databricks con Unity AI Gateway.
-
ai_query: Useai_querypara consultar los servicios de modelos proporcionados por Azure Databricks desde SQL o Python para realizar inferencias por lotes. Consulte Consultar Modelo de servicioss conai_query.
Consulta de servicios de modelo con API unificadas
Las API unificadas ofrecen una interfaz compatible con OpenAI para consultar modelos en Azure Databricks. Use API unificadas para cambiar sin problemas entre modelos de diferentes proveedores sin cambiar el código.
API de finalizaciones de chat de MLflow
API de finalizaciones de chat de MLflow
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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
API de inserción de MLflow
API de inserción de MLflow
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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
Supervisor API
Supervisor API
La API supervisor (/mlflow/v1/responses) es una API independiente del proveedor y compatible con OpenResponses para compilar agentes en Beta. Los administradores del espacio de trabajo pueden activarlo desde la página de Previsualizaciones . Consulte Administrar versiones preliminares de Azure Databricks. Elija el mejor modelo para el caso de uso del agente entre proveedores, sin cambiar el código.
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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
Consultar los servicios del modelo con ai_query
Puedes usar la ai_query función para consultar servicios de modelos directamente desde SQL o Python. Esto le permite capturar información de seguimiento del uso para las cargas de trabajo de inferencia por lotes.
Nota:
-
ai_queryel soporte para Unity AI Gateway solo está disponible para modelos proporcionados por Azure Databricks. Proporcione el nombre del endpoint del modelo fundacional de Azure Databricks, que incluye el prefijodatabricks-(por ejemplo,databricks-claude-sonnet-4-5odatabricks-gpt-5-6-sol), en lugar del nombre del servicio de modelosystem.aiutilizado en otras partes de esta página. Los servicios de modelo que cree en Unity AI Gateway aún no se admiten. - Solo el seguimiento del uso se aplica a
ai_querylas cargas de trabajo de inferencia por lotes. Otras características de Unity AI Gateway, como los límites de tasa, las salvaguardas, las tablas de inferencia y los mecanismos de respaldo, no se aplican.
Para consultar un servicio modelo con ai_query, ejecuta ai_query contra un servicio modelo:
SELECT ai_query(
'databricks-claude-sonnet-4-5',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
La tabla del sistema de seguimiento del uso (system.ai_gateway.usage) captura las solicitudes realizadas a través de ai_query a los servicios de modelos. Estas solicitudes también aparecen en el panel de uso integrado.
Para obtener una sintaxis completa ai_query y una referencia de parámetros, consulte ai_query function. Para conocer los procedimientos recomendados y los modelos admitidos, consulte Uso de ai_query.
Consulta de servicios de modelo con API nativas
Las API nativas ofrecen interfaces específicas del proveedor para consultar modelos en Azure Databricks. Use las API nativas para acceder a las características específicas del proveedor más recientes.
Cada API nativa solo funciona con servicios de modelo cuyo modelo subyacente usa el formato de API coincidente:
- Use la API de respuestas de OpenAI para consultar los servicios de modelo respaldados por modelos openAI (GPT).
- Utiliza la API de mensajes de Anthropic para consultar los servicios del modelo basados en los modelos de Claude.
- Usa la Google Gemini API para consultar servicios de modelos basados en modelos Gemini.
Para consultar un servicio de modelo independientemente de su modelo subyacente, use las API unificadas en su lugar.
API de respuestas de OpenAI
API de respuestas de 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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
API de mensajes de Anthropic
API de mensajes de 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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.
Solicitudes de etiquetas para el seguimiento de uso
Puede adjuntar etiquetas de clave-valor personalizadas a solicitudes individuales mediante el Databricks-Ai-Gateway-Request-Tags encabezado HTTP. Las etiquetas de solicitud se registran en la request_tags columna tanto en la tabla del sistema de seguimiento de uso como en las tablas de inferencia, lo que permite realizar un seguimiento de los costos, el uso de atributos y el análisis de filtros por proyecto, equipo, entorno o cualquier otra dimensión.
El valor del encabezado debe ser un objeto JSON que asigna claves de cadena a valores de cadena. Por ejemplo:
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }
Use el parámetro extra_headers (Python) o pase el encabezado directamente (API REST) para adjuntar etiquetas a una solicitud:
Python (SDK de 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 de 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
Reemplace por <workspace-url> la dirección URL del área de trabajo de Azure Databricks y <model-service> por el nombre completo del servicio de modelo.