Función extract_citations() en Claude API: cita exacta de fuentes en RAG

Lectura: 9 min

La función extract_citations() es el componente central de la Citations API de Anthropic. Automatiza la atribución exacta de fuentes en flujos de Generación Aumentada por Recuperación (RAG), devolviendo índices precisos de caracteres o números de página donde Claude extrajo cada dato.

La capacidad se ha integrado de forma nativa en Claude Sonnet 4.6 y Opus 4.6, con soporte multimodal para PDFs, texto plano y documentos personalizados. El resultado es un sistema automático de verificación de hechos que reduce las alucinaciones en aplicaciones que requieren precisión documental.

Qué es extract_citations() y por qué resuelve un problema real

Cuando un modelo de lenguaje responde una pregunta sobre documentos, el usuario no solo necesita la respuesta: necesita evidencia de dónde salió esa información. Un modelo puede «mencionar» que consultó un documento, pero eso no es suficiente para auditoría, cumplimiento normativo o confianza del usuario.

extract_citations() resuelve esto de tres formas concretas.

  • Atribución
    Granularidad a nivel de caracteres. Devuelve start_char_index y end_char_index exactos del fragmento citado, o page_number en PDFs.
  • Fiabilidad
    Reducción de alucinaciones. Al forzar a Claude a extraer texto literal del contexto proporcionado, actúa como verificador de hechos automático.
  • Interfaz
    Formato estructurado para renderizado. La respuesta incluye metadatos de citas que se pueden mostrar como tooltips, pies de página o paneles de verificación.

Características técnicas principales

Metadatos

Citas estructuradas con ubicación exacta

El API devuelve para cada cita: cited_text (fragmento exacto), start_char_index y end_char_index (posición en textos planos) y page_number (solo en PDFs).

Multimodal

Soporte completo en documentos mixtos

Claude extrae citas de texto plano, pero también de tablas estructuradas, gráficos con etiquetas e imágenes con captions dentro de PDFs. Crítico para documentos financieros, técnicos o científicos.

Modelos

Integración nativa en versiones recientes

Optimizada en Claude Opus 4.6 y Sonnet 4.6. También funciona en Sonnet 3.5v2, pero las versiones nuevas ofrecen mejor precisión al identificar fragmentos relevantes.

Cómo implementarlo en tu proyecto

Paso 1: activar citations en la solicitud API

Debes incluir un objeto citations con enabled: true dentro del bloque de documento. La activación es sencilla pero obligatoria.

import anthropic

client = anthropic.Anthropic(api_key="TU_API_KEY")

document_content = """
Anthropic lanzó Claude Opus 4.6 en abril de 2026.
Este modelo incluye soporte nativo para citas con precisión de caracteres.
El modelo fue entrenado con técnicas de alineación constitucional.
"""

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "text",
                        "media_type": "text/plain",
                        "data": document_content
                    },
                    "title": "Notas sobre Claude 4.6",
                    "citations": {"enabled": True}
                },
                {
                    "type": "text",
                    "text": "¿Qué modelo lanzó Anthropic y cuándo?"
                }
            ]
        }
    ]
)

for block in response.content:
    if block.type == "text":
        print(f"Respuesta: {block.text}")
        if hasattr(block, 'citations') and block.citations:
            for cite in block.citations:
                print(f"Citado: '{cite.cited_text}'")
                print(f"Posición: [{cite.start_char_index}-{cite.end_char_index}]")

Paso 2: procesar la respuesta y extraer metadatos

El API devuelve un bloque de contenido de tipo text con un atributo citations que contiene la lista de citas. Itera sobre ellas para renderizar, validar o auditar cada referencia.

Paso 3: considerar límites y costes

Cada documento debe codificarse (Base64 para PDFs, texto plano para strings). El tamaño máximo es 32 MB o 100 páginas. Las citas activadas no multiplican el coste de tokens, pero aumentan ligeramente el tiempo de procesamiento.

Función extract_citations aplicada a IA para identificar y extraer fuentes citables en contenidos

Casos de uso prácticos

Compliance

Sistemas de cumplimiento normativo

Las regulaciones financieras y de salud exigen auditoría completa de decisiones. Con extract_citations() cada conclusión está respaldada por cita verificable del documento normativo analizado.

Legal

Análisis de contratos automatizado

Los equipos legales pueden decir «cláusula de rescisión unilateral en página 7, línea 12» en lugar de solo «incluye rescisión unilateral». La ubicación exacta elimina ambigüedad.

Empresa

Bases de conocimiento con Q&A

Plataformas internas donde empleados hacen preguntas sobre documentación técnica o políticas. El sistema devuelve respuestas con fragmentos de la documentación oficial como respaldo.

Académico

Investigación y análisis de papers

Los investigadores procesan cientos de papers PDF. Un sistema con citas permite generar síntesis automáticas donde cada claim está ligado al paper original y número de página.

  • Finanzas
    Análisis de reportes y earnings calls. Los analistas extraen guidance y cambios de previsión con certeza de que vienen del documento original, no de alucinación del modelo.

Mejores prácticas para máxima precisión

  1. Proporciona contexto claro en el prompt

    En lugar de «Analiza esto», usa «Extrae todas las cláusulas de terminación indicando página y contexto». La claridad del prompt mejora la relevancia de las citas devueltas.

  2. Valida las citas en tu lógica de aplicación

    Implementa una verificación que confirme que el texto citado existe en el documento en la posición indicada. Detecta los errores raros donde el modelo produce una posición incorrecta.

  3. Usa caché cuando proceses el mismo documento varias veces

    La primera llamada cuesta más, pero las siguientes son mucho más baratas. Ideal para análisis iterativo sobre el mismo documento en diferentes sesiones.

  4. Renderiza las citas en la interfaz de usuario

    Usa los índices de caracteres para resaltar fragmentos en el PDF o documento original. Aumenta la confianza del usuario al ver exactamente de dónde viene cada dato.

  5. Monitorea cambios de precisión entre versiones de Claude

    Cuando Anthropic lance nuevas versiones, prueba con tus documentos reales antes de migrar. La precisión al identificar fragmentos puede variar entre versiones.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio