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
- Claude lit le message utilisateur et pense qu’il doit ecrire une regle complete
- Il voit le message assistant pre-rempli et suppose qu’il a deja commence le bloc JSON
- Il genere directement le contenu JSON
- 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.