Claude Platform Docs
  • Messages
  • Agents gérés
  • Administration

Search...
⌘K
Premiers pas
Introduction à ClaudeDémarrage rapide
Développer avec Claude
Aperçu des fonctionnalitésUtilisation de l'API MessagesRaisons d'arrêt et repliRefus et repliCrédit de repli
Capacités du modèle
Réflexion étendueRéflexion adaptativeEffortBudgets de tâches (bêta)Mode rapide (aperçu de recherche)Sorties structuréesCitationsStreaming des messagesTraitement par lotsRésultats de rechercheStreaming des refusPrise en charge multilingueEmbeddings
Outils
AperçuFonctionnement de l'utilisation d'outilsTutoriel : Créer un agent utilisant des outilsDéfinir des outilsGérer les appels d'outilsUtilisation d'outils en parallèleTool Runner (SDK)Utilisation d'outils stricteUtilisation d'outils avec mise en cache des promptsOutils serveurDépannageOutil de recherche webOutil de récupération webOutil d'exécution de codeOutil conseillerOutil de mémoireOutil BashOutil d'utilisation de l'ordinateurOutil d'éditeur de texte
Infrastructure des outils
Référence des outilsGérer le contexte des outilsCombinaisons d'outilsRecherche d'outilsAppel d'outils programmatiqueStreaming d'outils granulaire
Gestion du contexte
Fenêtres de contexteCompactageÉdition du contexteMise en cache des promptsMessages système en cours de conversationCréer un mode d'orchestrationDiagnostics de cache (bêta)Comptage de tokens
Travailler avec des fichiers
API FilesPrise en charge des PDFImages et vision
Compétences
AperçuDémarrage rapideBonnes pratiquesCompétences pour l'entrepriseCompétences dans l'API
MCP
Serveurs MCP distantsConnecteur MCP
Claude sur les plateformes cloud
Amazon BedrockAmazon Bedrock (ancien)Claude Platform sur AWSMicrosoft FoundryVertex AI

Log in
Citations
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Capacités du modèle

Citations



Cette fonctionnalité est éligible à la Zero Data Retention (ZDR). Lorsque votre organisation dispose d'un accord ZDR, les données envoyées via cette fonctionnalité ne sont pas stockées après le retour de la réponse de l'API.

Claude est capable de fournir des citations détaillées lorsqu'il répond à des questions sur des documents, vous aidant ainsi à suivre et à vérifier les sources d'information dans les réponses.

Tous les modèles actifs prennent en charge les citations, à l'exception de Haiku 3.



Partagez vos commentaires et suggestions concernant la fonctionnalité de citations en utilisant ce formulaire.

Voici un exemple d'utilisation des citations avec l'API Messages :

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "text",
                        "media_type": "text/plain",
                        "data": "The grass is green. The sky is blue.",
                    },
                    "title": "My Document",
                    "context": "This is a trustworthy document.",
                    "citations": {"enabled": True},
                },
                {"type": "text", "text": "What color is the grass and sky?"},
            ],
        }
    ],
)
print(response)


Comparaison avec les approches basées sur les prompts

Par rapport aux solutions de citations basées sur les prompts, la fonctionnalité de citations présente les avantages suivants :

  • Économies de coûts : si votre approche basée sur les prompts demande à Claude de produire des citations directes, vous pourriez constater des économies de coûts, car cited_text n'est pas comptabilisé dans vos tokens de sortie.
  • Meilleure fiabilité des citations : comme les citations sont analysées dans les formats de réponse respectifs mentionnés ci-dessus et que cited_text est extrait, les citations sont garanties de contenir des pointeurs valides vers les documents fournis.
  • Qualité de citation améliorée : lors des évaluations, la fonctionnalité de citations s'est révélée significativement plus susceptible de citer les extraits les plus pertinents des documents par rapport aux approches purement basées sur les prompts.

Fonctionnement des citations

