Loading...
  • Construire
  • Admin
  • Modèles & tarification
  • SDKs clients
  • Référence API
Search...
⌘K
Log in
Citations
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

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

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

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
Construire/Capacités du modèle

Citations

Claude peut fournir des citations détaillées lors de la réponse à des questions sur des documents, vous aidant à suivre et vérifier les sources d'information dans les réponses.

This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

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

Tous les modèles actifs supportent les citations, à l'exception de Haiku 3.

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

Voici un exemple de la façon d'utiliser les citations avec l'API Messages :

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    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 invites

En comparaison avec les solutions de citations basées sur les invites, la fonctionnalité de citations présente les avantages suivants :

  • Économies de coûts : Si votre approche basée sur les invites demande à Claude de produire des citations directes, vous pouvez réaliser des économies de coûts du fait que cited_text ne compte pas vers vos jetons de sortie.
  • Meilleure fiabilité des citations : Parce que 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é améliorée des citations : Dans les évaluations, la fonctionnalité de citations s'est avérée être significativement plus susceptible de citer les citations les plus pertinentes des documents par rapport aux approches purement basées sur les invites.

Comment fonctionnent les citations

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

  1. 1

    Fournir des document(s) et activer les citations

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

    Les documents sont traités

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

    Claude fournit une réponse citée

    • Les réponses peuvent maintenant inclure plusieurs blocs de texte où chaque bloc de texte peut contenir une affirmation que Claude fait et une liste de citations qui soutiennent l'affirmation.
    • Les citations font référence à des emplacements spécifiques dans les documents source. Le format de ces citations dépend du type de document cité.
      • Pour les PDFs : 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'indices de caractères (indexée à partir de 0).
      • Pour les documents de contenu personnalisé : Les citations incluent la plage d'indices de blocs de contenu (indexée à partir de 0) correspondant à la liste de contenu d'origine fournie.
    • Les indices de document sont fournis pour indiquer la source de référence et sont indexés à partir de 0 selon la liste de tous les documents dans votre requête d'origine.

Fragmentation automatique vs contenu personnalisé

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

Par exemple, si vous voulez que Claude soit capable de citer des phrases spécifiques de vos fragments RAG, vous devriez mettre chaque fragment RAG dans un document en texte brut. Sinon, si vous ne voulez pas de fragmentation supplémentaire, ou si vous voulez personnaliser une fragmentation supplémentaire, vous pouvez mettre les fragments RAG dans un ou plusieurs document(s) de contenu personnalisé.

Contenu citable vs non-citable

  • Le texte trouvé dans le contenu source du document peut être cité.
  • title et context sont des champs optionnels qui seront transmis au modèle mais ne seront pas utilisés pour le contenu cité.
  • title est limité en longueur, vous pouvez donc trouver le champ context utile pour stocker les métadonnées du document sous forme de texte ou de json stringifié.

Indices de citation

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

Coûts en jetons

  • L'activation des citations entraîne une légère augmentation des jetons d'entrée en raison des ajouts de messages système et de la fragmentation des documents.
  • Cependant, la fonctionnalité de citations est très efficace avec les jetons de sortie. Sous le capot, le modèle produit des citations dans un format standardisé qui sont ensuite analysées en texte cité et en indices d'emplacement de document. Le champ cited_text est fourni pour la commodité et ne compte pas vers les jetons de sortie.
  • Lorsqu'il est renvoyé dans les tours de conversation ultérieurs, cited_text n'est pas non plus compté vers les jetons d'entrée.

Compatibilité des fonctionnalités

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

Les citations et les sorties structurées sont incompatibles

Les citations ne peuvent pas être utilisées ensemble avec Structured Outputs. 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 déprécié output_format), l'API renverra une erreur 400.

C'est parce que les citations nécessitent d'entrelacer les blocs de citations avec la sortie de texte, ce qui est incompatible avec les contraintes strictes du schéma JSON des sorties structurées.

Utilisation de la mise en cache des invites avec les citations

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

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

client = anthropic.Anthropic()

# Long document content (e.g., technical documentation)
long_document = (
    "This is a very long document with thousands of words..." + " ... " * 1000
)  # Minimum cacheable length

response = client.messages.create(
    model="claude-opus-4-7",
    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 supportés pour les citations. Les documents peuvent être fournis directement dans le message (base64, texte ou URL) ou téléchargés via l'API Files et référencés par file_id :

TypeMeilleur pourFragmentationFormat de citation
Texte brutDocuments texte simples, prosePhraseIndices 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 granulairesPas de fragmentation supplémentaireIndices de blocs (indexés à partir de 0)

Les fichiers .csv, .xlsx, .docx, .md et .txt ne sont pas supportés comme blocs de document. Convertissez-les en texte brut et incluez-les directement dans le contenu du message. Voir Travailler avec d'autres formats de fichiers.

Documents en texte brut

Les documents en texte brut sont automatiquement fragmenté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 codées en base64 ou par file_id. Le texte PDF est extrait et fragmenté en phrases. Comme les citations d'images ne sont pas encore supportées, les PDFs qui sont des scans de documents et ne contiennent pas de texte extractible ne seront pas citables.

Documents de contenu personnalisé

Les documents de contenu personnalisé vous donnent le contrôle sur la granularité des citations. Aucune fragmentation supplémentaire n'est effectuée et les fragments 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,
                }
            ],
        },
    ]
}

Support du streaming

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

Was this page helpful?

  • Comment fonctionnent les citations
  • Contenu citable vs non-citable
  • Indices de citation
  • Coûts en jetons
  • Compatibilité des fonctionnalités
  • Types de documents
  • Choisir un type de document
  • Documents en texte brut
  • Documents PDF
  • Documents de contenu personnalisé
  • Structure de la réponse
  • Support du streaming