Aller au contenu principal

Extraire des donnees structurees

Quand on demande a Claude de generer du JSON, du Python ou des listes structurees, il a tendance a ajouter du texte explicatif autour. Pour obtenir uniquement les donnees brutes, on combine le pre-remplissage et les sequences d’arret.

Le probleme

Imaginons une application web qui genere des regles AWS EventBridge. L’utilisateur entre une description, clique sur “generer” et s’attend a du JSON propre, pret a copier. Si Claude enveloppe le JSON dans des blocs de code markdown avec des explications, c’est inutilisable directement.

La solution

messages = []
add_user_message(messages, "Genere une regle EventBridge courte en JSON")
add_assistant_message(messages, "```json")

text = chat(messages, stop_sequences=["```"])

Comment ca fonctionne

  1. Claude lit le message utilisateur et pense qu’il doit ecrire une regle complete
  2. Il voit le message assistant pre-rempli et suppose qu’il a deja commence le bloc JSON
  3. Il genere directement le contenu JSON
  4. Quand il essaie de fermer le bloc avec ```, la sequence d’arret coupe immediatement la generation

Le resultat : tout ce qui se trouve entre le debut pre-rempli et la sequence d’arret, soit exactement le contenu voulu.

Nettoyage

import json

parsed_json = json.loads(text.strip())

Cette technique fonctionne pour tout format structure : JSON, code Python, listes a puces, expressions regulieres, etc.