Structured Outputs
Apprends comment les sorties structurées fournissent des données IA lisibles par machine. Explore l'application de schémas et les tâches de vision avec Ultralytics YOLO26 sur la plateforme Ultralytics.
Les sorties structurées font référence à une méthodologie en intelligence artificielle où les réponses des modèles sont strictement forcées à respecter un format de données prédéfini, typiquement un JSON Schema. Dans les Large Language Models (LLMs) traditionnels, la génération de texte repose sur la prédiction de jetons probabilistes, ce qui entraîne souvent un texte libre et non structuré. En utilisant des sorties structurées, tu peux garantir qu'un système d'IA renvoie des données prédictives et lisibles par machine, éliminant ainsi le besoin de scripts d'analyse fragiles et de gestion des erreurs complexe.
Comprendre les sorties structurées par rapport au mode JSON#
Alors que les premières versions de generative AI proposaient un « mode JSON » de base, cela garantissait uniquement que la sortie était un JSON valide sans assurer qu'elle contenait les clés ou types de données spécifiques demandés. Les sorties structurées résolvent ce problème grâce à une technique appelée décodage contraint. Pendant la génération, le inference engine filtre le vocabulaire du modèle à chaque étape, en masquant les jetons qui violeraient le schéma fourni par le développeur. Cela garantit une conformité de 100 % au schéma.
Le concept de Function Calling (Tool Use) est étroitement lié à cette méthodologie. Bien que l'appel de fonctions permette aux modèles de déterminer quand exécuter un outil externe, il repose entièrement sur des sorties structurées pour remplir avec précision les paramètres requis de l'outil sans hallucinations.
Adoption par l'industrie et frameworks#
Entre 2024 et 2025, les principaux fournisseurs d'IA ont fait des sorties structurées une fonctionnalité native pour améliorer la fiabilité des systèmes d'entreprise. Par exemple, l'OpenAI Structured Outputs API permet aux développeurs de définir des schémas rigoureux en utilisant Pydantic en Python ou Zod en JavaScript. De même, les outils Anthropic's Claude structured outputs et Google Gemini structured output prennent désormais en charge l'application stricte des schémas pour les invites complexes.
Les écosystèmes open-source exploitent également des frameworks tels que vLLM et Outlines pour fournir des constrained decoding methodologies pour des modèles personnalisés construits avec PyTorch.
Applications concrètes#
La mise en œuvre de sorties structurées transforme les réponses d'IA ambigües en données de predictive modeling exploitables. Les principaux cas d'utilisation incluent :
- Data Extraction Pipelines : Les entreprises utilisent des sorties structurées pour extraire des entités spécifiques (telles que des noms de candidats, des totaux de factures et des dates) à partir de documents bruts non structurés et les intégrer directement dans des bases de données SQL sans saisie de données manuelle.
- Autonomous AI Agents : Les flux de travail agentiques s'appuient sur des données structurées pour naviguer dans des logiciels complexes. Un agent peut analyser une requête utilisateur et générer une charge utile JSON stricte qui déclenche une API externe, mettant à l'échelle les opérations de manière sécurisée via des systèmes tels que Databricks Model Serving.
Les sorties structurées en vision par ordinateur#
Bien que largement discutées dans le traitement du langage naturel, les sorties structurées constituent le principe de fonctionnement fondamental de la Computer Vision. Les modèles de vision ne produisent pas de texte libre ; ils produisent nativement des tenseurs hautement organisés représentant des coordonnées, des classes et des scores de confiance. Par exemple, des modèles de pointe comme Ultralytics YOLO26 évaluent une image et renvoient des données spatiales strictement formatées, ce qui est idéal pour un model deployment fluide dans des environnements de périphérie à faible latence.
L'extrait suivant démontre la simplicité avec laquelle tu peux extraire des résultats d'object detection structurés en utilisant le package ultralytics :
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference to generate structured visual data
results = model("image.jpg")
# The model strictly outputs structured bounding box objects
for box in results[0].boxes:
print(f"Class ID: {box.cls}, Confidence: {box.conf}, Coordinates: {box.xyxy}")En comblant le fossé entre la logique d'IA probabiliste et les exigences logicielles déterministes, les sorties structurées servent de composant essentiel pour la construction de systèmes évolutifs prêts pour la production sur la Ultralytics Platform et au-delà.






