Modelos de raciocínio de consulta

Neste artigo, aprende a escrever pedidos de consulta para modelos de fundação otimizados para tarefas de raciocínio e servidos pelo Unity Gateway.

Tip

O Código Génio (modo Agente) pode fazer isto por ti. Experimente este prompt de exemplo:

Query the databricks-claude-sonnet-4-5 model using the OpenAI client with extended thinking enabled (budget_tokens set to 10240). Send a reasoning question and print both the thinking summary and the final answer.

A API do Databricks Foundation Model fornece uma API unificada para interagir com todos os Foundation Models, incluindo modelos de raciocínio. O raciocínio dá aos modelos de fundação capacidades aprimoradas 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

Existem dois tipos de modelos, apenas 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 modelos Parâmetros
Raciocínio híbrido Este modelo apoia o pensamento adaptativo para raciocínios mais profundos, e o pensamento pode ser desativado para respostas mais rápidas. databricks-claude-haiku-5-5 Use os seguintes parâmetros com a API Anthropic Messages:
  • thinking: Defina type como adaptive para usar o raciocínio ou como disabled para o desativar.
  • output_config.effort: Aceita low, medium, ou high. O Databricks define o padrão para medium quando omites este parâmetro. Outros valores, incluindo none, xhigh, e max, são rejeitados.
Apenas raciocínio Este modelo utiliza pensamento adaptativo para cada pedido, e o raciocínio não pode ser desativado. databricks-claude-opus-5-5 Use os seguintes parâmetros com a API Anthropic Messages:
  • thinking: Definir type para adaptive. O pensamento com deficiência e os valores manuais budget_tokens são rejeitados.
  • output_config.effort: Aceita low, medium, high, xhigh, ou max. O Databricks define o padrão para medium quando omites este parâmetro. Outros valores, incluindo none e disabled, são rejeitados.
Apenas raciocínio Este modelo utiliza sempre o pensamento adaptativo, e o raciocínio não pode ser desativado. databricks-claude-fable-5-1 Use os seguintes parâmetros com a API Anthropic Messages:
  • thinking: Definir type para adaptive.
  • output_config.effort: Aceita low, medium, high, xhigh, ou max. O Databricks não define um padrão; Anthropic usa high quando se omite este parâmetro. Outros valores, incluindo none, são rejeitados.
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-6, databricks-claude-sonnet-4-5, databricks-claude-opus-5, databricks-claude-opus-4-8, databricks-claude-opus-4-7, databricks-claude-opus-4-6, databricks-claude-opus-4-5, , e databricks-claude-opus-4-1.
  • databricks-deepseek-v4-1-flash
Os parâmetros variam consoante o modelo:
  • Para modelos Claude, use thinking e budget_tokens. O budget_tokens parâmetro controla quantos tokens o modelo pode usar para o pensamento interno. Orçamentos mais altos podem melhorar a qualidade para tarefas complexas, mas o uso acima de 32K pode variar. budget_tokens deve ser inferior a max_tokens.
  • Para DeepSeek v4.1 Flash, reasoning_effort aceita "low", "high", "xhigh", ou "max" (padrão). "minimal" mapeia para "low", e "medium" mapeia para "high". "none" ou "disabled" desabilita o raciocínio. Outros valores são rejeitados.
Apenas raciocínio Estes modelos utilizam sempre o raciocínio interno nas suas respostas. Modelos GPT OSS como databricks-gpt-oss-120b e databricks-gpt-oss-20b. Use o seguinte parâmetro em sua solicitação:
  • reasoning_effort: aceita valores de "low", "medium" (padrão) 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. Este parâmetro só é aceite por um conjunto limitado de modelos, incluindo databricks-gpt-oss-120b e databricks-gpt-oss-20b.

Exemplos de consulta

Note

Os exemplos seguintes baseiam-se no Unity Gateway e nos serviços modelo. Se utilizar endpoints de disponibilização de modelos em vez de serviços de modelo, substitua o nome do serviço de modelo pelo nome de um endpoint. Consulte a lista detalhada dos modelos suportados pelas APIs de Modelos Base da Databricks para consultar a lista dos modelos base disponíveis e os nomes do serviço de modelo e dos respetivos pontos de extremidade.

A maioria dos modelos de raciocínio utiliza o endpoint chat completions. Claude Haiku 5.5, Claude Opus 5.5 e Claude Fable 5.1 usam a API Anthropic Messages, como mostrado nos seus exemplos.

Exemplo de modelo Claude

import os
from openai import OpenAI

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="system.ai.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)

Exemplo do modelo Claude Haiku 5.5

Claude Haiku 5.5 é compatível com o pensamento adaptativo. Definir output_config.effort para low, medium, ou high para controlar a profundidade do raciocínio. O Databricks usa medium quando se omite este parâmetro. Para desativar o raciocínio, defina thinking.type para disabled e omita output_config.

curl -X POST "https://<workspace_host>.databricks.com/serving-endpoints/anthropic/v1/messages" \
  -u token:$DATABRICKS_TOKEN \
  -H "Content-Type: application/json" \
  -H "anthropic-beta: effort-2025-11-24" \
  -d '{
    "model": "databricks-claude-haiku-5-5",
    "max_tokens": 4096,
    "thinking": {
      "type": "adaptive"
    },
    "output_config": {
      "effort": "high"
    },
    "messages": [
      {
        "role": "user",
        "content": "Why is the sky blue?"
      }
    ]
  }'

