Citations
Sur cette page
Avec un PDF, la question de la confiance se pose vite : l’utilisateur doit croire Claude sur parole quand il interprète le document. Les citations répondent à ce problème : elles montrent d’où vient chaque information, jusqu’au passage exact.
Activer les citations
Un seul paramètre, dans le bloc document :
with open("earth.pdf", "rb") as f:
file_bytes = f.read()
messages = []
add_user_message(messages, [
{
"document": {
"format": "pdf",
"name": "earth",
"source": {"bytes": file_bytes},
"citations": {"enabled": True},
}
},
{"text": "Comment l'atmosphère et les océans de la Terre se sont-ils formés ?"},
])
result = chat(messages)
Lire une réponse citée
Avec les citations, la réponse change de forme. Elle contient des blocs citationsContent, qui portent à la fois le texte généré (content) et ses sources (citations). Chaque citation donne le passage cité (sourceContent) et son emplacement (location), par exemple des numéros de page pour un PDF.
Attention à notre fonction chat : elle ne lit que les blocs text, et manquerait les phrases citées. Pour reconstituer la réponse avec ses sources :
def cited_answer(parts):
out = []
for part in parts:
if "text" in part:
out.append(part["text"])
elif "citationsContent" in part:
block = part["citationsContent"]
out.append("".join(c["text"] for c in block.get("content", []) if "text" in c))
for citation in block.get("citations", []):
quote = "".join(s["text"] for s in citation.get("sourceContent", []) if "text" in s)
out.append(f" [source : « {quote[:80]} » ; {citation.get('location')}]")
return "".join(out)
print(cited_answer(result["parts"]))
L’emplacement dépend du type de document : des pages pour un PDF, des positions de caractères pour un texte brut. Selon la documentation d’Anthropic, le texte cité renvoyé par l’API ne compte pas dans les tokens de sortie.
Les règles à connaître
- Activez les citations sur tous les documents d’une requête, ou sur aucun : la documentation d’Anthropic ne permet pas de les mélanger.
- Les citations sont incompatibles avec les sorties structurées : d’après AWS, combiner les deux renvoie une erreur 400.
- Une réponse citée se lit bloc par bloc ; affichez les sources à côté du texte, c’est tout leur intérêt.
Pourquoi les citations comptent
- La vérification : l’utilisateur peut contrôler chaque affirmation dans la source.
- La confiance : savoir d’où vient une information la rend crédible.
- La transparence : le travail de Claude devient visible et vérifiable.
- La précision : citer pousse à extraire l’information avec soin.
Dans un contexte professionnel, juridique ou de recherche, les citations font de Claude un assistant qui montre son travail plutôt qu’une boîte noire.
À vous de jouer
Vérifier trois citations. Sur votre PDF de la leçon 45, activez les citations et posez une question qui demande plusieurs informations. Pour trois citations, retrouvez le passage dans le document à partir de location. Le passage cité soutient-il vraiment la phrase de Claude ?
Sources officielles : Citations (Claude Academy) · Citations (documentation Claude) · Get validated JSON results from models (documentation AWS : incompatibilité avec les citations)
Points clés à retenir
"citations": {"enabled": True}dans le blocdocumentactive les citations.- La réponse contient des blocs
citationsContent: texte généré, passage cité, emplacement. - Lisez ces blocs explicitement : un filtre sur les seuls blocs
textmanque les phrases citées. - Tous les documents d’une requête ou aucun ; pas de citations avec les sorties structurées.