O Claude é capaz de fornecer citações detalhadas ao responder perguntas sobre documentos, ajudando você a rastrear e verificar fontes de informação nas respostas.

O recurso de citações está atualmente disponível no Claude Opus 4, Claude Sonnet 4, Claude Sonnet 3.7, Claude Sonnet 3.5 (novo) e Haiku 3.5.

Citações com o Claude Sonnet 3.7

O Claude Sonnet 3.7 pode ter menor probabilidade de fazer citações em comparação com outros modelos Claude sem instruções mais explícitas do usuário. Ao usar citações com o Claude Sonnet 3.7, recomendamos incluir instruções adicionais no turno do user, como "Use citações para fundamentar sua resposta." por exemplo.

Também observamos que quando o modelo é solicitado a estruturar sua resposta, é improvável que use citações, a menos que seja explicitamente instruído a usar citações dentro desse formato. Por exemplo, se for solicitado ao modelo usar tags em sua resposta, você deve adicionar algo como “Sempre use citações em sua resposta, mesmo dentro de .”

Por favor, compartilhe seu feedback e sugestões sobre o recurso de citações usando este formulário.

Aqui está um exemplo de como usar citações com a API Messages:

curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-4-20250514",
    "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?"
          }
        ]
      }
    ]
  }'

Comparação com abordagens baseadas em prompts

Em comparação com soluções de citações baseadas em prompts, o recurso de citações tem as seguintes vantagens:

  • Economia de custos: Se sua abordagem baseada em prompts pede ao Claude para gerar citações diretas, você pode ver economia de custos devido ao fato de que cited_text não conta para seus tokens de saída.
  • Melhor confiabilidade de citação: Como analisamos as citações nos respectivos formatos de resposta mencionados acima e extraímos cited_text, as citações são garantidas para conter ponteiros válidos para os documentos fornecidos.
  • Qualidade de citação aprimorada: Em nossas avaliações, descobrimos que o recurso de citações tem probabilidade significativamente maior de citar as citações mais relevantes dos documentos em comparação com abordagens puramente baseadas em prompts.

Como funcionam as citações

Integre citações com o Claude nessas etapas:

1

Forneça documento(s) e habilite citações

  • Inclua documentos em qualquer um dos formatos suportados: PDFs, texto simples ou documentos de conteúdo personalizado
  • Defina citations.enabled=true em cada um dos seus documentos. Atualmente, as citações devem ser habilitadas em todos ou nenhum dos documentos dentro de uma solicitação.
  • Observe que atualmente apenas citações de texto são suportadas e citações de imagens ainda não são possíveis.
2

Os documentos são processados

  • O conteúdo do documento é “dividido em partes” para definir a granularidade mínima de possíveis citações. Por exemplo, a divisão em frases permitiria que o Claude citasse uma única frase ou encadeasse várias frases consecutivas para citar um parágrafo (ou mais)!
    • Para PDFs: O texto é extraído conforme descrito em Suporte a PDF e o conteúdo é dividido em frases. Citar imagens de PDFs não é suportado atualmente.
    • Para documentos de texto simples: O conteúdo é dividido em frases que podem ser citadas.
    • Para documentos de conteúdo personalizado: Seus blocos de conteúdo fornecidos são usados como estão e nenhuma divisão adicional é feita.
3

Claude fornece resposta com citações

  • As respostas agora podem incluir vários blocos de texto, onde cada bloco de texto pode conter uma afirmação que o Claude está fazendo e uma lista de citações que apoiam a afirmação.
  • As citações referenciam locais específicos nos documentos de origem. O formato dessas citações depende do tipo de documento que está sendo citado.
    • Para PDFs: as citações incluirão o intervalo de números de página (começando em 1).
    • Para documentos de texto simples: As citações incluirão o intervalo de índices de caracteres (começando em 0).
    • Para documentos de conteúdo personalizado: As citações incluirão o intervalo de índices de blocos de conteúdo (começando em 0) correspondente à lista de conteúdo original fornecida.
  • Os índices de documentos são fornecidos para indicar a fonte de referência e são indexados a partir de 0 de acordo com a lista de todos os documentos em sua solicitação original.

Divisão automática vs conteúdo personalizado

Por padrão, documentos de texto simples e PDF são automaticamente divididos em frases. Se você precisar de mais controle sobre a granularidade da citação (por exemplo, para marcadores ou transcrições), use documentos de conteúdo personalizado. Veja Tipos de Documento para mais detalhes.

Por exemplo, se você quiser que o Claude seja capaz de citar frases específicas de seus fragmentos RAG, você deve colocar cada fragmento RAG em um documento de texto simples. Caso contrário, se você não quiser que nenhuma divisão adicional seja feita, ou se quiser personalizar qualquer divisão adicional, você pode colocar fragmentos RAG em documento(s) de conteúdo personalizado.

Conteúdo citável vs não citável

  • O texto encontrado dentro do conteúdo source de um documento pode ser citado.
  • title e context são campos opcionais que serão passados para o modelo, mas não serão usados como conteúdo citável.
  • title é limitado em comprimento, então você pode achar o campo context útil para armazenar quaisquer metadados do documento como texto ou json convertido em string.

