Aller au contenu principal

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.