Endpoint de consulta AI Gateway
Beta
Este recurso está em versão Beta. Os administradores da conta podem controlar o acesso a este recurso na página de pré-visualizações do console account . Veja as prévias do Gerenciador Databricks.
Esta página descreve como consultar o endpoint AI Gateway (Beta) usando APIs compatíveis.
Requisitos
- A versão beta (prévia) AI Gateway está ativada para sua account. Veja as prévias do Gerenciador Databricks.
- Um workspace Databricks em uma região compatível com oAI Gateway (Beta).
- Unity Catalog está habilitado para seu workspace. Consulte Ativar um workspace para Unity Catalog.
APIs e integrações suportadas
O AI Gateway oferece suporte às seguintes APIs e integrações:
-
APIs unificadas : interfaces compatíveis com OpenAI para consultar modelos no Databricks. Alterne facilmente entre modelos de diferentes fornecedores sem alterar a forma como consulta cada modelo.
-
APIsnativas : Interfaces específicas do provedor para acessar o modelo mais recente e os recursos específicos do provedor.
-
Agentes de codificação : Integre seus agentes de codificação com AI Gateway para adicionar governança e monitoramento centralizados ao seu fluxo de trabalho de desenvolvimento assistido AI . Consulte Integrar com agentes de codificação.
Endpoint de consulta com APIsunificadas
As APIs unificadas oferecem uma interface compatível com OpenAI para consultar modelos no Databricks. Utilize APIs unificadas para alternar facilmente entre modelos de diferentes fornecedores sem alterar seu código.
API de conclusões de bate-papo 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://<ai-gateway-url>/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)
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://<ai-gateway-url>/mlflow/v1/chat/completions
Substitua <ai-gateway-url> pela URL do seu AI Gateway e <ai-gateway-endpoint> pelo nome do endpoint do seu AI Gateway.
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://<ai-gateway-url>/mlflow/v1"
)
embeddings = client.embeddings.create(
input="What is Databricks?",
model="<ai-gateway-endpoint>"
)
print(embeddings.data[0].embedding)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<ai-gateway-endpoint>",
"input": "What is Databricks?"
}' \
https://<ai-gateway-url>/mlflow/v1/embeddings
Substitua <ai-gateway-url> pela URL do seu AI Gateway e <ai-gateway-endpoint> pelo nome do endpoint do seu AI Gateway.
Endpoint de consulta com APIsnativas
As APIs nativas oferecem interfaces específicas do provedor para consultar modelos no Databricks. Utilize APIs nativas para acessar o recurso mais recente específico do provedor.
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://<ai-gateway-url>/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)
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://<ai-gateway-url>/openai/v1/responses
Substitua <ai-gateway-url> pela URL do seu AI Gateway e <ai-gateway-endpoint> pelo nome do endpoint do seu AI Gateway.
APIde MensagensAnthropic
- Python
- REST API
import anthropic
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = anthropic.Anthropic(
api_key="unused",
base_url="https://<ai-gateway-url>/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)
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://<ai-gateway-url>/anthropic/v1/messages
Substitua <ai-gateway-url> pela URL do seu AI Gateway e <ai-gateway-endpoint> pelo nome do endpoint do seu AI Gateway.
API 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://<ai-gateway-url>/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)
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://<ai-gateway-url>/gemini/v1beta/models/<ai-gateway-endpoint>:generateContent
Substitua <ai-gateway-url> pela URL do seu AI Gateway e <ai-gateway-endpoint> pelo nome do endpoint do seu AI Gateway.