Formater la sortie et pre-remplir
Formater avec des balises XML
Vous pouvez demander a Claude d’envelopper sa reponse dans des balises XML specifiques. Cela facilite l’extraction automatique du contenu :
prompt = "Ecris un poeme sur l'automne. Mets le poeme entre les balises <poeme></poeme>."
L’avantage : un programme peut extraire le contenu entre les balises de maniere fiable.
Pre-remplir la reponse (prefill)
En placant du texte dans le tour assistant, vous indiquez a Claude qu’il a deja commence a parler. Il continuera a partir de ce point :
messages = [
{"role": "user", "content": "Ecris un poeme sur l'automne entre des balises <poeme>."},
{"role": "assistant", "content": "<poeme>"}
]
Claude continuera directement avec le contenu du poeme.
Forcer un format JSON
Pour obtenir du JSON de maniere quasi-deterministe, pre-remplissez avec l’accolade ouvrante :
messages = [
{"role": "user", "content": "Donne-moi les infos de cette personne en JSON."},
{"role": "assistant", "content": "{"}
]
Stop sequences et format
Combinez le prefill avec les stop_sequences pour des reponses parfaitement bornees. Si Claude doit generer du contenu entre <poeme> et </poeme>, utilisez </poeme> comme stop sequence. Cela economise des tokens et elimine les commentaires superflus.
Combiner plusieurs techniques
Vous pouvez utiliser simultanement :
- Plusieurs variables d’entree en XML
- Un format de sortie specifie en XML
- Un prefill pour demarrer la reponse
prompt = f"""Voici un email et le nom de son auteur. Extrais les informations cles.
<email>{email_content}</email>
<auteur>{author_name}</auteur>
Reponds dans des balises <analyse></analyse>."""
Exercices
Exercice 1 : Forcer un argument
Utilisez le prefill pour forcer Claude a argumenter qu’un joueur specifique est le meilleur de tous les temps (au lieu de laisser Claude choisir).
Exercice 2 : Deux haikus
Demandez a Claude d’ecrire deux haikus separes : un sur les chats et un sur les chiens. Utilisez des balises XML distinctes pour chacun.