Marc Mayol
Chonkie y Docling: dos enfoques complementarios para procesar documentos en pipelines RAG

Chonkie y Docling: dos enfoques complementarios para procesar documentos en pipelines RAG

En el mundo del orden y la recuperación inteligente de textos (por ejemplo, en arquitecturas RAGretrieval-augmented generation), uno de los retos fundamentales es preparar los documentos para que sean “digeribles” por los componentes de recuperación y generación. Aquí entra en juego el chunking — es decir, fragmentar el texto en pedazos coherentes —, pero también la correcta interpretación del documento en sí (estructura, tablas, diseño, etc.).

Dos herramientas recientes destacan por sus enfoques distintos, pero potencialmente complementarios:

  • Chonkie: especializada en fragmentación ligera, modular y eficiente del texto para pipelines de IA.
  • Docling: enfocada en la ingestión y representación rica de documentos de múltiples formatos, con conciencia de estructura, layout, tablas, OCR, etc.

A continuación exploramos cómo funcionan, sus diferencias clave y cómo combinarlas para construir pipelines RAG más potentes.


Chonkie: el hipopótamo ligero que trocea tus textos con elegancia

“CHONK your texts with Chonkie” es el lema simpático de esta librería, que pretende ser “no-nonsense” (sin florituras inútiles) y ultra-ligera. 👉 https://github.com/chonkie-inc/chonkie

¿Por qué existe Chonkie?

En el desarrollo de sistemas RAG o motores de búsqueda semántica, suele repetirse un mismo problema: la fragmentación del texto. Dividir documentos grandes en trozos coherentes sin perder contexto es un equilibrio delicado.

Muchas librerías ofrecen soluciones, pero a menudo incluyen dependencias innecesarias o un tamaño excesivo. Chonkie se centra solo en lo esencial: chunking eficiente, refinamiento y exportación modular.

En sus benchmarks propios, indican que su instalación base ocupa unos 15 MB, frente a los 80–170 MB de librerías alternativas, y que su chunking por tokens puede ser hasta 33 × más rápido.


Características principales

  • Chunkers múltiples:

  • TokenChunker: divide por tokens.

  • SentenceChunker: divide por oraciones.

  • RecursiveChunker: división jerárquica.

  • SemanticChunker: basado en similitud semántica (embeddings).

  • Otros: LateChunker, CodeChunker, SlumberChunker, etc.

  • Pipeline modular y refinamiento: Encadena etapas: chunking → refinado (solapamientos, embeddings) → exportación.

  • Integraciones: Compatibilidad con bases vectoriales como Chroma, Qdrant, Pinecone, pgvector, entre otras.

  • Soporte multilingüe: Soporta más de 50 idiomas, lo que facilita trabajar con contenidos globales.

  • Chonkie Cloud: Además de la versión local, dispone de un servicio en la nube para delegar la fragmentación.


Ejemplo básico

from chonkie import TokenChunker

chunker = TokenChunker()
chunks = chunker("Este es un texto de ejemplo que quiero fragmentar en pedazos útiles.")
for c in chunks:
    print(c.text, c.token_count)

Ejemplo de pipeline más complejo:

    from chonkie import Pipeline

    pipe = (
        Pipeline()
        .chunk_with("recursive", tokenizer="gpt2", chunk_size=2048, recipe="markdown")
        .chunk_with("semantic", chunk_size=512)
        .refine_with("overlap", context_size=128)
        .refine_with("embeddings", embedding_model="sentence-transformers/all-MiniLM-L6-v2")
    )

    doc = pipe.run(texts="Tu texto largo aquí...")
    for ch in doc.chunks:
        print(ch.text)

Este sistema modular permite personalizar cada paso según las necesidades del proyecto.


Limitaciones actuales

  • Dependencia de modelos externos para embeddings y chunking semántico.
  • Comunidad todavía pequeña.
  • Riesgo de mantenimiento: el repositorio fue temporalmente cerrado por su autor por motivos legales, aunque posteriormente fue restablecido.
  • Curva de aprendizaje inicial al configurar pipelines complejas.