Índices de citação

  • Os índices de documentos são indexados a partir de 0 da lista de todos os blocos de conteúdo de documentos na solicitação (abrangendo todas as mensagens).
  • Os índices de caracteres são indexados a partir de 0 com índices finais exclusivos.
  • Os números de página são indexados a partir de 1 com números de página finais exclusivos.
  • Os índices de blocos de conteúdo são indexados a partir de 0 com índices finais exclusivos da lista content fornecida no documento de conteúdo personalizado.

Custos de tokens

  • Habilitar citações causa um leve aumento nos tokens de entrada devido a adições de prompts do sistema e divisão de documentos.
  • No entanto, o recurso de citações é muito eficiente com tokens de saída. Internamente, o modelo está gerando citações em um formato padronizado que são então analisadas em texto citado e índices de localização de documentos. O campo cited_text é fornecido por conveniência e não conta para tokens de saída.
  • Quando passado de volta em turnos de conversa subsequentes, cited_text também não é contado para tokens de entrada.

Compatibilidade de recursos

Citações funcionam em conjunto com outros recursos da API, incluindo cache de prompts, contagem de tokens e processamento em lote.

Usando Cache de Prompts com Citações

Citações e cache de prompts podem ser usados juntos de forma eficaz.

Os blocos de citação gerados nas respostas não podem ser armazenados em cache diretamente, mas os documentos de origem que eles referenciam podem ser armazenados em cache. Para otimizar o desempenho, aplique cache_control aos seus blocos de conteúdo de documento de nível superior.

import anthropic

client = anthropic.Anthropic()

# Conteúdo de documento longo (por exemplo, documentação técnica)
long_document = "This is a very long document with thousands of words..." + " ... " * 1000  # Comprimento mínimo armazenável em cache

response = client.messages.create(
    model="claude-opus-4-20250514",
    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"}  # Armazena em cache o conteúdo do documento
                },
                {
                    "type": "text",
                    "text": "What does this document say about API features?"
                }
            ]
        }
    ]
)

Neste exemplo:

  • O conteúdo do documento é armazenado em cache usando cache_control no bloco do documento
  • As citações estão habilitadas no documento
  • O Claude pode gerar respostas com citações enquanto se beneficia do conteúdo do documento em cache
  • Solicitações subsequentes usando o mesmo documento se beneficiarão do conteúdo em cache

Tipos de Documento

Escolhendo um tipo de documento

Suportamos três tipos de documentos para citações. Os documentos podem ser fornecidos diretamente na mensagem (base64, texto ou URL) ou carregados via API de Arquivos e referenciados por file_id:

TipoMelhor paraDivisãoFormato de citação
Texto simplesDocumentos de texto simples, prosaFraseÍndices de caracteres (começando em 0)
PDFArquivos PDF com conteúdo de textoFraseNúmeros de página (começando em 1)
Conteúdo personalizadoListas, transcrições, formatação especial, citações mais granularesSem divisão adicionalÍndices de bloco (começando em 0)

Documentos de texto simples

Documentos de texto simples são automaticamente divididos em frases. Você pode fornecê-los inline ou por referência com seu file_id:

{
    "type": "document",
    "source": {
        "type": "text",
        "media_type": "text/plain",
        "data": "Conteúdo de texto simples..."
    },
    "title": "Título do Documento", # opcional
    "context": "Contexto sobre o documento que não será citado", # opcional
    "citations": {"enabled": True}
}

Documentos PDF

Documentos PDF podem ser fornecidos como dados codificados em base64 ou por file_id. O texto do PDF é extraído e dividido em frases. Como citações de imagens ainda não são suportadas, PDFs que são digitalizações de documentos e não contêm texto extraível não serão citáveis.

{
    "type": "document",
    "source": {
        "type": "base64",
        "media_type": "application/pdf",
        "data": dados_pdf_codificados_base64
    },
    "title": "Título do Documento", # opcional
    "context": "Contexto sobre o documento que não será citado", # opcional
    "citations": {"enabled": True}
}

Documentos de conteúdo personalizado

Documentos de conteúdo personalizado dão a você controle sobre a granularidade da citação. Nenhuma divisão adicional é feita e os fragmentos são fornecidos ao modelo de acordo com os blocos de conteúdo fornecidos.

{
    "type": "document",
    "source": {
        "type": "content",
        "content": [
            {"type": "text", "text": "Primeiro fragmento"},
            {"type": "text", "text": "Segundo fragmento"}
        ]
    },
    "title": "Título do Documento", # opcional
    "context": "Contexto sobre o documento que não será citado", # opcional
    "citations": {"enabled": True}
}

Estrutura de Resposta

Quando as citações estão habilitadas, as respostas incluem vários blocos de texto com citações:

{
    "content": [
        {
            "type": "text",
            "text": "De acordo com o documento, "
        },
        {
            "type": "text",
            "text": "a grama é verde",
            "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": " e "
        },
        {
            "type": "text",
            "text": "o céu é azul",
            "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
            }]
        }
    ]
}

Suporte a Streaming

Para respostas em streaming, adicionamos um tipo citations_delta que contém uma única citação a ser adicionada à lista citations no bloco de conteúdo text atual.