Usamos cookies. Las cookies y el almacenamiento del navegador mantienen tu sesión iniciada y recuerdan tus preferencias. Con tu permiso, también medimos cómo se usa el sitio. Puedes en cualquier momento. Consulta nuestra política de cookies.

Razonamiento

Endpoints

Razonamiento

Controla el presupuesto, el esfuerzo y la salida de razonamiento de los modelos con el parámetro reasoning, y consulta cómo se facturan los tokens.

Pruébalo en el playground

Los modelos con razonamiento piensan antes de responder: OpenAI GPT-5 y la serie o, Claude con pensamiento extendido, Gemini 2.5, DeepSeek R1, Qwen y otros. api14 acepta un único parámetro reasoning y lo convierte al ajuste nativo de cada proveedor. Los tokens de razonamiento se facturan como tokens de salida.

Parámetros de la solicitud

ParámetroTipoDescripción
reasoning.effortstring"minimal", "low", "medium" o "high". Lo usan los modelos de OpenAI y Grok, y en los demás se convierte en un presupuesto de tokens.
reasoning.max_tokensintegerUn presupuesto exacto de tokens para pensar. Lo usan Anthropic, Gemini y Qwen. Use este o effort, no ambos.
reasoning.excludebooleanEl modelo sigue razonando, pero el texto del razonamiento no se incluye en la respuesta.
reasoning.enabledbooleanActiva el razonamiento con la configuración predeterminada.
include_reasoningbooleanInterruptor heredado, equivalente a reasoning: {} o 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 debe ser mayor que el presupuesto de razonamiento, porque cubre tanto el pensamiento como la respuesta.

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);

Respuesta

El texto del razonamiento se devuelve en message.reasoning, separado de la respuesta. Algunos modelos también devuelven reasoning_details estructurados:

{
  "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
  }
}

En el modo de streaming, el razonamiento llega en fragmentos delta.reasoning antes que los fragmentos delta.content.

Notas

  • Los modelos de la serie o de OpenAI y GPT-5 no devuelven el texto de su razonamiento, pero aun así se le cobran los reasoning_tokens.
  • En el uso de herramientas de varios turnos con Claude, devuelva reasoning_details sin cambios en el mensaje del asistente para que el modelo pueda seguir razonando.
  • Algunos modelos (por ejemplo, deepseek/deepseek-r1) siempre razonan. En ellos effort no tiene efecto.
  • Un esfuerzo mayor cuesta más y tarda más. Vigile completion_tokens_details.reasoning_tokens.

Errores

Igual que en Chat completions. Un presupuesto demasiado pequeño o demasiado grande para un modelo puede devolver un 400 del proveedor. Consulte Errores.