Consultar serviços de modelo
Beta
Esse recurso está em Beta. Administradores da conta podem controlar o acesso a este recurso na página Prévias do console da conta. Consulte Gerenciar prévias do Databricks.
Esta página descreve como consultar serviços de modelo no Unity Catalog usando APIs compatíveis.
Requisitos
- Prévia do Unity AI Gateway ativada para sua account. Consulte Gerenciar prévias do Databricks.
- Um workspace do Databricks em uma região suportada pelo Unity AI Gateway.
- Unity Catalog habilitado para seu workspace. Consulte Ativar um workspace para o Unity Catalog.
APIs e Integrações Suportadas
O Unity AI Gateway suporta as seguintes APIs e integrações:
-
APIs unificadas : Interfaces compatíveis com OpenAI para consultar modelos no Databricks. Alterne perfeitamente entre modelos de diferentes provedores sem alterar a forma como você consulta cada modelo.
-
APIs Nativas : Interfaces específicas do provedor para acessar o modelo mais recente e recursos específicos do provedor.
-
**Agentes de codificação**: integre seus agentes de codificação com o Unity AI Gateway para adicionar governança centralizada e monitoramento aos seus fluxos de trabalho de desenvolvimento assistidos por IA. Consulte a integração do agente de codificação.
-
Agentes nos Databricks Apps : Crie e implantado agentes de AI nos Databricks Apps que roteiam o tráfego de LLM por meio do Unity AI Gateway. Consulte o passo 4. Governe o uso de LLM de seus agentes nos Databricks Apps com o Unity AI Gateway.
-
ai_query: Useai_querypara consultar os serviços de modelo fornecidos pelo Databricks do SQL ou Python para inferência em lote. Consulte serviços de modelo comai_query.
Consultar serviços de modelo com ai_query
É possível usar a ai_query função para consultar os serviços de modelo fornecidos pelo Databricks diretamente do SQL ou Python. Isso permite capturar informações de acompanhamento de uso para suas cargas de trabalho de inferência em lote.
ai_queryO suporte para o Unity AI Gateway está disponível apenas para serviços de modelo fornecidos pela Databricks (por exemplo,databricks-gpt-5-4oudatabricks-claude-sonnet-4). Os serviços de modelo que você cria no Unity AI Gateway ainda não são compatíveis.- Somente o acompanhamento de uso se aplica às cargas de trabalho de inferência em lote
ai_query. Outros recursos do Unity AI Gateway, como limites de taxa, guardrails, tabelas de inferência e fallbacks, não se aplicam.
Para começar:
- Habilite a pré-visualização do Unity AI Gateway para sua account. Consulte Gerenciar prévias do Databricks.
- Consulte um serviço de modelo fornecido pelo Databricks usando
ai_query:
SELECT ai_query(
'databricks-gpt-5-4',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
As solicitações feitas por meio de ai_query para serviços de modelo fornecidos pelo Databricks são capturadas na tabela do sistema de acompanhamento de uso (system.ai_gateway.usage). Essas solicitações também aparecem no painel de uso integrado.
Para a sintaxe completa ai_query e referência de parâmetros, consulte a ai_query função. Para melhores práticas e modelos compatíveis, consulte Use ai_query.
Consultar serviços de modelo com APIs unificadas
As APIs unificadas oferecem uma interface compatível com OpenAI para consultar modelos no Databricks. Use APIs unificadas para alternar facilmente entre modelos de diferentes provedores sem alterar seu código.
API de Conclusões de Chat do MLflow
API de Conclusões de Chat do MLflow
- Python
- REST API
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)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.
API de Embeddings MLflow
API de Embeddings do MLflow
- Python
- REST API
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)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.
API do Supervisor
API do Supervisor
Consultar serviços de modelo com APIs nativas
APIs nativas oferecem interfaces específicas do provedor para consultar modelos no Databricks. Use APIs nativas para acessar os recursos específicos mais recentes do provedor.
API de Respostas da OpenAI
API de respostas da OpenAI
- Python
- REST API
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)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.
API de Mensagens da Anthropic
API de Mensagens do Anthropic
- Python
- REST API
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)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.
API Gemini do Google
API do Google Gemini
- Python
- REST API
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)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.
Solicitações de tag para acompanhamento de uso
Você pode anexar tags key-value personalizadas a solicitações individuais usando o cabeçalho HTTP Databricks-Ai-Gateway-Request-Tags. As tags de solicitação são registradas em log na coluna request_tags tanto na tabela do sistema de acompanhamento de uso quanto nas tabelas de inferência, permitindo que você acompanhe custos, atribua uso e filtre analítica por projeto, equipe, ambiente ou qualquer outra dimensão.
O valor do cabeçalho deve ser um objeto JSON que mapeia key de strings para valores de strings. Por exemplo:
{ "project": "chatbot", "team": "ml-platform", "environment": "production" }
Use o parâmetro extra_headers (Python) ou passe o cabeçalho diretamente (API REST) para anexar tags a uma solicitação:
- Python (OpenAI SDK)
- Python (Anthropic SDK)
- REST API
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)
}
)
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?"},
],
)
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
Substitua <workspace-url> pelo URL do seu workspace do Databricks e <model-service> pelo nome totalmente qualificado do seu serviço de modelo.