Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Structured output : parser du JSON
Les LLM renvoient du texte brut. Mais ton application a besoin de donnees structurees : un dictionnaire avec des cles precises, des types specifiques. Le "structured output", c'est forcer le LLM a repondre dans un format JSON precis, puis valider ce JSON cote serveur.
Le probleme : le LLM peut renvoyer du JSON invalide, oublier des champs, ou mettre le mauvais type. Par exemple, tu attends un prix en float et il renvoie "vingt euros". Il faut donc un systeme de validation robuste.
Tu vas ecrire une fonction valider_sortie(texte_json, schema) qui prend : - texte_json : une chaine de caracteres censee contenir du JSON - schema : un dictionnaire decrivant les champs attendus
Le schema a cette forme : {"nom": {"type": "str", "obligatoire": True}, "age": {"type": "int", "obligatoire": False}}
Les types possibles sont : "str", "int", "float", "bool", "list".
La fonction doit : 1. Tenter de parser le JSON. Si ca echoue, renvoyer {"valide": False, "erreur": "JSON invalide"} 2. Verifier que tous les champs obligatoires sont presents. Si non, renvoyer {"valide": False, "erreur": "Champs manquants: [liste]"} 3. Verifier les types de chaque champ present. Si un type est mauvais, renvoyer {"valide": False, "erreur": "Type incorrect pour <champ>: attendu <type>, recu <type>"} 4. Si tout est bon, renvoyer {"valide": True, "donnees": le_dictionnaire_parse}