query provedores de modelos externos (serviços de provedor de modelo)
Faça uma query em um provedor de modelo externo (serviço de provedor de modelo) por meio do Unity AI Gateway, que fornece as credenciais armazenadas e encaminha a solicitação para o provedor externo, para que os chamadores não manipulem o segredo do provedor.
Requisitos
- As seguintes permissões são necessárias. Consulte Descobrir e governar o acesso a provedores de modelos externos (serviços de provedor de modelos).
EXECUTEno serviço de provedor de modeloUSE CATALOGno catálogoUSE SCHEMAno esquema
Identifique um serviço de provedor de modelos
Selecione um serviço de provedor de modelos para uma solicitação com o cabeçalho Databricks-Model-Provider-Service, definido para o nome de três partes do serviço:
Databricks-Model-Provider-Service: main.default.openai_prod
Autentique-se com seu token Databricks, não com a credencial do provedor. A URL base é sua URL de workspace seguida por /ai-gateway.
Consultar APIs Suportadas
Os caminhos gerenciados disponibilizam a API de cada provedor em um caminho estável do Unity AI Gateway. O Unity AI Gateway traduz entre a solicitação e o provedor, aplica governança como guardrails e limites de taxa, e registra o uso. Esta é a forma recomendada de consultar um serviço de provedor de modelo.
O exemplo a seguir envia uma conclusão de chat por meio de um serviço de provedor de modelos da OpenAI usando o caminho gerenciado da OpenAI. Como a solicitação usa a API de Conclusão do Chat da OpenAI, é possível direcionar o cliente OpenAI para a URL base do Unity AI Gateway.
- Python
- REST
from openai import OpenAI
client = OpenAI(
api_key="<databricks-token>",
base_url="https://<workspace-url>/ai-gateway/openai/v1",
default_headers={"Databricks-Model-Provider-Service": "main.default.openai_prod"},
)
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)
curl https://<workspace-url>/ai-gateway/openai/v1/chat/completions \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Databricks-Model-Provider-Service: main.default.openai_prod" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Say hello in exactly 3 words."}]
}'
O caminho gerenciado que você chama depende da API do provedor:
API do Provedor | Caminho gerenciado |
|---|---|
OpenAI (conclusões de chat) |
|
OpenAI (respostas) |
|
OpenAI (incorporações) |
|
Anthropic (mensagens) |
|
Gemini (gerar conteúdo) |
|
Gemini (gerar conteúdo com respostas de transmissão) |
|
O modelo no corpo da solicitação (ou o segmento de caminho do Gemini) deve ser um modelo que o serviço de provedor de modelo permite.
Consultar Outras APIs (Passagem)
Se um caminho gerenciado não cobrir um endpoint do provedor, como um endpoint de arquivo ou de lotes da OpenAI, você poderá passar a solicitação para o provedor sem alterações. O Unity AI Gateway remove o prefixo /ai-gateway, anexa a credencial armazenada e encaminha o caminho restante para o provedor.
Para habilitar o passthrough não gerenciado, selecione **Encaminhar todos os caminhos de URL** em **Opções avançadas** ao criar ou atualizar o serviço de provedor de modelo na UI.
O token de uso e o acompanhamento de custo, os limites de taxa baseados em tokens, o controle de acesso a modelos e as políticas de serviço não se aplicam a solicitações de passthrough.
Depois de habilitar o passthrough, chame o caminho nativo do provedor em /ai-gateway. Por exemplo, liste arquivos no endpoint de arquivos do OpenAI:
curl https://<workspace-url>/ai-gateway/files \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Databricks-Model-Provider-Service: main.default.openai_prod"
Encaminhamento de cabeçalhos e parâmetros de query
Por default, o Unity AI Gateway não passa os cabeçalhos de solicitação ou parâmetros de consulta do cliente para o provedor upstream. Duas flags de configuração de serviço alteram isso, e elas se aplicam a caminhos gerenciados e não gerenciados:
forward_headers: Quandotrue, o Unity AI Gateway encaminha os cabeçalhos de solicitação do cliente para o provedor. Habilite isso quando um provedor exigir um cabeçalho que o Unity AI Gateway não define para você, comoOpenAI-Organization.forward_query_parameters: Quandotrue, o Unity AI Gateway encaminha os parâmetros de query do cliente para o provedor.
Configure-os no serviço de provedor de modelo como qualquer outro campo de configuração:
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 } }'
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. O Unity AI Gateway registra tags de solicitação na coluna request_tags, tanto na tabela do sistema de acompanhamento de uso quanto nas tabelas de inferência. É possível então acompanhar os custos, atribuir o uso e filtrar a analítica por projeto, equipe, ambiente ou 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" }
Envie o cabeçalho de tags junto com o cabeçalho Databricks-Model-Provider-Service. Use o parâmetro extra_headers (Python) ou passe o cabeçalho diretamente (API REST):
- Python
- REST
from openai import OpenAI
import json
client = OpenAI(
api_key="<databricks-token>",
base_url="https://<workspace-url>/ai-gateway/openai/v1",
default_headers={"Databricks-Model-Provider-Service": "main.default.openai_prod"},
)
request_tags = {"project": "chatbot", "team": "ml-platform"}
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "What is Databricks?"}],
extra_headers={"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)},
)
curl https://<workspace-url>/ai-gateway/openai/v1/chat/completions \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Databricks-Model-Provider-Service: main.default.openai_prod" \
-H "Content-Type: application/json" \
-H 'Databricks-Ai-Gateway-Request-Tags: {"project": "chatbot", "team": "ml-platform"}' \
-d '{
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "What is Databricks?"}]
}'