OpenAI presenta una emocionante función nueva: Salidas Estructuradas (Structured Outputs), diseñada para que la salida generada por el modelo siga estrictamente el esquema JSON proporcionado por el desarrollador.

image.png

En el DevDay del año pasado, OpenAI presentó por primera vez el esquema JSON, proporcionando una base importante para que los desarrolladores construyan aplicaciones fiables. Aunque el esquema JSON mejoró la fiabilidad de la generación de salidas JSON válidas por parte del modelo, no garantizaba que la respuesta del modelo se ajustara a un esquema específico. La función de Salidas Estructuradas de hoy soluciona precisamente este problema.

Con la amplia aplicación de la IA, la generación de datos estructurados a partir de entradas no estructuradas se ha convertido en un caso de uso fundamental. Los desarrolladores utilizan la API de OpenAI para construir asistentes potentes que pueden obtener datos mediante llamadas a funciones, responder preguntas y extraer datos estructurados para la entrada de datos. Anteriormente, los desarrolladores a menudo necesitaban utilizar herramientas de código abierto, solicitudes repetidas, etc., para asegurar que la salida del modelo coincidiera con el formato requerido por el sistema. Ahora, la función de Salidas Estructuradas mejora enormemente la fiabilidad de la salida al obligar al modelo OpenAI a coincidir con el esquema proporcionado por el desarrollador.

Salidas estructuradas con esquemas JSON complejos: ¡100% de puntuación!

Cabe destacar que, en la evaluación de esquemas JSON complejos, el nuevo modelo gpt-4o-2024-08-06 obtuvo una puntuación perfecta del 100% en salidas estructuradas, mientras que el anterior gpt-4-0613 obtuvo menos del 40%. Esto significa que el nuevo modelo ofrece un rendimiento mucho mejor en la generación de salidas que cumplen con un esquema específico.

image.png

Cómo utilizar las Salidas Estructuradas

Utilizar las Salidas Estructuradas es muy sencillo. OpenAI ha introducido dos formas para la API: una es mediante llamadas a funciones a través de herramientas, y la otra es una nueva opción en el formato de respuesta, donde los desarrolladores pueden proporcionar un esquema JSON mediante el parámetro json_schema. Cuando se activa el modo estricto, la salida del modelo se ajustará estrictamente al esquema proporcionado.

1. Llamadas a funciones: Al configurar strict: true en la definición de la función, se pueden obtener salidas estructuradas a través de tools. Esta función es compatible con todos los modelos que admiten herramientas, incluidos todos los modelos gpt-4-0613 y gpt-3.5-turbo-0613 y versiones posteriores. Al activar las salidas estructuradas, la salida del modelo coincidirá con la definición de la herramienta proporcionada.

2. response_format Nueva opción del parámetro: Los desarrolladores ahora pueden proporcionar un esquema JSON mediante json_schema, que es una nueva opción del parámetro response_format. Esto resulta útil cuando el modelo no llama a herramientas, sino que responde al usuario de forma estructurada. Esta función es compatible con nuestros modelos GPT-4o más recientes: gpt-4o-2024-08-06 y gpt-4o-mini-2024-07-18 lanzados hoy. Cuando se proporciona response_format junto con strict: true, la salida del modelo coincidirá con la estructura proporcionada.

La seguridad es primordial para OpenAI. La nueva función funcionará bajo las políticas de seguridad existentes, y el modelo seguirá rechazando las solicitudes inseguras. Además, para simplificar el proceso de desarrollo, hemos añadido un nuevo valor de cadena de rechazo para ayudar a los desarrolladores a detectar programáticamente si el modelo ha generado información de rechazo.

Compatibilidad con SDK nativos

Los SDK de Python y Node de OpenAI también se han actualizado para admitir la funcionalidad nativa de Salidas Estructuradas. Los desarrolladores solo necesitan proporcionar un objeto Pydantic o Zod, y los SDK de OpenAI manejarán automáticamente la conversión de tipos de datos y el análisis de la respuesta JSON.

El lanzamiento de hoy muestra cómo las Salidas Estructuradas facilitarán el trabajo de los desarrolladores, ayudándoles a crear aplicaciones excelentes con mayor facilidad.

Blog oficial: https://openai.com/index/introducing-structured-outputs-in-the-api/

Puntos clave:

🌟 Se lanza la función de Salidas Estructuradas, para una salida de modelo más fiable que sigue el esquema JSON proporcionado por el desarrollador.

🔍 El nuevo modelo gpt-4o-2024-08-06 obtiene una puntuación perfecta del 100% en la evaluación de esquemas JSON complejos.

🔧 Los SDK de Python y Node se han actualizado para admitir las Salidas Estructuradas, simplificando el flujo de trabajo de los desarrolladores.