Sortie Structurée des LLM : JSON Schema Expliqué
Demandez à un modèle de répondre en JSON, et la plupart du temps json.loads() fonctionne sans problème. Les échecs sont ceux qui vous coûtent une session de débogage : un commentaire sur une ligne à l’intérieur de l’objet, un code fence markdown qui l’entoure, une clé écrite userEmail quand votre code attend user_email. Un prompt plus strict (“répondez UNIQUEMENT avec l’objet JSON, aucun autre texte”) rend ces cas plus rares. Il ne les rend pas impossibles, car le modèle peut quand même ignorer la consigne. La sortie structurée n’a plus besoin de cette consigne : vous donnez à l’API un JSON Schema, qui contraint l’échantillonnage des tokens du modèle pour que la réponse doive s’y conformer. ...