Chunking
Fragmentación de documentos grandes en segmentos de texto más pequeños y semánticamente significativos para su recuperación.
Definición
El chunking es el proceso de dividir documentos grandes en segmentos de texto más pequeños y autónomos que pueden ser procesados para generar embeddings, indexados y recuperados de forma independiente. Es un paso de preprocesamiento crítico en cualquier pipeline de RAG porque los modelos de embedding y las ventanas de contexto de los LLM tienen límites de tokens, y la calidad de la recuperación depende en gran medida de qué tan bien se alinean los chunks con unidades de información significativas.
Las características clave del chunking incluyen:
-
Chunking de tamaño fijo vs. semántico: Los enfoques simples dividen el texto por recuento de caracteres o tokens con solapamiento (overlap). Los métodos más sofisticados utilizan límites de oraciones, saltos de párrafo o encabezados de sección para crear chunks que preserven la coherencia semántica.
-
Compromisos en el tamaño del chunk: Los chunks más pequeños proporcionan una recuperación más precisa pero pueden carecer de contexto suficiente. Los chunks más grandes aportan más contexto pero corren el riesgo de diluir la relevancia. Los tamaños típicos oscilan entre 256 y 1024 tokens, según el caso de uso.
-
Estrategia de solapamiento (Overlap): Los chunks adyacentes suelen compartir texto solapado (p. ej., 50-100 tokens) para evitar que se pierda información importante en los límites de los chunks durante la recuperación.
-
Chunking jerárquico: Las estrategias avanzadas crean relaciones padre-hijo entre los chunks, lo que permite la recuperación de una pequeña sección relevante mientras se proporciona el contexto circundante de su chunk padre al LLM.
Una estrategia de chunking eficaz es una de las optimizaciones de mayor impacto en el diseño de sistemas RAG.