OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Controlar la longitud de las respuestas de modelos de OpenAI

Aprende a establecer límites de salida para los modelos de OpenAI con configuraciones de tokens, prompts claros, ejemplos y secuencias de parada.

Última actualización: 11 days ago

Descripción general

Controlar la longitud de la respuesta de un modelo es útil por varios motivos: ayuda a administrar costos (porque pagas por token), mejora la latencia y el rendimiento (las respuestas más cortas se devuelven más rápido) y asegura la relevancia al evitar salidas demasiado largas o verbosas.

Puedes lograrlo con topes de tokens, configuraciones de razonamiento y verbosidad, instrucciones claras, ejemplos y secuencias de parada. Para ver los detalles más actuales y completos, consulta siempre la referencia oficial de la API en platform.openai.com.

Establecer una longitud máxima de salida

API de Responses

Se usa con modelos GPT-5 y la mayoría de los modelos de la serie O: usa max_output_tokens para limitar la cantidad de tokens que generará el modelo. Para solicitudes de compaction_trigger, omite max_output_tokens o establécelo en al menos 20000; los valores menores se rechazan. La API de Responses no admite varias completaciones (n).

API para completar chats

Se usa con GPT-3.5 y GPT-4o heredados, y a veces con modelos de la serie O.

  • Para modelos de razonamiento como o3 y o4-mini, usa max_completion_tokens (alias de max_tokens)

  • Para modelos anteriores o sin razonamiento, max_tokens aún funciona

  • Admite stop y n (varias completaciones).

Nota: no existe una configuración de “tokens mínimos”. Si necesitas una longitud mínima, especifícala en tu prompt.

Límites de tokens por grupo de modelos

Para consultar límites de tokens, tamaños de contexto y topes de salida actualizados, revisa la documentación del modelo específico.

Ejemplos rápidos

API de Responses

{ "model": "gpt-5", "input": "Resume los hallazgos en ~80 palabras.", "max_output_tokens": 120 }

Completado de chats (modelo de razonamiento)

{ "model": "o3-mini", "messages": [{"role": "user", "content": "Escribe cinco opciones de una sola línea."}], "max_completion_tokens": 100 }

Controles específicos de los modelos GPT-5: verbosity y reasoning.effort

Estos controles solo están disponibles en los modelos GPT-5 (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro, etc.). Los modelos de la serie O y heredados no los admiten.

`verbosity` acepta "low", "medium" (predeterminado) o "high". Influye en el nivel de detalle, pero no en los límites estrictos.

{ "model": "gpt-5", "input": "Explica PageRank a grandes rasgos.", "text": { "verbosity": "low" }, "max_output_tokens": 200 }

`reasoning.effort` controla cuántos tokens de razonamiento se generan antes de producir una respuesta. GPT-5.2 admite none,low, medium, high,and xhigh. gpt-5.2-pro solo admite medium, high,and xhigh. Los modelos de razonamiento anteriores solo admiten low, medium y high.

{ "model": "gpt-5", "input": "¿Cuánto oro haría falta para cubrir la Estatua de la Libertad con una capa de 1 mm?", "reasoning": { "effort": "minimal" } }

Puedes establecer `reasoning.effort` en none para hacer que el modelo se comporte como un modelo sin razonamiento en casos de uso sensibles a la latencia.

Dar instrucciones específicas

Pide la longitud o estructura exacta que quieres. Ejemplos:

  • “Enumera exactamente cinco opciones”.

  • “Escribe un resumen de 50 palabras”.

  • “No más de 100 tokens. Si necesitas más espacio, di “Necesito más espacio”.”

Usar ejemplos de longitud uniforme

Dar pocos ejemplos que coincidan con la longitud deseada ayuda al modelo a continuar el patrón.

Aplicar secuencias de parada estratégicas

Usa stop para detener la generación cuando el modelo llegue a un delimitador o al límite de una lista numerada.

{ "stop": ["\n###", "6."] }

Varios candidatos

  • Completado de chats: n devuelve varias completaciones en una sola llamada.

  • API de Responses: n no se admite; haz varias llamadas si necesitas más de una salida.

¿Este artículo te fue útil?