Intégrez les citations avec Claude en suivant ces étapes :

  1. 1

    Fournir le ou les documents et activer les citations

    • Incluez des documents dans l'un des formats pris en charge : PDF, texte brut ou documents à contenu personnalisé
    • Définissez citations.enabled=true sur chacun de vos documents. Actuellement, les citations doivent être activées sur tous les documents d'une requête ou sur aucun d'entre eux.
    • Notez que seules les citations de texte sont actuellement prises en charge et que les citations d'images ne sont pas encore possibles.
  2. 2

    Traitement des documents

    • Le contenu des documents est « segmenté » afin de définir la granularité minimale des citations possibles. Par exemple, la segmentation par phrase permettrait à Claude de citer une seule phrase ou d'enchaîner plusieurs phrases consécutives pour citer un paragraphe (ou plus) !
      • Pour les PDF : le texte est extrait comme décrit dans Prise en charge des PDF et le contenu est segmenté en phrases. La citation d'images provenant de PDF n'est pas actuellement prise en charge.
      • Pour les documents en texte brut : le contenu est segmenté en phrases qui peuvent être citées.
      • Pour les documents à contenu personnalisé : les blocs de contenu que vous fournissez sont utilisés tels quels et aucune segmentation supplémentaire n'est effectuée.
  3. 3

    Claude fournit une réponse avec citations

    • Les réponses peuvent désormais inclure plusieurs blocs de texte où chaque bloc de texte peut contenir une affirmation faite par Claude et une liste de citations qui appuient cette affirmation.
    • Les citations font référence à des emplacements spécifiques dans les documents sources. Le format de ces citations dépend du type de document cité.
      • Pour les PDF : les citations incluent la plage de numéros de page (indexée à partir de 1).
      • Pour les documents en texte brut : les citations incluent la plage d'index de caractères (indexée à partir de 0).
      • Pour les documents à contenu personnalisé : les citations incluent la plage d'index de blocs de contenu (indexée à partir de 0) correspondant à la liste de contenu originale fournie.
    • Les index de documents sont fournis pour indiquer la source de référence et sont indexés à partir de 0 selon la liste de tous les documents de votre requête originale.


Segmentation automatique vs contenu personnalisé

Par défaut, les documents en texte brut et PDF sont automatiquement segmentés en phrases. Si vous avez besoin de plus de contrôle sur la granularité des citations (par exemple, pour des listes à puces ou des transcriptions), utilisez plutôt des documents à contenu personnalisé. Consultez Types de documents pour plus de détails.

Par exemple, si vous souhaitez que Claude puisse citer des phrases spécifiques de vos segments RAG, vous devriez placer chaque segment RAG dans un document en texte brut. Sinon, si vous ne souhaitez aucune segmentation supplémentaire, ou si vous souhaitez personnaliser toute segmentation additionnelle, vous pouvez placer les segments RAG dans un ou plusieurs documents à contenu personnalisé.

Contenu citable vs non citable

  • Le texte présent dans le contenu source d'un document peut être cité.
  • title et context sont des champs facultatifs qui seront transmis au modèle mais ne seront pas utilisés pour le contenu cité.
  • title est limité en longueur, vous pourriez donc trouver le champ context utile pour stocker toute métadonnée de document sous forme de texte ou de JSON sérialisé.

Index de citation

  • Les index de documents sont indexés à partir de 0 à partir de la liste de tous les blocs de contenu de type document dans la requête (couvrant tous les messages).
  • Les index de caractères sont indexés à partir de 0 avec des index de fin exclusifs.
  • Les numéros de page sont indexés à partir de 1 avec des numéros de page de fin exclusifs.
  • Les index de blocs de contenu sont indexés à partir de 0 avec des index de fin exclusifs à partir de la liste content fournie dans le document à contenu personnalisé.

Coûts en tokens

  • L'activation des citations entraîne une légère augmentation des tokens d'entrée en raison des ajouts à l'invite système et de la segmentation des documents.
  • Cependant, la fonctionnalité de citations est très efficace en termes de tokens de sortie. En coulisses, le modèle produit des citations dans un format standardisé qui sont ensuite analysées en texte cité et en index d'emplacement de document. Le champ cited_text est fourni pour plus de commodité et n'est pas comptabilisé dans les tokens de sortie.
  • Lorsqu'il est retransmis dans les tours de conversation suivants, cited_text n'est pas non plus comptabilisé dans les tokens d'entrée.

Compatibilité des fonctionnalités

Les citations fonctionnent conjointement avec d'autres fonctionnalités de l'API, notamment la mise en cache des prompts, le comptage de tokens et le traitement par lots.



Les citations et les sorties structurées sont incompatibles

Les citations ne peuvent pas être utilisées conjointement avec les sorties structurées. Si vous activez les citations sur un document fourni par l'utilisateur (blocs Document ou RequestSearchResultBlock) et que vous incluez également le paramètre output_config.format (ou le paramètre obsolète output_format), l'API renverra une erreur 400.

Cela s'explique par le fait que les citations nécessitent d'intercaler des blocs de citation avec la sortie texte, ce qui est incompatible avec les contraintes strictes de schéma JSON des sorties structurées.

Utilisation de la mise en cache des prompts avec les citations

Les citations et la mise en cache des prompts peuvent être utilisées ensemble efficacement.

Les blocs de citation générés dans les réponses ne peuvent pas être mis en cache directement, mais les documents sources auxquels ils font référence peuvent l'être. Pour optimiser les performances, appliquez cache_control à vos blocs de contenu de document de niveau supérieur.

client = anthropic.Anthropic()

