Structured outputs es una función de las APIs de IA que obliga a un LLM a responder con un JSON que sigue un esquema que tú defines: qué campos, de qué tipo y cuáles son obligatorios. El modelo sigue escribiendo token a token, pero sólo puede escribir lo que el esquema permite. La forma queda garantizada; que sea correcta, no.
📥Estado y preguntas→📦Un solo pedido→🏷️Valores y probabilidades
Ponlo a prueba
Una pregunta de la app. Elige una respuesta.
Jev es un modelo de IA que no escribe: elige una opción o puntúa, con probabilidades.
Jev siempre responde con el tipo que pediste. ¿Entonces siempre acierta?
Lo garantizado es el formato: elige una opción válida. Que sea la correcta es otra cosa.
Por eso trae su probabilidad: con poca seguridad, tu código puede pedir ayuda a una persona o a un LLM.
Mucha confianza no certifica el acierto. Una probabilidad no es una promesa.
Si tu esquema pide un campo «area» que sea ventas, soporte o facturación, con el modo estricto el LLM devuelve una de las tres, nunca «Ventas!!» ni un párrafo. Igual hay que manejar los casos en que el modelo se niega o la respuesta se corta. Y que haya elegido el área correcta es otra cosa: eso se comprueba probando con casos reales.
No es lo mismo que el modo JSON
En la API de OpenAI, el modo JSON sólo asegura que la respuesta sea un JSON válido, con cualquier forma. Structured outputs asegura además que siga tu esquema. Otros proveedores tienen algo parecido con otros nombres y reglas: revisa la documentación del que uses.
Structured outputs o un modelo que decide
Sirve cuando la respuesta tiene varios campos o texto libre: extraer los datos de una factura, o una clasificación con una explicación al lado. Si sólo necesitas elegir entre opciones fijas o un sí o no, un modelo que decide, como la Decisions API o Jev, devuelve además la probabilidad de cada opción. Para esas respuestas, OpenAI recomienda su Decisions API.