Claude Platform Docs
  • Mensajes
  • Agentes gestionados
  • Administración

Search...
⌘K
Primeros pasos
Introducción a ClaudeInicio rápido
Desarrollar con Claude
Descripción general de funcionesUso de la API de MensajesMotivos de detención y respaldoRechazos y respaldoCrédito de respaldo
Capacidades del modelo
Pensamiento extendidoPensamiento adaptativoEsfuerzoPresupuestos de tareas (beta)Modo rápido (vista previa de investigación)Salidas estructuradasCitasStreaming de mensajesProcesamiento por lotesResultados de búsquedaStreaming de rechazosSoporte multilingüeEmbeddings
Herramientas
Descripción generalCómo funciona el uso de herramientasTutorial: Crear un agente que usa herramientasDefinir herramientasGestionar llamadas a herramientasUso de herramientas en paraleloTool Runner (SDK)Uso de herramientas estrictoHerramientas de servidorHerramienta de búsqueda webHerramienta de obtención webHerramienta de ejecución de códigoHerramienta de asesorHerramienta de búsqueda de herramientasHerramienta de memoriaHerramienta BashHerramienta de editor de textoHerramienta de uso de computadoraSolución de problemas
Infraestructura de herramientas
Referencia de herramientasGestionar el contexto de herramientasCombinaciones de herramientasUso de herramientas con almacenamiento en caché de promptsLlamadas programáticas a herramientasStreaming detallado de herramientas
Gestión de contexto
Ventanas de contextoCompactaciónEdición de contextoAlmacenamiento en caché de promptsMensajes del sistema a mitad de conversaciónCrear un modo de orquestaciónDiagnóstico de caché (beta)Conteo de tokens
Trabajar con archivos
API de archivosCompatibilidad con PDF
Habilidades
Descripción generalInicio rápidoMejores prácticasHabilidades para empresasHabilidades en la API
MCP
Servidores MCP remotosConector MCP
Claude en plataformas en la nube
Amazon BedrockAmazon Bedrock (heredado)Claude Platform en AWSGoogle CloudMicrosoft Foundry

Log in
Citas
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
Mensajes/Capacidades del modelo

Citas

Fundamenta las respuestas de Claude en tus documentos fuente. Las citas devuelven los pasajes exactos que respaldan cada afirmación, para que puedas verificar las respuestas y mostrar las fuentes a tus usuarios.


Esta función es elegible para Zero Data Retention (ZDR). Cuando tu organización tiene un acuerdo de ZDR, los datos enviados a través de esta función no se almacenan después de que se devuelve la respuesta de la API.

Claude puede proporcionar citas detalladas al responder preguntas sobre documentos, ayudándote a rastrear y verificar las fuentes detrás de cada respuesta.

Todos los modelos activos admiten citas, con la excepción de Claude Haiku 3.



Comparte tus comentarios y sugerencias sobre la función de citas usando el formulario de comentarios sobre citas.

El siguiente ejemplo muestra cómo habilitar citas en un documento de texto plano con la Messages API:

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)


Comparación con enfoques basados en prompts

En comparación con pedirle a Claude mediante prompts que cite fuentes, la función de citas ofrece las siguientes ventajas:

  • Ahorro de costos: Si tu enfoque basado en prompts le pide a Claude que genere citas textuales directas, es posible que veas un ahorro de costos porque cited_text no cuenta para tus tokens de salida.
  • Mejor confiabilidad de las citas: Debido a que la API analiza las citas en los formatos de respuesta descritos en las siguientes secciones y extrae cited_text directamente, se garantiza que las citas contengan punteros válidos a los documentos proporcionados.
  • Mejor calidad de las citas: En las evaluaciones de Anthropic, la función de citas tiene una probabilidad significativamente mayor de citar los fragmentos más relevantes de los documentos que los enfoques puramente basados en prompts.

Cómo funcionan las citas