Exemplo do modelo Claude Opus 5.5

Claude Opus 5.5 utiliza pensamento adaptativo para cada pedido. Definir output_config.effort para low, medium, high, xhigh, , ou max para controlar a profundidade do raciocínio. O Databricks usa medium quando se omite este parâmetro.

curl -X POST "https://<workspace_host>.databricks.com/ai-gateway/anthropic/v1/messages" \
  -u token:$DATABRICKS_TOKEN \
  -H "Content-Type: application/json" \
  -H "anthropic-beta: effort-2025-11-24" \
  -d '{
    "model": "databricks-claude-opus-5-5",
    "max_tokens": 4096,
    "thinking": {
      "type": "adaptive"
    },
    "output_config": {
      "effort": "high"
    },
    "messages": [
      {
        "role": "user",
        "content": "Why is the sky blue?"
      }
    ]
  }'

Exemplo de modelo Claude Fable 5.1

Claude Fable 5.1 usa sempre pensamento adaptativo. Definir output_config.effort para low, medium, high, xhigh, , ou max para controlar a profundidade do raciocínio.

curl -X POST "https://<workspace_host>.databricks.com/ai-gateway/anthropic/v1/messages" \
  -u token:$DATABRICKS_TOKEN \
  -H "Content-Type: application/json" \
  -H "anthropic-beta: effort-2025-11-24" \
  -d '{
    "model": "databricks-claude-fable-5-1",
    "max_tokens": 4096,
    "thinking": {
      "type": "adaptive"
    },
    "output_config": {
      "effort": "high"
    },
    "messages": [
      {
        "role": "user",
        "content": "Why is the sky blue?"
      }
    ]
  }'

GPT-5,1

O parâmetro reasoning_effort para GPT-5.1 está definido por defeito none, mas pode ser substituído nos pedidos. 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.

curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "system.ai.gpt-5-1",
    "messages": [
      {
        "role": "user",
        "content": "Why is the sky blue?"
      }
    ],
    "max_tokens": 4096,
    "reasoning_effort": "none"
  }'

Exemplo de modelo GPT OSS

O reasoning_effort parâmetro aceita "low", "medium" (padrão) ou "high" valores. 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.

curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "system.ai.gpt-oss-120b",
    "messages": [
      {
        "role": "user",
        "content": "Why is the sky blue?"
      }
    ],
    "max_tokens": 4096,
    "reasoning_effort": "high"
  }'

Exemplo do modelo Gemini

Este exemplo utiliza system.ai.gemini-3-1-pro. O reasoning_effort parâmetro está definido como "low" por defeito, mas pode ser sobreposto nas solicitações, como mostra o exemplo seguinte.

curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "system.ai.gemini-3-1-pro",
    "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 da API inclui blocos de conteúdo de pensamento e 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
)

Gerencie o raciocínio em vários turnos

Esta secção é específica do databricks-claude-sonnet-4-5 modelo.

Em conversas de vários turnos, apenas os blocos de raciocínio associados à última interação do assistente ou sessão de utilização da ferramenta são visíveis para o modelo e são contados como tokens de entrada.

Se você não quiser passar tokens de raciocínio de volta para o modelo (por exemplo, você não precisa que ele raciocine sobre suas etapas anteriores), você pode omitir o bloco de raciocínio completamente. Por exemplo:

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

assistant_message = response.choices[0].message

response = client.chat.completions.create(
    model="system.ai.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)

API de Respostas Abertas

Quando usa a API Open Responses, o raciocínio é devolvido como reasoning itens na resposta output. Para deixar que o modelo raciocine sobre o seu pensamento anterior numa turnada posterior, inclua esses reasoning itens — com o seu encrypted_content campo inalterado — no próximo pedido input.

Um item reasoning retornado no resultado da resposta tem a seguinte estrutura:

{
  "type": "reasoning",
  "id": "rs_abc123",
  "content": [{ "type": "reasoning_text", "text": "Let me work through the question..." }],
  "encrypted_content": "<opaque-provider-signature>"
}

Para continuar a conversa, envie novamente em input a saída do turno anterior, mantendo o item reasoning textualmente:

{
  "model": "databricks-claude-sonnet-4-5",
  "input": [
    { "role": "user", "content": "Why is the sky blue?" },
    {
      "type": "reasoning",
      "id": "rs_abc123",
      "content": [{ "type": "reasoning_text", "text": "Let me work through the question..." }],
      "encrypted_content": "<opaque-provider-signature>"
    },
    { "role": "assistant", "content": "The sky is blue because of Rayleigh scattering..." },
    { "role": "user", "content": "Can you explain it for a five-year-old?" }
  ]
}

O valor encrypted_content contém o estado de raciocínio específico do fornecedor. Se for eliminado ou modificado, o modelo não consegue justificar o seu pensamento anterior. Isto aplica-se aos modelos Anthropic Claude e Google Gemini.

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" através do 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 databricks-claude-sonnet-4-5, exibem esses tokens de raciocínio para os utilizadores, enquanto outros, como a série OpenAI o, não os expõem e os descartam na saída final.

Recursos adicionais