par Philippe Godet
Partager
par Philippe Godet
Partager
Mode d’emploi pas-à-pas pour dialoguer avec une IA en format structuré
1. Pourquoi un module entier sur « JSON » ?
Quand on tape un prompt dans ChatGPT, on écrit du texte libre.
Mais dès qu’on passe du jouet à l’outil, on veut :
Besoin réel | Problème avec le texte libre | Solution JSON |
---|---|---|
Automatiser un même flux (API, Zapier, Make…) | Le prompt doit être reconstruit à chaque appel | Un objet JSON stable que l’on « remplit » |
Obtenir un format de réponse garanti (tableau, coordonnées, code) | Le modèle répond parfois « presque » au bon format | Le nouveau mode response_format: "json" impose un JSON valide |
Chaîner plusieurs LLM (agent, RAG, assistants) | Impossible d’extraire les infos si la syntaxe varie | On lit/écrit toujours la même structure JSON |
Résultat : JSON devient la prise universelle pour brancher les LLM dans un produit, un script No-Code ou… un simple tableur Google Sheets.
2. Mini-glossaire « aucune notion dev »
Terme | Définition “grand public” |
---|---|
JSON | Texte à accolades { } qui range les infos en paires clé : valeur (comme “colonne : donnée” dans Excel) |
Message | Un bloc JSON contenant au minimum role (system , user , assistant ) et content (le texte) |
Schema / modèle JSON | Grille qui décrit les champs attendus (nom, type, longueur, etc.) |
JSON mode | Option API ("response_format":{"type":"json_object"} ) obligeant le LLM à renvoyer un JSON valide |
Validation | Étape où l’on vérifie qu’une réponse suit le schéma (sinon → « corrige » ou « retry ») |
Gardez cette table à portée : elle évite 80 % des quiproquos.
3. Ce que vous saurez faire après ce module
- Repérer la structure d’un prompt JSON (tableau messages)
- Écrire votre premier « template » avec variables faciles à remplir
- Contraindre la réponse à un format JSON garanti
- Déboguer une conversation (erreurs fréquentes et correctifs)
- Suivre un atelier pratique sans écrire une ligne de code : copier / coller un fichier .json, l’envoyer dans Playground ou Make, lire la sortie dans un tableur.
4. Anatomie du prompt JSON
{
« model »: « gpt-4o-mini »,
« messages »: [
{ « role »: « system »,
« content »: « Tu es un expert en art contemporain. Réponds UNIQUEMENT en JSON. » },
{ « role »: « user »,
« content »: « Donne-moi la fiche de Jeff Koons – œuvre la plus chère, date, prix. » }
],
« response_format »: { « type »: « json_object » }
}
4.1 Décryptage ultra-simple
- Accolades externes {} = dossier principal de la requête
model
: variante du LLMmessages
: la conversation (toujours un tableau[]
)- chaque message ≥ deux clés :
role
&content
response_format
: ici, on force un retour JSON propre ✨
Aucune virgule finale ➜ sinon erreur « invalid JSON ».
Le LLM reçoit le tout en une seule fois, comprend qu’il doit jouer le rôle demandé, et sait qu’il n’a pas le droit de sortir du cadre.
5. Votre premier template prêt à remplir
Fichier fiche_artiste_template.json :
{
« model »: « gpt-4o-mini »,
« messages »: [
{ « role »: « system »,
« content »: « Tu es un conservateur de musée. Réponds en JSON conforme au schéma. » },
{ « role »: « user »,
« content »: « Fournis la fiche complète de {{ARTISTE}}. » }
],
« response_format »: { « type »: « json_object » },
« temperature »: 0.3
}
• {{ARTISTE}}
= variable à remplacer (Koons, Kusama…).
• Le même fichier sert mille fois : on ne change que la valeur.
📄 Astuce débutant : ouvrez le fichier dans Notepad / TextEdit, n’utilisez pas Word (il ajoute des guillemets “smart”).
6. Élargir avec un schéma (optionnel mais puissant)
Le mode JSON d’OpenAI accepte un mini-schéma :
« response_format »: {
« type »: « json_object »,
« schema »: {
« type »: « object »,
« properties »: {
« work »: { « type »: « string » },
« sale_price_m »: { « type »: « number » },
« sale_year »: { « type »: « integer » }
},
« required »: [« work », « sale_price_m », « sale_year »]}
}
Le modèle ne peut plus “oublier” un champ ; s’il le fait, l’API signale une erreur.
Bien : vous recevez un JSON toujours valide ⇒ votre tableau Excel se charge sans casse.
7. Stratégies : parler clair, parler JSON
Situation | Formulation “texte libre” | Formulation JSON (recommandée) |
---|---|---|
LLM doit répondre par trois puces | « Donne-moi trois raisons… » | {"format":"bullet3"} ou préciser le schéma {"reason1":...} |
Vous voulez du code réutilisable | « Écris-moi du Python » | Ajoutez champ "language":"python" et forcez "response_format":"json_object" |
Vous parsez la réponse dans un Zap | Aucune contrainte → échec | Exigez des clés simples ("title" , "summary" ) |
Bonne pratique : toujours finir la consigne par “Réponds exclusivement avec un JSON valide, sans commentaire hors du JSON.”
8. Erreurs fréquentes & correctifs
Message API | Explication | Correctif rapide |
---|---|---|
invalid_request_error: JSON must be an object |
Vous avez laissé traîner un texte avant { |
Supprimez les retours ligne vides ou commentaires |
schema_violation |
Le modèle n’a pas respecté votre schéma | ① Redemandez ; ② simplifiez le schéma |
Réponse contient \n hors guillemets |
LLM a tenté un “joli format” | Ajoutez « sans newlines non échappés » |
Le JSON est bon, mais manque un champ | Champ non “required” | Ajoutez-le dans required ou vérifiez vos majuscules |
Règle d’or : relancez la même requête → un second appel corrige souvent le tir (stochastique).
9. Bonnes pratiques
# Envoyer
POST chat/completions
Content-Type: application/json# Structure minimale
{
« model »: »gpt-4o-mini »,
« messages »:[{…}],
« response_format »:{« type »: »json_object »}
}# Consignes clés
✅ Clarifier le rôle (system)
✅ Définir un schema simple
✅ Dire “Réponds uniquement en JSON valide”
✅ Vérifier la réponse (try / except json.loads)
Imprimez-la ; fixez-la à votre écran.
10. Mini-atelier guidé (30 min)
1 – Téléchargez le pack formation_resources (lien plus bas)
2 – Ouvrez Playground ou Make/OpenAI ➔ raw mode
3 – Chargez fiche_artiste_template.json, remplacez {{ARTISTE}} par “Banksy”
4 – Cliquez Run → observez la sortie JSON
5 – Copiez-collez le résultat dans Excel > Données > À partir du JSON
6 – Rejouez avec “Yayoi Kusama” ; comparez les prix
Pas une ligne de code, juste copier-coller.
11. Sécurité & gouvernance express
PII : si la réponse doit contenir des données perso, chiffrez‐les avant stockage.
Logs : masquez les clés API dans vos plateformes No-Code.
Contrôle de version : gardez vos prompts JSON dans Git ou Google Drive ; ajoutez un champ « version »: « 2025-06-17 ».
Audit : les schémas JSON sont autodocumentants ; joignez-les à la fiche de conformité IA.
12. FAQ ultra-condensée
Question débutant | Réponse courte |
---|---|
“Dois-je apprendre la syntaxe complète JSON ?” | Les quatre règles : { } ; clés en « snake_case » ; pas de virgule finale ; guillemets doubles seulement. |
“Pourquoi l’IA m’envoie quand même du texte libre ?” | Oubliez pas response_format . Vérifiez aussi qu’aucun message assistant précédent ne brise l’instruction. |
“Puis-je imbriquer du Markdown ?” | Non : JSON ou Markdown, pas les deux dans le même corps si vous voulez parser. |
“Comment valider le JSON sans coder ?” | copiez-collez la réponse dans jsonlint.com (gratuit). |
13. Ressources gratuites
- Docs OpenAI – Prompt Engineering Guide (section JSON mode)
- “Best practices” – OpenAI Help
- Azure OpenAI JSON mode (pas-à-pas)
- Google 68-page white-paper (avril 2025) : PDF complet sur la structuration des prompts JSON, résumé disponible sur youtube.
14. Fichiers : starter-kit pratique 🚀
Fichier | Contenu | Lien |
---|---|---|
fiche_artiste_template.json | Template paramétrable {{ARTISTE}} | Inclus dans le pack |
schema_fiche_artiste.json | Schéma JSON (work, price, year) | Inclus |
prompt_debug_examples.json | 5 cas d’erreurs + corrections | Inclus |
fiche_artiste_banksy_result.json | Exemple de sortie valide | Inclus |
Téléchargez le nouveau pack “json_prompt_resources.zip”.
15. Rappel-éclair
Toujours envoyer un tableau messages
, imposer response_format
, bannir le blabla hors JSON, valider avant d’exploiter.
16. Et maintenant… testez !
- Dans le pack, ouvrez prompt_debug_examples.json
- Prenez l’erreur #2 « virgule finale »
- Corrigez-la → relancez
- Constatez que l’API ne renvoie plus d’erreur.
En 30 minutes, vous aurez :
- écrit votre premier prompt JSON,
- forcé un LLM à répondre dans un format garanti,
- importé le résultat dans un tableur.
Vous voilà armé pour brancher n’importe quelle IA dans vos outils sans craindre la casse – le pouvoir du JSON à portée de copier-coller !
RESTEZ DANS LA BOUCLE
Actualité digitale et Formations Marketing & Vente
Laisser un commentaire
Quels sont les outils d'IA accessibles aux professionnels, et que peuvent-ils vraiment faire pour votre activité quotidienne ?
L'IA n'est plus une vision futuriste réservée aux grandes entreprises technologiques. Elle est accessible et peut transformer la façon dont vous travaillez au quotidien.