Integra las citas con Claude siguiendo estos pasos:

  1. 1

    Proporciona documento(s) y habilita las citas

    • Incluye documentos en cualquiera de los formatos admitidos: PDFs, texto plano o documentos de contenido personalizado.
    • Establece citations.enabled=true en cada uno de tus documentos. Actualmente, las citas deben estar habilitadas en todos o en ninguno de los documentos dentro de una solicitud.
    • Actualmente solo se admiten citas de texto. Las citas de imágenes aún no son posibles.
  2. 2

    Los documentos se procesan

    • El contenido de los documentos se divide en "chunks" (fragmentos) para definir la granularidad mínima de las citas posibles. Por ejemplo, la fragmentación por oraciones permite que Claude cite una sola oración o encadene varias oraciones consecutivas para citar un párrafo o un pasaje más largo.
      • Para PDFs: El texto se extrae como se describe en Compatibilidad con PDF y el contenido se fragmenta en oraciones. Actualmente no se admite citar imágenes de PDFs.
      • Para documentos de texto plano: El contenido se fragmenta en oraciones que pueden citarse.
      • Para documentos de contenido personalizado: Los bloques de contenido que proporcionas se usan tal cual y no se realiza ninguna fragmentación adicional.
  3. 3

    Claude proporciona una respuesta con citas

    • Las respuestas ahora pueden incluir múltiples bloques de texto donde cada bloque de texto puede contener una afirmación que Claude está haciendo y una lista de citas que respaldan dicha afirmación.
    • Las citas hacen referencia a ubicaciones específicas en los documentos fuente. El formato de estas citas depende del tipo de documento del que se cita.
      • Para PDFs: Las citas incluyen el rango de números de página (indexado desde 1).
      • Para documentos de texto plano: Las citas incluyen el rango de índices de caracteres (indexado desde 0).
      • Para documentos de contenido personalizado: Las citas incluyen el rango de índices de bloques de contenido (indexado desde 0) correspondiente a la lista de contenido original proporcionada.
    • Los índices de documentos se proporcionan para indicar la fuente de referencia y están indexados desde 0 según la lista de todos los documentos en tu solicitud original.


Fragmentación automática vs. contenido personalizado

De forma predeterminada, los documentos de texto plano y PDF se fragmentan automáticamente en oraciones. Si necesitas más control sobre la granularidad de las citas (por ejemplo, para viñetas o transcripciones), usa documentos de contenido personalizado en su lugar. Consulta Tipos de documentos para obtener más detalles.

Por ejemplo, si quieres que Claude pueda citar oraciones específicas de tus fragmentos de RAG, debes colocar cada fragmento de RAG en un documento de texto plano. De lo contrario, si no quieres que se realice ninguna fragmentación adicional, o si quieres personalizar cualquier fragmentación adicional, puedes colocar los fragmentos de RAG en documento(s) de contenido personalizado.

Contenido citable vs. no citable

  • El texto que se encuentra dentro del contenido source de un documento puede citarse.
  • title y context son campos opcionales que se pasan al modelo pero no se usan para el contenido citado.
  • title tiene una longitud limitada, por lo que el campo context es útil para almacenar metadatos del documento como texto o JSON convertido a cadena.

Índices de citas

  • Los índices de documentos están indexados desde 0 a partir de la lista de todos los bloques de contenido de documentos en la solicitud (abarcando todos los mensajes).
  • Los índices de caracteres están indexados desde 0 con índices finales exclusivos.
  • Los números de página están indexados desde 1 con números de página finales exclusivos.
  • Los índices de bloques de contenido están indexados desde 0 con índices finales exclusivos a partir de la lista content proporcionada en el documento de contenido personalizado.

Costos de tokens

  • Habilitar las citas genera un ligero aumento en los tokens de entrada debido a las adiciones a la indicación del sistema y la fragmentación de documentos.
  • Sin embargo, la función de citas es muy eficiente con los tokens de salida. Internamente, el modelo genera citas en un formato estandarizado que luego se analizan en texto citado e índices de ubicación del documento. El campo cited_text se proporciona por conveniencia y no cuenta para los tokens de salida.
  • Cuando se pasa de vuelta en turnos de conversación posteriores, cited_text tampoco cuenta para los tokens de entrada.

Compatibilidad de funciones

Las citas funcionan en conjunto con otras funciones de la API, incluyendo almacenamiento en caché de prompts, conteo de tokens y procesamiento por lotes.



Las citas y las salidas estructuradas son incompatibles

Las citas no pueden usarse junto con salidas estructuradas. Si habilitas las citas en cualquier documento proporcionado por el usuario (bloques document o bloques search_result) y también incluyes el parámetro output_config.format (o el parámetro obsoleto output_format), la API devuelve un error 400.

