Función extract_citations() en Claude API: cita exacta de fuentes en RAG
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_indexyend_char_indexexactos del fragmento citado, opage_numberen 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
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).
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.
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.
Casos de uso prácticos
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.
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.
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.
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
-
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.
-
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.
-
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.
-
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.
-
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.
