Docling: convertir PDF para una IA locale
Docling es una biblioteca libre (licencia MIT, proyecto de IBM Research alojado por la LF AI & Data Foundation) que convierte PDF, DOCX, PPTX, XLSX, HTML, EPUB, imágenes y audio en markdown o JSON estructurado, reconstruyendo la disposición de la página, el orden de lectura y las tablas. Se ejecuta íntegramente en local, con o sin GPU, y se conecta directamente a LangChain, LlamaIndex, Crew AI o Haystack para alimentar un pipeline de RAG documental.
El PDF es la entrada más difícil de cualquier cadena de procesamiento documental local: dos columnas leídas de lado a lado, un encabezado que corta una frase en dos, una tabla de cifras reducida a una columna de números sin sus etiquetas. Docling es una biblioteca libre publicada por IBM Research, hoy alojada en la LF AI & Data Foundation, que analiza la disposición de la página, reconstruye el orden de lectura y recupera la estructura de las tablas, para después exportarlo todo en markdown, HTML o JSON. Todo en tu máquina, sin API, que es precisamente el requisito cuando los documentos son contratos o expedientes médicos.
#La etapa que determina todo lo demás
Cuando un asistente documental responde mal, se culpa al modelo. La causa casi siempre está en una etapa anterior. Un informe exportado a partir de una plantilla de empresa y procesado por un extractor de texto rudimentario se convierte en un flujo en el que el encabezado de página interrumpe un párrafo, el diseño en dos columnas se lee horizontalmente y una tabla de resultados se transforma en una secuencia de números sin contexto. Estos fragmentos se codifican después, se recuperan y se presentan al modelo como hechos: lee un sinsentido y lo reproduce con seguridad. Ningún modelo de embedding, ningún reranker ni ningún prompt puede subsanar una conversión fallida en las primeras etapas de la cadena: este es el punto que la mayoría de los tutoriales de RAG local pasan por alto al centrarse en la elección del modelo de lenguaje.
Docling aborda directamente esta etapa descuidada. IBM Research publicó el proyecto como código abierto en julio de 2024 bajo licencia MIT, lo que permite un uso comercial sin regalías ni copyleft. Superó rápidamente las 10 000 estrellas en GitHub y a principios de 2025 figuraba entre los repositorios más seguidos del mundo; a finales de septiembre de 2026, el repositorio oficial contaba con más de 68 000 estrellas y su última versión estable, la v2.130.0, se había publicado el 22 de septiembre de 2026.
#Lo que hace Docling
Tus documentos, tu IA: un RAG local fiable sobre tus PDF, notas y correos — sin enviar nada a la nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
- Análisis de la maquetación
- Identifica las zonas de una página y su naturaleza, para que una leyenda no se pegue a un párrafo y un pie de página no aparezca en medio de una frase.
- Orden de lectura
- Reconstruye la secuencia que seguiría una persona, lo que por fin permite aprovechar los documentos organizados en columnas.
- Estructura de las tablas
- Identifica filas, columnas y celdas fusionadas, y las exporta como verdaderas tablas en lugar de líneas de texto.
- Reconocimiento óptico cuando sea necesario
- Las páginas escaneadas sin capa de texto pasan por OCR en lugar de incorporarse sin contenido textual.
- Comprensión de gráficos
- Los gráficos circulares, histogramas y curvas pueden convertirse en tablas de datos o en una descripción textual, en lugar de ignorarse por completo.
- Un único modelo de documento
- Una representación interna común, varios formatos de exportación (markdown, HTML, DocTags, JSON sin pérdida): el resto del proceso ignora si la entrada era un PDF o un archivo ofimático.
Además del PDF, Docling admite DOCX, PPTX, XLSX, HTML, EPUB, imágenes (PNG, TIFF, JPEG…), correos electrónicos (EML, MSG) e incluso audio (WAV, MP3) mediante un pipeline de transcripción, lo cual es importante porque un corpus real nunca es homogéneo. En cuanto a las integraciones, la biblioteca se conecta con LangChain, LlamaIndex, Crew AI y Haystack con unas pocas líneas de código, lo que evita tener que escribir tú mismo el código de conversión dentro de un pipeline de agentes.
#Las tablas, la verdadera razón para tomarse la molestia
En un documento profesional, las cifras casi siempre están en tablas, y es ahí donde la extracción simplista falla con más gravedad. Una línea que se convierte en «París 12 480 3,2» ha perdido los encabezados de columna que le daban sentido. La búsqueda devuelve luego un extracto de apariencia correcta, el modelo inventa la relación entre los valores y la respuesta es incorrecta de una manera difícil de detectar.
Docling encomienda esta tarea a un modelo especializado, TableFormer, que codifica la estructura de la tabla con un vocabulario especializado llamado OTSL (Optimized Table Structure Language) y maneja correctamente las celdas fusionadas y los encabezados de varios niveles. Según el artículo de investigación que dio origen a este formato, OTSL reduce a unos pocos tokens lo que una representación HTML equivalente expresa con más de 28 tokens, lo que reduce aproximadamente a la mitad la longitud media de la secuencia que se debe predecir y divide por dos el tiempo de inferencia en comparación con un modelo que generase HTML: un detalle de arquitectura invisible para el usuario final, pero que explica por qué el reconocimiento de tablas de Docling sigue siendo utilizable con grandes volúmenes sin una GPU dedicada exclusivamente a este uso. Hay dos modos disponibles en las opciones del pipeline: FAST, más rápido pero menos preciso con tablas complejas, y ACCURATE, recomendado cuando las tablas contienen celdas fusionadas o varios niveles de encabezado. Conservar la estructura, incluso en markdown, mantiene el vínculo entre cada valor y su encabezado. En un corpus donde las respuestas esperadas son cifras, esto justifica por sí solo un conversor más pesado que un simple extractor de texto.
#Los motores OCR disponibles
Docling no incluye un motor OCR único: coordina varios motores intercambiables según el tipo de documento. EasyOCR y Tesseract (a través de tesserocr o de la línea de comandos) cubren la mayoría de los casos; RapidOCR acepta modelos personalizados; OcrMac utiliza el reconocimiento nativo de macOS cuando está disponible. La elección se realiza en las opciones del pipeline, no en el código de tu aplicación, lo que permite cambiar de motor sin modificar la lógica de ingestión.
En la práctica, un pipeline de ingestión en producción comienza casi siempre por probar Tesseract en una muestra: si produce un texto limpio, no hay razón para asumir el coste de EasyOCR. Pasar a EasyOCR se justifica sobre todo con documentos escaneados de baja calidad, formularios parcialmente manuscritos o idiomas en los que Tesseract falla. RapidOCR y OcrMac siguen siendo opciones de nicho, reservadas respectivamente para un modelo OCR propio ya entrenado y para un equipo Mac aislado sin dependencias externas que instalar.
| Motor | Punto fuerte | Caso de uso típico |
|---|---|---|
| Tesseract | Rápido con texto nítido | Documentos digitales ya escaneados correctamente |
| EasyOCR | Más robusto con documentos escaneados de baja calidad y escritura no estándar, GPU opcional mediante use_gpu | Archivos, formularios, corpus heterogéneos |
| RapidOCR | Acepta modelos personalizados | Necesidades específicas (idioma poco común, ámbito especializado) |
| OcrMac | Utiliza el motor nativo de macOS, sin dependencias adicionales | Estación de trabajo Mac, volúmenes pequeños |
#La segmentación que sigue la estructura
Un punto que la mayoría de las guías de RAG local no explican: Docling no se limita a convertir, sino que también propone una segmentación adaptada a lo que acaba de reconstruir. Su HybridChunker parte de la jerarquía del documento (títulos, secciones) y luego ajusta el tamaño de cada fragmento según el tokenizer real del modelo de embeddings elegido: los bloques demasiado largos se dividen respetando los límites de los elementos en lugar de cortar una frase por la mitad, y los bloques demasiado cortos que comparten el mismo título se fusionan. El tokenizer proporcionado debe estar alineado con el del modelo de embeddings utilizado posteriormente; de lo contrario, el tamaño real de los fragmentos (en tokens) deja de corresponder a lo que espera el índice vectorial. Se trata de una segmentación basada en la estructura, que puede compararse con una segmentación por bloques de caracteres que no tiene en cuenta los límites de las frases: ver nuestra guía sobre estrategias de chunking para conocer las ventajas y los inconvenientes de ambos enfoques.
#El coste computacional
| Configuración | Velocidad de procesamiento | Cuándo basta |
|---|---|---|
| Procesador solo, sin OCR | El más lento: unos segundos por página compleja | Corpus pequeños, conversiones puntuales |
| Solo procesador, con OCR | Más lento aún, el OCR domina | Algunos documentos escaneados |
| Con GPU | Mucho más rápido en el análisis de páginas y tablas y en el OCR con EasyOCR | Miles de páginas, ingestión repetida |
La consecuencia práctica: se convierte por lotes, una sola vez, y se conserva el resultado. Reindexar solo tiene sentido si cambia la fuente. Y en una máquina que también sirve un modelo de lenguaje, ambos compiten por la misma GPU mediante las opciones de aceleración del pipeline: ingerir un corpus mientras los usuarios hacen preguntas ralentiza ambos procesos.
#Su lugar en la cadena
- 01ConvertirDocling convierte tus archivos en markdown o JSON estructurado, con las tablas intactas.
- 02Dividir en fragmentosCon HybridChunker, siguiendo la estructura recuperada y el tokenizer del modelo de embeddings, en lugar de dividir el texto cada mil caracteres. Aquí es donde se vuelve a sacar provecho del conversor.
- 03Codificar y almacenarUn modelo de embedding local convierte fragmentos en vectores, almacenados en una base vectorial como Qdrant.
- 04ResponderUn modelo local redacta a partir de los pasajes recuperados, mediante Ollama o un servidor de inferencia local.
- Almacenar los vectores en Qdrant
- Comparar estrategias de chunking
- Una aplicación lista para usar para hablar con tus documentos
- Caso especial: extraer datos de facturas
- Tesseract solo: un OCR más sencillo para texto limpio
- El kit RAG local QuelLLM: todos los componentes en una página
- Fuente: repositorio oficial de Docling en GitHub
- Fuente: opciones del pipeline Docling (OCR, TableFormer)
- Fuente: documentación del HybridChunker
#Dónde sigue habiendo dificultades
- Los documentos escaneados de mala calidad
- La precisión del OCR en una fotocopia torcida es una limitación física, no del software.
- Las maquetaciones con muchos elementos gráficos
- Revistas, texto que rodea una figura, formularios: difíciles para todos los convertidores.
- Escritura manuscrita
- Fuera del alcance de esta categoría de herramientas.
- Gráficos complejos
- La comprensión de gráficos cubre los casos habituales (gráficos circulares, de barras y de líneas); un gráfico muy específico —un mapa, un diagrama técnico o un esquema de arquitectura— puede todavía reproducirse únicamente mediante su leyenda, sin los valores subyacentes.
- Costo de entrada
- Instalar los modelos de maquetación, tablas y OCR supone descargar varios gigabytes en el primer inicio; en una máquina aislada sin acceso a la red, hay que descargarlos previamente.
#FAQ
¿Es Docling gratuito?+
¿Se necesita una GPU?+
¿Sabe leer PDF escaneados?+
¿Qué diferencia hay entre los modos FAST y ACCURATE de TableFormer?+
¿Docling o un simple extractor de texto?+
¿Docling se integra con LangChain o LlamaIndex?+
¿Salen los datos de mi máquina?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.