Consulte um modelo de bate-papo
Neste artigo, você aprenderá como escrever solicitações de consulta para modelos de base otimizados para tarefas de bate-papo e de uso geral e enviá-las ao seu endpoint de modelo de posto.
Os exemplos neste artigo se aplicam à consulta de modelos básicos disponibilizados usando:
- APIs de modelos básicos, referidos como modelos básicos hospedados pela Databricks.
- Modelos externos referidos como modelos básicos hospedados fora do Databricks .
Requisitos
- Consulte os requisitos.
- Instale o pacote apropriado para o seu clustering com base na opção de cliente de consulta escolhida.
Exemplos de consultas
Os exemplos nesta seção mostram como consultar um endpoint de pagamento por token API do Foundation Model usando as diferentes opções de cliente.
Para obter um exemplo de inferência de lotes, consulte Aplicar AI no uso de dados Databricks AI Functions.
- OpenAI Chat Completions
- OpenAI Responses
- SQL
- REST API
- MLflow Deployments SDK
- Databricks Python SDK
- LangChain
Para utilizar o cliente OpenAI, especifique o nome do modelo em execução endpoint como entrada model.
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
openai_client = w.serving_endpoints.get_open_ai_client()
response = openai_client.chat.completions.create(
model="databricks-claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)
Para consultar modelos básicos fora do seu workspace, é necessário utilizar diretamente o cliente OpenAI. Você também necessita da sua instância Databricks workspace para conectar o cliente OpenAI a Databricks. O exemplo a seguir pressupõe que você possui um token Databricks API e um token openai instalado em seu compute.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
response = client.chat.completions.create(
model="databricks-claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
A API de Respostas é compatível apenas com modelos da OpenAI.
Para usar a API OpenAI Responses, especifique o nome endpoint do modelo de serviço como a entrada model .
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
openai_client = w.serving_endpoints.get_open_ai_client()
response = openai_client.responses.create(
model="databricks-gpt-5",
input=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_output_tokens=256
)
Para consultar modelos básicos fora do seu workspace, é necessário utilizar diretamente o cliente OpenAI. Você também necessita da sua instância Databricks workspace para conectar o cliente OpenAI a Databricks. O exemplo a seguir pressupõe que você possui um token Databricks API e um token openai instalado em seu compute.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
response = client.responses.create(
model="databricks-gpt-5",
input=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_output_tokens=256
)
Por exemplo, segue abaixo o formato de solicitação esperado ao usar a API OpenAI Responses. O caminho da URL para esta API é /serving-endpoints/responses.
{
"model": "databricks-gpt-5",
"input": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_output_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos um formato de resposta esperado para uma solicitação feita usando a API de Respostas:
{
"id": "resp_abc123",
"object": "response",
"created_at": 1698824353,
"model": "databricks-gpt-5",
"output": [
{
"type": "message",
"role": "assistant",
"content": []
}
],
"usage": {
"input_tokens": 7,
"output_tokens": 74,
"total_tokens": 81
}
}
O exemplo a seguir utiliza a função SQL integrada, ai_query. Essa função está na Pré-visualização Pública e a definição pode mudar.
SELECT ai_query(
"databricks-claude-sonnet-4-5",
"Can you explain AI in ten words?"
)
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
O exemplo a seguir utiliza os parâmetros REST e API para consultar o endpoint de serviço que atende aos modelos básicos. Esses parâmetros estão na visualização pública e a definição pode mudar. Consulte POST /serving-endpoint/{name}/invocations.
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": " What is a mixture of experts model?"
}
]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/databricks-claude-sonnet-4-5/invocations \
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
O exemplo a seguir utiliza a API predict() do SDK MLflow Deployments.
import mlflow.deployments
# Only required when running this example outside of a Databricks Notebook
export DATABRICKS_HOST="https://<workspace_host>.databricks.com"
export DATABRICKS_TOKEN="dapi-your-databricks-token"
client = mlflow.deployments.get_deploy_client("databricks")
chat_response = client.predict(
endpoint="databricks-claude-sonnet-4-5",
inputs={
"messages": [
{
"role": "user",
"content": "Hello!"
},
{
"role": "assistant",
"content": "Hello! How can I assist you today?"
},
{
"role": "user",
"content": "What is a mixture of experts model??"
}
],
"temperature": 0.1,
"max_tokens": 20
}
)
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Este código deve ser executado em um Notebook em seu workspace. Consulte Utilizar o Databricks SDK para obter Python a partir de um Notebook Databricks.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ChatMessage, ChatMessageRole
w = WorkspaceClient()
response = w.serving_endpoints.query(
name="databricks-claude-sonnet-4-5",
messages=[
ChatMessage(
role=ChatMessageRole.SYSTEM, content="You are a helpful assistant."
),
ChatMessage(
role=ChatMessageRole.USER, content="What is a mixture of experts model?"
),
],
max_tokens=128,
)
print(f"RESPONSE:\n{response.choices[0].message.content}")
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Para consultar um endpoint do modelo básico usando o LangChain, é possível utilizar a classe ChatDatabricks ChatModel e especificar o endpoint.
%pip install databricks-langchain
from langchain_core.messages import HumanMessage, SystemMessage
from databricks_langchain import ChatDatabricks
messages = [
SystemMessage(content="You're a helpful assistant"),
HumanMessage(content="What is a mixture of experts model?"),
]
llm = ChatDatabricks(model="databricks-claude-sonnet-4-5")
llm.invoke(messages)
Como exemplo, segue abaixo o formato de solicitação esperado para um modelo de chat ao utilizar a API REST. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
A seguir, apresentamos o formato esperado para uma resposta a uma solicitação feita usando a API REST:
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Modelos compatíveis
Consulte os tipos de modelo do Foundation para ver os modelos de bate-papo compatíveis.