OpenAI lance une nouvelle fonctionnalité passionnante : les sorties structurées (Structured Outputs). Elle vise à garantir que les sorties générées par le modèle respectent strictement le schéma JSON fourni par le développeur.

image.png

Lors de la journée des développeurs (DevDay) de l'année dernière, OpenAI a présenté pour la première fois les schémas JSON, constituant une base importante pour la création d'applications fiables par les développeurs. Bien que les schémas JSON aient amélioré la fiabilité de la génération de sorties JSON valides par le modèle, ils ne garantissaient pas que la réponse du modèle respectait un schéma spécifique. La fonctionnalité de sorties structurées d'aujourd'hui est conçue pour résoudre ce problème.

Avec l'utilisation croissante de l'IA dans les applications, la génération de données structurées à partir d'entrées non structurées est devenue un cas d'utilisation central. Les développeurs utilisent l'API OpenAI pour construire des assistants puissants capables d'obtenir des données via des appels de fonctions, de répondre à des questions et d'extraire des données structurées pour la saisie de données. Auparavant, les développeurs devaient souvent recourir à des outils open source, à des requêtes répétées, etc., pour s'assurer que la sortie du modèle correspondait au format requis par leur système. Désormais, la fonctionnalité de sorties structurées améliore considérablement la fiabilité de la sortie en contraignant le modèle OpenAI à correspondre au schéma fourni par le développeur.

Sorties structurées avec un schéma JSON complexe : score de 100 %

Il est à noter que lors de l'évaluation sur des schémas JSON complexes, le nouveau modèle gpt-4o-2024-08-06 a obtenu un score parfait de 100 % en termes de sorties structurées, tandis que le modèle gpt-4-0613 précédent n'avait obtenu qu'un score inférieur à 40 %. Cela signifie que le nouveau modèle est beaucoup plus performant pour générer des sorties conformes à un schéma spécifique.

image.png

Comment utiliser les sorties structurées

L'utilisation des sorties structurées est très simple. OpenAI a introduit deux formes pour l'API : les appels de fonctions via des outils et une nouvelle option de format de réponse. Les développeurs peuvent fournir un schéma JSON via le paramètre json_schema. Lorsque le mode strict est activé, la sortie du modèle respectera strictement le schéma fourni.

1. Appels de fonctions : en définissant strict: true dans la définition de la fonction, vous pouvez obtenir des sorties structurées via tools. Cette fonctionnalité est compatible avec tous les modèles prenant en charge les outils, y compris tous les modèles gpt-4-0613 et gpt-3.5-turbo-0613 et les versions ultérieures. Une fois les sorties structurées activées, la sortie du modèle correspondra à la définition des outils fournie.

2.response_format nouvelle option du paramètre : les développeurs peuvent désormais fournir un schéma JSON via json_schema, une nouvelle option du paramètre response_format. Ceci est utile lorsque le modèle ne fait pas appel à des outils, mais répond à l'utilisateur de manière structurée. Cette fonctionnalité est compatible avec nos derniers modèles GPT-4o : gpt-4o-2024-08-06 et gpt-4o-mini-2024-07-18, lancés aujourd'hui. Lorsque response_format est fourni avec strict: true, la sortie du modèle correspondra à la structure fournie.

La sécurité est une priorité absolue pour OpenAI. Cette nouvelle fonctionnalité fonctionnera sous les politiques de sécurité existantes, et le modèle pourra toujours refuser les requêtes non sécurisées. De plus, pour simplifier le processus de développement, nous avons ajouté une nouvelle valeur de chaîne de refus pour aider les développeurs à détecter par programmation si le modèle a généré un message de refus.

Prise en charge native des SDK

Les SDK Python et Node d'OpenAI ont également été mis à jour pour prendre en charge la fonctionnalité native des sorties structurées. Les développeurs n'ont qu'à fournir un objet Pydantic ou Zod, et les SDK OpenAI gèrent automatiquement la conversion des types de données et l'analyse de la réponse JSON.

Le lancement d'aujourd'hui montre que les sorties structurées simplifieront le travail des développeurs et les aideront à créer plus facilement des applications exceptionnelles.

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

Points clés :

🌟 Lancement de la fonctionnalité de sorties structurées : des sorties de modèle plus fiables, conformes au schéma JSON fourni par le développeur.

🔍 Le nouveau modèle gpt-4o-2024-08-06 obtient un score parfait de 100 % lors de l'évaluation sur des schémas JSON complexes.

🔧 Les SDK Python et Node ont été mis à jour pour prendre en charge les sorties structurées, simplifiant ainsi le flux de travail des développeurs.