La sortie structurée force un LLM à répondre selon un format et un schéma stricts (souvent JSON), pour une réponse directement exploitable par du code ou un agent.
📖 Définition
La sortie structurée (structured output, ou « JSON mode ») consiste à contraindre un modèle de langage à produire sa réponse dans un format de données prédéfini – le plus souvent du JSON – respectant un schéma explicite, afin qu'elle soit directement exploitable par du code ou un agent logiciel, sans avoir à « parser » du texte libre. On distingue deux niveaux. Le « JSON mode » simple force le modèle à renvoyer du JSON syntaxiquement valide, mais sans garantie forte de conformité à un schéma (des champs peuvent manquer, des types être incorrects). Les « structured outputs » basés sur schéma vont plus loin : on fournit un JSON Schema (ou une signature d'outil), et le modèle utilise un décodage contraint (constrained decoding) qui empêche la génération de tokens qui violeraient le schéma – type incompatible, clé inconnue ou champ obligatoire manquant deviennent impossibles. Les principaux fournisseurs (OpenAI, Anthropic, Google, Cohere) exposent ces modes via des paramètres dédiés (json_schema, strict=true). Côté application, des bibliothèques comme Pydantic (Python) ou Zod (TypeScript) valident la réponse et lèvent une erreur en cas d'écart. La sortie structurée est indispensable pour fiabiliser l'intégration d'un LLM dans une application ou un agent.
💬 En termes simples
C'est comme remplir un formulaire à cases plutôt que d'écrire une lettre libre : au lieu d'un texte qu'il faut interpréter, on obtient des champs nets et prévisibles que le système peut lire directement.
🎯 Exemple concret
Pour extraire les informations d'une facture, on demande au modèle une sortie structurée selon un schéma {fournisseur, date, montant, devise} : on récupère un JSON propre directement utilisable, au lieu d'un paragraphe qu'il faudrait analyser à la main.
💡 Le saviez-vous?
Avec le « décodage contraint », le modèle ne peut littéralement pas produire un JSON invalide ou hors-schéma : à chaque token, seuls ceux qui respectent le schéma sont autorisés – la conformité est garantie par construction, pas vérifiée après coup.
❓ Questions fréquentes
Différence entre JSON mode et structured outputs ?
Le JSON mode garantit un JSON syntaxiquement valide, mais pas forcément conforme à un schéma ; les structured outputs basés sur schéma garantissent en plus que la structure et les types respectent le schéma fourni.
Pourquoi utiliser une sortie structurée ?
Pour intégrer fiablement un LLM dans une application ou un agent : une réponse au format strict est directement lisible par le code, sans parsing fragile de texte libre.
Reçois chaque semaine le meilleur de l'actualité IA, directement dans ta boîte.
Pas de pourriel, désinscription en 1 clic.
✉️
Restez informé
Recevez nos sélections d'outils et articles directement dans votre boîte courriel.
🔐 Connexion rapide
Entrez votre courriel pour recevoir un code à 6 chiffres.
Pas besoin de mot de passe ni d'inscription. Entrez votre courriel, recevez un code par courriel, et c'est tout !
✓
Paramètres de confidentialité
Nous utilisons des témoins (cookies) pour assurer le bon fonctionnement du site, analyser le trafic, personnaliser le contenu et, avec votre accord, afficher de la publicité personnalisée. Vous pouvez gérer vos préférences ci-dessous.
Politique de confidentialité · Politique de cookies