Esto se debe a que las citas requieren intercalar bloques de citas con la salida de texto, lo cual es incompatible con las restricciones estrictas de esquema JSON de las salidas estructuradas.

Uso del almacenamiento en caché de prompts con citas

Las citas y el almacenamiento en caché de prompts pueden usarse juntos de manera efectiva.

Los bloques de citas generados en las respuestas no pueden almacenarse en caché directamente, pero los documentos fuente a los que hacen referencia sí pueden almacenarse en caché. Para optimizar el rendimiento, aplica cache_control a tus bloques de contenido de documentos de nivel superior.

client = anthropic.Anthropic()

# Contenido de documento largo (por ejemplo, documentación técnica)
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)

En este ejemplo:

  • El contenido del documento se almacena en caché usando cache_control en el bloque del documento.
  • Las citas están habilitadas en el documento.
  • Claude puede generar respuestas con citas mientras se beneficia del contenido del documento almacenado en caché.
  • Las solicitudes posteriores que usen el mismo documento se benefician del contenido almacenado en caché.

Tipos de documentos

Elegir un tipo de documento

Se admiten tres tipos de documentos para citas. Los documentos pueden proporcionarse directamente en el mensaje (base64, texto o URL) o cargarse a través de la Files API y referenciarse mediante file_id:

TipoIdeal paraFragmentaciónFormato de cita
Texto planoDocumentos de texto simples, prosaOraciónÍndices de caracteres (indexados desde 0)
PDFArchivos PDF con contenido de textoOraciónNúmeros de página (indexados desde 1)
Contenido personalizadoListas, transcripciones, formato especial, citas más granularesSin fragmentación adicionalÍndices de bloques (indexados desde 0)


Los archivos .csv, .xlsx, .docx, .md y .txt no se admiten como bloques de documentos. Conviértelos a texto plano e inclúyelos directamente en el contenido del mensaje. Consulta Trabajar con otros formatos de archivo.

Documentos de texto plano

Los documentos de texto plano se fragmentan automáticamente en oraciones. Puedes proporcionarlos en línea o por referencia con su file_id:

Documentos PDF

Los documentos PDF pueden proporcionarse como datos codificados en base64, una URL o mediante file_id. El texto del PDF se extrae y se fragmenta en oraciones. Como las citas de imágenes aún no se admiten, los PDFs que son escaneos de documentos y no contienen texto extraíble no podrán citarse.

Documentos de contenido personalizado

Los documentos de contenido personalizado te dan control sobre la granularidad de las citas. No se realiza ninguna fragmentación adicional y los fragmentos se proporcionan al modelo según los bloques de contenido proporcionados.

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "content",
                        "content": [
                            {"type": "text", "text": "First chunk"},
                            {"type": "text", "text": "Second chunk"},
                        ],
                    },
                    "title": "Document Title",
                    "context": "Context about the document that will not be cited from",
                    "citations": {"enabled": True},
                },
                {"type": "text", "text": "Summarize this document."},
            ],
        }
    ],
)
print(response)


Estructura de la respuesta

Cuando las citas están habilitadas, las respuestas incluyen múltiples bloques de texto con citas:

{
    "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,
                }
            ],
        },
    ]
}

Compatibilidad con streaming

Para respuestas en streaming, las citas llegan como un tipo de delta citations_delta dentro de eventos content_block_delta. Cada delta contiene una sola cita para agregar a la lista citations en el bloque de contenido text actual.

Próximos pasos

Mensajes en streaming

Maneja el tipo de delta citations_delta junto con los deltas de texto para renderizar respuestas citadas a medida que se transmiten.

Resultados de búsqueda

Pasa resultados de búsqueda de tu pipeline de RAG como bloques de contenido de primera clase con compatibilidad integrada para citas.


Compatibilidad con PDF

Aprende cómo Claude extrae texto de PDFs y cómo las citas basadas en páginas se corresponden con tus archivos fuente.

Files API

Carga documentos una vez y referéncialos mediante file_id en múltiples solicitudes de citas.

Was this page helpful?

  • Cómo funcionan las citas
  • Contenido citable vs. no citable
  • Índices de citas
  • Costos de tokens
  • Compatibilidad de funciones
  • Tipos de documentos
  • Elegir un tipo de documento
  • Documentos de texto plano
  • Documentos PDF
  • Documentos de contenido personalizado
  • Estructura de la respuesta
  • Compatibilidad con streaming
  • Próximos pasos