Pular para o conteúdo principal

Modelos de raciocínio de consulta

Neste artigo, você aprenderá a escrever solicitações de consulta para modelos básicos otimizados para tarefas de raciocínio e enviá-las ao seu Modelo Básico API endpoint.

A API do Mosaic AI Foundation Model fornece uma API unificada para interagir com todos os modelos básicos, incluindo modelos de raciocínio. O raciocínio proporciona aos modelos básicos capacidades aprimoradas para lidar com tarefas complexas. Alguns modelos também oferecem transparência ao revelar seu processo de pensamento passo a passo antes de fornecer uma resposta final.

Tipos de modelos de raciocínio

Existem dois tipos de modelos, apenas para raciocínio e híbridos. A tabela a seguir descreve como modelos diferentes usam abordagens diferentes para controlar o raciocínio:

Tipo de modelo de raciocínio

Detalhes

Exemplos de modelos

Parâmetros

Raciocínio híbrido

Suporta respostas rápidas e instantâneas e raciocínio mais profundo quando necessário.

Claude modela como databricks-claude-sonnet-4 e databricks-claude-opus-4-1.

Inclua os seguintes parâmetros para usar o raciocínio híbrido:

  • thinking
  • budget_tokens: controla quantos tokens o modelo pode utilizar para o pensamento interno. Orçamentos mais elevados podem melhorar a qualidade para tarefas complexas, mas o uso acima de 32K pode variar. budget_tokens deve ser menor que max_tokens.

Apenas raciocínio

Esses modelos sempre usam o raciocínio interno em suas respostas.

Modelos GPT OSS como os seguintes:

  • databricks-gpt-oss-120b e databricks-gpt-oss-20b
  • databricks-gpt-5, databricks-gpt-5-mini, e databricks-gpt-5-nano

Use o parâmetro reasoning_effort na sua solicitação. Este parâmetro só é aceito por um conjunto limitado de modelos.

  • Os modelos databricks-gpt-5, databricks-gpt-5-mini e databricks-gpt-5-nano aceitam o valor minimal.
  • Os modelos databricks-gpt-oss-120b e databricks-gpt-oss-20b aceitam valores de "low", "medium" (default) ou "high". Um maior esforço de raciocínio pode resultar em respostas mais ponderadas e precisas, mas pode aumentar a latência e o uso de tokens.

Exemplos de consultas

Todos os modelos de raciocínio são acessados por meio do endpoint de conclusões do chat.

Python
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-3-7-sonnet",
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)

A resposta da API inclui blocos de conteúdo textual e de reflexão:

Python
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 etapas

Esta seção é específica para o databricks-claude-3-7-sonnet model.

Em conversas com várias voltas, apenas os blocos de raciocínio associados à última volta do assistente ou sessão de uso da ferramenta são visíveis para o modelo e contados como tokens de entrada.

Se não desejar passar tokens de raciocínio de volta para o modelo (por exemplo, se não precisar dele para raciocinar sobre as etapas anteriores), é possível omitir o bloco de raciocínio completamente. Por exemplo:

Python
response = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
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 que o modelo raciocine sobre seu processo de raciocínio anterior - por exemplo, se estiver criando experiências que revelem seu raciocínio intermediário - você deve incluir a mensagem completa e não modificada do assistente, incluindo o bloco de raciocínio do turno anterior. Veja como continuar um tópico com a mensagem completa do assistente:

Python
assistant_message = response.choices[0].message

response = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
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 "reflita sobre o prompt", decompondo-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 o databricks-claude-3-7-sonnet, exibem esses tokens de raciocínio aos usuários, enquanto outros, como a série OpenAI o, os descartam e não os expõem na saída final.

Recurso adicional