Skip to main content
Alguns modelos pensam em voz alta antes de responder. Eles resolvem problemas passo a passo e então dão a resposta final. Isso os torna mais fortes em matemática, código e tarefas intensivas em lógica.
Veja a lista completa de modelos, preços e limites de contexto na página de modelos. Nem todos os modelos de raciocínio suportam o parâmetro reasoning_effort. Veja suporte por modelo para detalhes.

Lendo a saída

Modelos de raciocínio retornam seu pensamento em um campo separado reasoning_content, mantendo content limpo:
Alguns provedores (Anthropic, Google, OpenAI, Qwen) retornam tokens de raciocínio criptografados ou resumidos. Quando isso acontece, reasoning_content contém um placeholder "[Some reasoning content is encrypted]".

Streaming

Ao fazer streaming, reasoning_content chega no delta antes da resposta final:

Esforço de raciocínio

O parâmetro reasoning_effort controla quanto pensamento um modelo faz antes de responder. Maior esforço significa raciocínio mais profundo, mas mais tokens e latência.

Valores aceitos

Nem todos os modelos suportam todos os valores. Se você enviar um valor que um modelo não suporta, a Venice pode ajustá-lo para um nível suportado. Alguns modelos, em vez disso, retornam um erro 400 que lista os valores suportados.Em caso de dúvida, use low, medium ou high. Esses são os valores mais amplamente suportados.

Suporte por modelo

Os valores suportados mudam à medida que modelos são adicionados e atualizados, então leia-os do endpoint /v1/models em vez de fixá-los no código. Cada modelo que aceita reasoning_effort os lista em model_spec.capabilities: Ambos os campos estão presentes apenas quando supportsReasoningEffort é true.

Uso

Passe reasoning_effort como parâmetro de nível superior ou use o formato aninhado reasoning.effort:
O formato plano "reasoning_effort": "high" também é aceito.

Desabilitando o raciocínio

Há duas formas de desabilitar o raciocínio: Para modelos que suportam, reasoning.enabled: false é a opção mais confiável:

Limites de tokens

Modelos de raciocínio geram tokens de resposta visível (em content) e tokens de raciocínio (em reasoning_content). Ambos contam para seu orçamento de tokens.

Definindo um limite de tokens

Use max_completion_tokens para limitar o número total de tokens que o modelo gera, incluindo o raciocínio:
max_tokens também é aceito e se comporta da mesma forma. Se ambos forem definidos, max_completion_tokens tem precedência. Para obter mais saída visível, aumente o limite, reduza reasoning_effort ou desabilite o raciocínio.

Lendo o detalhamento

O objeto usage mostra como seu orçamento foi gasto:
Neste exemplo, 169 tokens foram gastos em raciocínio e 332 na resposta visível. Quando o limite é atingido, finish_reason é length. O limite superior de cada modelo está disponível como maxCompletionTokens no endpoint /v1/models.

Modelos sem raciocínio

max_tokens e max_completion_tokens se comportam da mesma forma em modelos sem raciocínio, limitando diretamente a saída visível.

Descoberta de capacidades

Verifique o que um modelo suporta pelo endpoint /v1/models:

Melhores práticas

  • Use medium como padrão para uso geral
  • Use high ou xhigh para tarefas complexas (matemática, código, análise)
  • Use low para aplicações sensíveis à latência
  • Use reasoning.enabled: false ou defina effort como none para desabilitar o raciocínio
  • Em caso de dúvida, use low, medium ou high. Esses são os valores mais amplamente suportados.