Usamos cookies. Cookies e o armazenamento do navegador mantêm você conectado e lembram suas preferências. Com sua permissão, também medimos como o site é usado. Você pode a qualquer momento. Veja nossa política de cookies.

Reasoning

Endpoints

Reasoning

Controle o orçamento, o esforço e a saída de raciocínio dos modelos de IA com o parâmetro reasoning, de forma unificada entre todos os provedores.

Teste no playground

Os modelos de raciocínio pensam antes de responder: OpenAI GPT-5 e a série o, Claude com pensamento estendido, Gemini 2.5, DeepSeek R1, Qwen e outros. A api14 aceita um único parâmetro reasoning e o converte na configuração nativa de cada provedor. Os tokens de raciocínio são cobrados como tokens de saída.

Parâmetros da requisição

ParâmetroTipoDescrição
reasoning.effortstring"minimal", "low", "medium" ou "high". Usado pelos modelos OpenAI e Grok, e convertido em um orçamento de tokens para os demais.
reasoning.max_tokensintegerUm orçamento exato de tokens para o raciocínio. Usado por Anthropic, Gemini e Qwen. Use um ou outro, não os dois.
reasoning.excludebooleanO modelo ainda raciocina, mas o texto do raciocínio não é incluído na resposta.
reasoning.enabledbooleanAtiva o raciocínio com as configurações padrão.
include_reasoningbooleanChave legada, equivalente a reasoning: {} ou a reasoning.exclude: false.
{
  "model": "anthropic/claude-sonnet-4.5",
  "messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
  "reasoning": { "max_tokens": 2000 },
  "max_tokens": 4000
}

max_tokens precisa ser maior que o orçamento de raciocínio, porque ele cobre tanto o raciocínio quanto a resposta.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ],
  "reasoning": {
    "effort": "high"
  }
});
console.log(result.choices[0].message.content);

Resposta

O texto do raciocínio é retornado em message.reasoning, separado da resposta. Alguns modelos também retornam reasoning_details estruturados:

{
  "id": "gen-1760000000-think",
  "model": "anthropic/claude-sonnet-4.5",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "There are 3 r's in \"strawberry\".",
        "reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
      }
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 312,
    "total_tokens": 334,
    "completion_tokens_details": { "reasoning_tokens": 290 },
    "cost": 0.004746
  }
}

No streaming, o raciocínio chega em fragmentos delta.reasoning antes dos fragmentos delta.content.

Observações

  • Os modelos da série o e GPT-5 da OpenAI não retornam o texto do raciocínio, mas os reasoning_tokens são cobrados mesmo assim.
  • Com Claude, em uso de ferramentas em vários turnos, devolva reasoning_details sem alterações na mensagem do assistente para que o modelo possa continuar raciocinando.
  • Alguns modelos (por exemplo, deepseek/deepseek-r1) sempre raciocinam. Nesses, effort não tem efeito.
  • Um esforço maior custa mais e demora mais. Acompanhe completion_tokens_details.reasoning_tokens.

Erros

Os mesmos de Chat completions. Um orçamento pequeno ou grande demais para um modelo pode retornar um 400 do provedor. Veja Erros.