Saltar al contenido principal
Algunos modelos piensan en voz alta antes de responder. Resuelven los problemas paso a paso y luego dan una respuesta final. Esto los hace más fuertes en matemáticas, código y tareas con mucha lógica.
Consulta la lista completa de modelos, precios y límites de contexto en la página de Modelos. No todos los modelos de razonamiento admiten el parámetro reasoning_effort. Consulta soporte por modelo para más detalles.

Leer la salida

Los modelos de razonamiento devuelven su pensamiento en un campo separado reasoning_content, manteniendo content limpio:
Algunos proveedores (Anthropic, Google, OpenAI, Qwen) devuelven tokens de razonamiento cifrados o resumidos. Cuando esto ocurre, reasoning_content contiene un marcador "[Some reasoning content is encrypted]".

Streaming

Al hacer streaming, reasoning_content llega en el delta antes que la respuesta final:

Esfuerzo de razonamiento

El parámetro reasoning_effort controla cuánto piensa un modelo antes de responder. Mayor esfuerzo implica razonamiento más profundo pero más tokens y latencia.

Valores aceptados

No todos los modelos admiten todos los valores. Si envías un valor que un modelo no admite, Venice puede ajustarlo a un nivel admitido. Otros modelos, en cambio, devuelven un error 400 que enumera los valores admitidos.En caso de duda, usa low, medium o high. Son los valores más ampliamente admitidos.

Soporte por modelo

Los valores admitidos cambian a medida que se añaden y actualizan modelos, así que léelos desde el endpoint /v1/models en lugar de codificarlos de forma fija. Cada modelo que acepta reasoning_effort los enumera en model_spec.capabilities: Ambos campos solo están presentes cuando supportsReasoningEffort es true.

Uso

Pasa reasoning_effort como parámetro de nivel superior o usa el formato anidado reasoning.effort:
También se acepta el formato plano "reasoning_effort": "high".

Desactivar el razonamiento

Hay dos formas de desactivar el razonamiento: Para los modelos que lo admiten, reasoning.enabled: false es la opción más fiable:

Límites de tokens

Los modelos de razonamiento generan tokens visibles de respuesta (en content) y tokens de razonamiento (en reasoning_content). Ambos cuentan para tu presupuesto de tokens.

Establecer un tope de tokens

Usa max_completion_tokens para limitar el número total de tokens que el modelo genera, incluido el razonamiento:
max_tokens también se acepta y se comporta igual. Si se establecen ambos, max_completion_tokens tiene prioridad. Para obtener más salida visible, sube el tope, baja reasoning_effort o desactiva el razonamiento.

Leer el desglose

El objeto usage muestra cómo se gastó tu presupuesto:
En este ejemplo, se gastaron 169 tokens en razonamiento y 332 en la respuesta visible. Cuando se alcanza el tope, finish_reason es length. El límite superior de cada modelo está disponible como maxCompletionTokens en el endpoint /v1/models.

Modelos sin razonamiento

max_tokens y max_completion_tokens se comportan igual en modelos sin razonamiento, limitando la salida visible directamente.

Descubrir capacidades

Comprueba qué admite un modelo mediante el endpoint /v1/models:

Mejores prácticas

  • Por defecto, usa medium para uso general
  • Usa high o xhigh para tareas complejas (matemáticas, código, análisis)
  • Usa low para aplicaciones sensibles a la latencia
  • Usa reasoning.enabled: false o establece el effort en none para desactivar el razonamiento
  • En caso de duda, usa low, medium o high. Son los valores más ampliamente admitidos