# Contenu de document long (par ex., documentation technique)
long_document = (
    "This is a very long document with thousands of words..." + " ... " * 1000
)  # Minimum cacheable length

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "text",
                        "media_type": "text/plain",
                        "data": long_document,
                    },
                    "citations": {"enabled": True},
                    "cache_control": {
                        "type": "ephemeral"
                    },  # Cache the document content
                },
                {
                    "type": "text",
                    "text": "What does this document say about API features?",
                },
            ],
        }
    ],
)
print(response)

Dans cet exemple :

  • Le contenu du document est mis en cache en utilisant cache_control sur le bloc de document
  • Les citations sont activées sur le document
  • Claude peut générer des réponses avec des citations tout en bénéficiant du contenu de document mis en cache
  • Les requêtes ultérieures utilisant le même document bénéficieront du contenu mis en cache

Types de documents

Choisir un type de document

Trois types de documents sont pris en charge pour les citations. Les documents peuvent être fournis directement dans le message (base64, texte ou URL) ou téléversés via l'API Files et référencés par file_id :

TypeIdéal pourSegmentationFormat de citation
Texte brutDocuments texte simples, prosePhraseIndex de caractères (indexés à partir de 0)
PDFFichiers PDF avec contenu textuelPhraseNuméros de page (indexés à partir de 1)
Contenu personnaliséListes, transcriptions, formatage spécial, citations plus granulairesAucune segmentation supplémentaireIndex de blocs (indexés à partir de 0)


Les fichiers .csv, .xlsx, .docx, .md et .txt ne sont pas pris en charge en tant que blocs de document. Convertissez-les en texte brut et incluez-les directement dans le contenu du message. Consultez Travailler avec d'autres formats de fichiers.

Documents en texte brut

Les documents en texte brut sont automatiquement segmentés en phrases. Vous pouvez les fournir en ligne ou par référence avec leur file_id :

Documents PDF

Les documents PDF peuvent être fournis sous forme de données encodées en base64, d'URL ou par file_id. Le texte du PDF est extrait et segmenté en phrases. Comme les citations d'images ne sont pas encore prises en charge, les PDF qui sont des numérisations de documents et ne contiennent pas de texte extractible ne pourront pas être cités.

Documents à contenu personnalisé

Les documents à contenu personnalisé vous donnent le contrôle sur la granularité des citations. Aucune segmentation supplémentaire n'est effectuée et les segments sont fournis au modèle selon les blocs de contenu fournis.

{
    "type": "document",
    "source": {
        "type": "content",
        "content": [
            {"type": "text", "text": "First chunk"},
            {"type": "text", "text": "Second chunk"},
        ],
    },
    "title": "Document Title",  # optional
    "context": "Context about the document that will not be cited from",  # optional
    "citations": {"enabled": True},
}


Structure de la réponse

Lorsque les citations sont activées, les réponses incluent plusieurs blocs de texte avec des citations :

{
    "content": [
        {"type": "text", "text": "According to the document, "},
        {
            "type": "text",
            "text": "the grass is green",
            "citations": [
                {
                    "type": "char_location",
                    "cited_text": "The grass is green.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 0,
                    "end_char_index": 20,
                }
            ],
        },
        {"type": "text", "text": " and "},
        {
            "type": "text",
            "text": "the sky is blue",
            "citations": [
                {
                    "type": "char_location",
                    "cited_text": "The sky is blue.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 20,
                    "end_char_index": 36,
                }
            ],
        },
        {
            "type": "text",
            "text": ". Information from page 5 states that ",
        },
        {
            "type": "text",
            "text": "water is essential",
            "citations": [
                {
                    "type": "page_location",
                    "cited_text": "Water is essential for life.",
                    "document_index": 1,
                    "document_title": "PDF Document",
                    "start_page_number": 5,
                    "end_page_number": 6,
                }
            ],
        },
        {
            "type": "text",
            "text": ". The custom document mentions ",
        },
        {
            "type": "text",
            "text": "important findings",
            "citations": [
                {
                    "type": "content_block_location",
                    "cited_text": "These are important findings.",
                    "document_index": 2,
                    "document_title": "Custom Content Document",
                    "start_block_index": 0,
                    "end_block_index": 1,
                }
            ],
        },
    ]
}

Prise en charge du streaming

Pour les réponses en streaming, un type citations_delta est inclus qui contient une seule citation à ajouter à la liste citations du bloc de contenu text actuel.

Was this page helpful?

  • Fonctionnement des citations
  • Contenu citable vs non citable
  • Index de citation
  • Coûts en tokens
  • Compatibilité des fonctionnalités
  • Types de documents
  • Choisir un type de document
  • Documents en texte brut
  • Documents PDF
  • Documents à contenu personnalisé
  • Structure de la réponse
  • Prise en charge du streaming