Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprenderá a escrever solicitações de consulta para modelos de base otimizados para tarefas de raciocínio e enviá-las para o ponto de extremidade da API do Modelo de Fundação.
A API de Modelo do Mosaic AI Foundation fornece uma API unificada para interagir com todos os Modelos de Fundação, incluindo modelos de raciocínio. O raciocínio fornece recursos aprimorados para modelos de base para lidar com tarefas complexas. Alguns modelos também fornecem transparência revelando seu processo de pensamento passo a passo antes de fornecer uma resposta final.
Tipos de modelos de raciocínio
Há dois tipos de modelos, somente de raciocínio e híbridos. A tabela a seguir descreve como diferentes modelos usam diferentes abordagens para controlar o raciocínio:
| Tipo de modelo de raciocínio | Detalhes | Exemplos de modelo | Parâmetros |
|---|---|---|---|
| Raciocínio híbrido | Dá suporte a respostas rápidas e instantâneas e raciocínio mais profundo quando necessário. | Modelos Claude como databricks-claude-sonnet-4, databricks-claude-sonnet-4-5, databricks-claude-opus-4-5 e databricks-claude-opus-4-1. |
Inclua os seguintes parâmetros para usar o raciocínio híbrido:
|
| Somente raciocínio | Esses modelos sempre usam o raciocínio interno em suas respostas. | Modelos GPT de Código Aberto como databricks-gpt-oss-120b e databricks-gpt-oss-20b. |
Use o seguinte parâmetro em sua solicitação:
|
Exemplos de consulta
Todos os modelos de raciocínio são acessados pelo ponto de extremidade das conclusões de chat.
Exemplo de modelo de Claude
from openai import OpenAI
import base64
import httpx
client = OpenAI(
api_key=os.environ.get('YOUR_DATABRICKS_TOKEN'),
base_url=os.environ.get('YOUR_DATABRICKS_BASE_URL')
)
response = client.chat.completions.create(
model="databricks-claude-sonnet-4-5",
messages=[{"role": "user", "content": "Why is the sky blue?"}],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)
msg = response.choices[0].message
reasoning = msg.content[0]["summary"][0]["text"]
answer = msg.content[1]["text"]
print("Reasoning:", reasoning)
print("Answer:", answer)
GPT-5.1
O reasoning_effort parâmetro para GPT-5.1 é definido por padrão para none, mas pode ser substituído em requisições. Um esforço de raciocínio mais alto pode resultar em respostas mais pensativas e precisas, mas pode aumentar a latência e o uso de token.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gpt-5-1/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "none"
}'
Exemplo de modelo do GPT OSS
O reasoning_effort parâmetro aceita "low", "medium" (padrão) ou "high" valores. Um esforço de raciocínio mais alto pode resultar em respostas mais pensativas e precisas, mas pode aumentar a latência e o uso de token.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gpt-oss-120b/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "high"
}'
Exemplo de modelo gemini
Este exemplo usa databricks-gemini-3-pro. O reasoning_effort parâmetro é definido "low" como por padrão, mas pode ser substituído em solicitações, como visto no exemplo a seguir.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gemini-3-pro/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 2000,
"stream": true,
"reasoning_effort": "high"
}'
A resposta à API inclui blocos de conteúdo de pensamento e de texto:
ChatCompletionMessage(
role="assistant",
content=[
{
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": ("The question is asking about the scientific explanation for why the sky appears blue... "),
"signature": ("EqoBCkgIARABGAIiQAhCWRmlaLuPiHaF357JzGmloqLqkeBm3cHG9NFTxKMyC/9bBdBInUsE3IZk6RxWge...")
}
]
},
{
"type": "text",
"text": (
"# Why the Sky Is Blue\n\n"
"The sky appears blue because of a phenomenon called Rayleigh scattering. Here's how it works..."
)
}
],
refusal=None,
annotations=None,
audio=None,
function_call=None,
tool_calls=None
)
Gerenciar o raciocínio em várias voltas
Esta seção é específica para o databricks-claude-sonnet-4-5 model.
Em conversas de vários turnos, somente os blocos de raciocínio associados à última vez do assistente ou à sessão de uso de ferramentas são visíveis para o modelo e contados como tokens de entrada.
Se você não quiser passar tokens de raciocínio de volta para o modelo (por exemplo, não precisa que ele raciocine sobre suas etapas anteriores), pode omitir o bloco de raciocínio por completo. Por exemplo:
response = client.chat.completions.create(
model="databricks-claude-sonnet-4-5",
messages=[
{"role": "user", "content": "Why is the sky blue?"},
{"role": "assistant", "content": text_content},
{"role": "user", "content": "Can you explain in a way that a 5-year-old child can understand?"}
],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)
answer = response.choices[0].message.content[1]["text"]
print("Answer:", answer)
No entanto, se você precisar do modelo para raciocinar sobre seu processo de raciocínio anterior - por exemplo, se estiver criando experiências que revelem seu raciocínio intermediário -, deverá incluir a mensagem completa e não modificada do assistente, incluindo o bloco de raciocínio do turno anterior. Veja como continuar um thread com a mensagem de assistente completa:
assistant_message = response.choices[0].message
response = client.chat.completions.create(
model="databricks-claude-sonnet-4-5",
messages=[
{"role": "user", "content": "Why is the sky blue?"},
{"role": "assistant", "content": text_content},
{"role": "user", "content": "Can you explain in a way that a 5-year-old child can understand?"},
assistant_message,
{"role": "user", "content": "Can you simplify the previous answer?"}
],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)
answer = response.choices[0].message.content[1]["text"]
print("Answer:", answer)
Como funciona um modelo de raciocínio?
Os modelos de raciocínio introduzem tokens de raciocínio especiais, além dos tokens de entrada e saída padrão. Esses tokens permitem que o modelo "pense" no prompt, dividindo-o e considerando diferentes maneiras de responder. Após esse processo de raciocínio interno, o modelo gera sua resposta final como tokens de saída visíveis. Alguns modelos, como databricks-claude-sonnet-4-5, exibem esses tokens de raciocínio para os usuários, enquanto outros, como a série O OpenAI, os descartam e não os expõem na saída final.