términos del glosario
Chunking
- Categoría
- RAG, Embeddings & Search
- Dificultad
- Intermedio
Definición
El chunking es el proceso de particionar grandes cuerpos de texto en segmentos más pequeños y semánticamente significativos para facilitar el almacenamiento, la indexación y la recuperación eficientes dentro de bases de datos vectoriales y sistemas RAG.
Cómo funciona y contexto
En el contexto de la Generación Aumentada por Recuperación (RAG), el chunking es un paso de preprocesamiento fundamental. Los modelos de lenguaje grandes tienen ventanas de contexto finitas, lo que significa que no pueden procesar cantidades infinitas de datos a la vez. Al dividir los documentos en segmentos más pequeños, los sistemas pueden realizar búsquedas de similitud para encontrar solo la información más relevante para una consulta específica. Un chunking eficaz requiere equilibrar el tamaño y el contexto; si los fragmentos son demasiado pequeños, pueden carecer de significado suficiente, pero si son demasiado grandes, pueden contener ruido irrelevante que diluye la señal semántica. Las estrategias comunes incluyen el chunking de tamaño fijo, la división recursiva de caracteres y el chunking semántico, que utiliza modelos de embedding para identificar rupturas naturales en el significado. La elección de la estrategia afecta significativamente la precisión y el rendimiento de la respuesta final generada por la IA.
Por qué es importante
El chunking es esencial para los sistemas RAG porque determina directamente la calidad del contexto recuperado. Sin un chunking adecuado, un sistema podría recuperar datos irrelevantes o perder información crítica, lo que llevaría a alucinaciones o respuestas de baja calidad. Permite a los desarrolladores optimizar el equilibrio entre la precisión de la recuperación y la cantidad de información proporcionada al LLM, asegurando que la IA se mantenga enfocada, precisa y rentable en su razonamiento.
Ejemplo real
Imagina una empresa que construye un bot de atención al cliente basado en RAG utilizando un manual técnico de 500 páginas. Si el sistema introduce todo el manual en el LLM, excederá el límite de contexto y se confundirá. Mediante el uso de chunking, el sistema divide el manual en párrafos pequeños y específicos por tema. Cuando un usuario pregunta sobre el 'reemplazo de batería', el sistema recupera solo el fragmento específico que contiene esas instrucciones, proporcionando una respuesta precisa y exacta.
Errores frecuentes
- Usar un recuento de caracteres fijo sin considerar los límites de oraciones o párrafos, lo que a menudo resulta en texto fragmentado y sin sentido.
- Ignorar la importancia de la superposición, lo que puede causar la pérdida de contexto entre fragmentos adyacentes.
- No tener en cuenta los requisitos de recuperación específicos de la aplicación, como necesitar fragmentos más grandes para tareas de resumen frente a fragmentos más pequeños para la recuperación de hechos.
- Tratar todos los tipos de documentos con la misma estrategia de chunking, independientemente de su estructura o densidad de contenido.
Preguntas frecuentes
¿Cómo determino el tamaño óptimo de los fragmentos?
El tamaño óptimo depende de tu caso de uso específico y del modelo de embedding que se esté utilizando. Por lo general, comienza con un tamaño que capture un pensamiento o tema completo, luego prueba la precisión de la recuperación. Los fragmentos más pequeños son mejores para la búsqueda de hechos específicos, mientras que los fragmentos más grandes son mejores para capturar un contexto más amplio.
¿Cuál es la diferencia entre el chunking de tamaño fijo y el semántico?
El chunking de tamaño fijo divide el texto basándose en un número determinado de caracteres o tokens, lo cual es computacionalmente rápido pero puede romper oraciones a mitad de un pensamiento. El chunking semántico utiliza IA para identificar rupturas naturales en el significado, lo que resulta en segmentos más coherentes a costa de un mayor tiempo de procesamiento.
¿El chunking afecta el costo de usar LLMs?
Sí. Dado que los LLM cobran según la cantidad de tokens procesados, el chunking te permite enviar solo los segmentos más relevantes al modelo, reduciendo significativamente los costos en comparación con el envío de documentos completos.