Docling: comprensión estructural profunda de documentos

“From document chaos to structured knowledge” 👉 https://github.com/docling-project/docling

¿Qué es Docling?

Desarrollada por el equipo Deep Search de IBM, Docling es una herramienta open source centrada en convertir documentos complejos (PDF, DOCX, PPTX, HTML, imágenes, etc.) en una representación estructurada lista para IA.

Su meta no es solo extraer texto, sino entender la estructura visual y semántica del documento: tablas, encabezados, columnas, jerarquía, imágenes, etc.


Capacidades principales

  • Parsing avanzado de PDF: detección de columnas, encabezados y orden de lectura.
  • Extracción de tablas con modelos específicos como TableFormer.
  • OCR integrado para documentos escaneados.
  • Representación rica del documento: crea objetos DoclingDocument con secciones, tablas, figuras y metadatos.
  • Integración con LangChain mediante DoclingLoader.
  • Soporte para Markdown, JSON o chunks personalizados.

Ejemplo de uso con LangChain:

    from langchain_community.document_loaders import DoclingLoader

    loader = DoclingLoader(file_path="documento.pdf", output_format="MARKDOWN")
    docs = loader.load()

Casos de uso

  • Conversión de informes, papers y presentaciones a texto estructurado.
  • Preprocesamiento de documentos para QA y RAG.
  • Extracción de datos de documentos semi estructurados.
  • Ingestión de datos empresariales a gran escala (PDFs, escaneos, documentos internos).

⚖ Comparativa: Chonkie vs Docling

AspectoChonkieDocling
PropósitoFragmentar texto para pipelines RAGConvertir documentos complejos en texto estructurado
Nivel de entradaTexto plano (ya preprocesado)Formatos crudos (PDF, DOCX, imágenes, etc.)
Conciencia de estructuraNo analiza diseño o layoutComprende tablas, columnas, jerarquía, layout
ChunkingMúltiples estrategias (tokens, oraciones, semántico)Dispone de un módulo básico, pero su foco es estructural
RendimientoMuy rápido y ligeroMás pesado debido al uso de modelos de visión / OCR
Integración IA / RAGNativa con bases vectoriales y embeddingsCompatible con LangChain y otros loaders
MantenimientoProyecto joven con comunidad emergenteRespaldado por IBM, documentación y publicación académica
Uso idealProcesar texto limpio y fragmentarlo óptimamenteIngesta y estructuración previa de documentos complejos

Cómo combinarlas para maximizar resultados

En realidad, Chonkie y Docling no son competidores, sino aliados naturales.

Una estrategia híbrida ideal podría ser:

  1. Usar Docling para convertir PDFs, DOCX o escaneos en una representación estructurada (DoclingDocument).
  2. Extraer los textos de secciones o párrafos relevantes.
  3. Aplicar Chonkie sobre esos fragmentos para optimizar el chunking (por tokens, semántico o recursivo).
  4. Indexar los chunks resultantes en una base vectorial para búsqueda o recuperación aumentada.

Así obtienes lo mejor de ambos mundos: comprensión profunda de estructura documental y fragmentación eficiente optimizada para modelos de lenguaje.


Conclusión

  • Docling es el traductor entre el caos documental y la estructura semántica.
  • Chonkie es el afinador que transforma ese texto limpio en fragmentos óptimos para IA.

Combinarlas permite construir pipelines RAG más precisas, rápidas y robustas, especialmente cuando se trabaja con documentos complejos y multiformato. Si quieres profundizar más sobre Docling tengo este artículo donde lo explico en detalle o también el propio artículo de Chonkie.

Consejo: si estás construyendo tu propio sistema RAG, prueba usar Docling para ingestión y Chonkie para chunking. Tu modelo te lo agradecerá.