- Decidir cuándo necesitas OCR y cuándo basta extracción de texto.
- Preservar tablas, páginas y metadatos antes de indexar.
- Crear una salida intermedia revisable antes de embeddings.
Pipeline recomendado
PDF o imagen -> detectar si hay texto seleccionable -> OCR si hace falta -> reconstruir orden de lectura -> extraer tablas como HTML/Markdown/JSON -> añadir metadatos: documento, página, sección -> revisión de muestra -> chunking e indexación
Ejemplo con Docling
Docling está pensado para convertir documentos complejos en estructura útil para IA: texto, tablas, layout y formatos exportables.
pip install docling docling factura.pdf --to md --output salida_docling/ # Revisa antes de indexar: ls salida_docling cat salida_docling/factura.md
Formato de salida para facturas
{
"document_id": "factura-2026-001",
"page": 1,
"type": "invoice",
"supplier": "Proveedor S.L.",
"invoice_number": "F-2026-001",
"date": "2026-07-02",
"total": 242.00,
"currency": "EUR",
"table_rows": [
{"concept": "Servicio mensual", "base": 200.00, "vat": 42.00}
],
"source_text": "fragmento verificable..."
}Si has guardado la evidencia de esta lección, continúa con «Embeddings y bases vectoriales». Si no, repite la comprobación antes de avanzar.