Ganancias:
- Evaluar numéricamente el tamaño de los fragmentos, la superposición y las compensaciones de los fragmentos semánticos
- Elegir una estrategia de fragmentación adecuada para diferentes tipos de documentos (PDF, tabla, código, registro de chat)
- Fortalezca la calidad de recuperación y el filtrado agregando metadatos a cada fragmento
Este es el paso más pasado por alto pero el más decisivo en RAG: cómo desglosar el documento. Esto se llama fragmentación. Incluso si le entrega el mismo documento al mismo modelo, debido a una mala fragmentación, la recuperación devuelve la pieza incorrecta y el modelo nunca producirá una gran respuesta. En esta unidad, cubrimos las estrategias de fragmentación, cómo adaptarlas según el tipo de documento y cómo agregar metadatos significativos a cada fragmento.
¿Por qué trituramos?
Hay tres razones. Primero, los modelos de incrustación convierten el texto hasta una cierta longitud en un vector significativo; Si un capítulo completo de 40 páginas se agrupa en un solo vector, el significado se vuelve "borroso". En segundo lugar, queremos darle al modelo sólo la parte que se necesita como contexto; entregar el documento completo es costoso y distrae. En tercer lugar, para que la recuperación sea precisa, la unidad de búsqueda debe ser pequeña y enfocada.
Entonces, el fragmento es la unidad más pequeña de recuperación. No debe ser ni demasiado grande ni demasiado pequeño: debe ser perfecto.
Tamaño de fragmento y equilibrio de superposición
Hay dos configuraciones principales: tamaño del fragmento (cuántos tokens/palabras habrá en un fragmento) y superposición (la porción compartida por los fragmentos vecinos).
Porciones muy pequeñas (por ejemplo, 100 tokens): enfocadas pero desconectadas del contexto. Dice "durante 14 días", pero lo que son 14 días queda en la frase anterior. Fragmentos muy grandes (por ejemplo, 2000 tokens): conserva el contexto pero se mezclan muchos subprocesos; la incrustación se confunde y se juntan temas irrelevantes.
La superposición resuelve el problema de los límites. Si una frase cae exactamente en el límite de dos partes, se divide en dos sin superponerse y se pierde su significado. La superposición de 50 a 100 tokens garantiza que la información que se encuentre dentro del límite permanezca intacta en al menos una parte.
Tamaño del fragmento
ventaja
Desventaja
contenido apropiado
Pequeño (100-250 fichas)
Alta sensibilidad, enfocado
El contexto puede romperse
Preguntas frecuentes, artículos breves, definiciones
Medio (300-600 fichas)
Saldo; la mayoría de los escenarios
—
Procedimientos, textos políticos.
Grande (800-1500 fichas)
Integridad del contexto
incrustación borrosa
Narrativa, explicaciones largas.
Consejo: si no sabe por dónde empezar, comience con un fragmento de 400 a 500 tokens y una superposición de 50 a 80 tokens; luego mida y ajuste con sus propios datos. El tamaño "correcto" no es universal, depende del contexto.
Estrategias de fragmentación
Tamaño fijo: recorta el texto cada N tokens. Es simple y rápido, pero puede interrumpir a mitad de una oración.
Basado en separador (recursivo/separador): divide según el párrafo y luego los límites de la oración; Preserva mejor la integridad del significado. La mayoría de los sistemas de producción comienzan con esto.
Fragmentación semántica: observa las incrustaciones de las oraciones y las divide donde ocurre el cambio de sujeto. Es el método de mayor calidad pero más caro; Con grandes volúmenes, los costos de transacción aumentan.
Consciente de la estructura: utiliza la estructura del documento, como títulos, secciones y tablas. Por ejemplo, dividir un documento Markdown por títulos garantiza que cada parte lleve su propio título.
Adaptación por tipo de documento
No todos los documentos son iguales. La estrategia varía según el tipo:
- PDF/texto de política: basado en marcadores, tamaño mediano. Borrar las repeticiones superior/inferior de la página (encabezado/pie de página).
- Tablas: No saques la línea fuera de contexto; mantenga cada fila con la información del encabezado ("Artículo: X, Precio: Y, Stock: Z"). Convertir la tabla sin formato a texto sin formato suele ser esencial.
- Código: Dividido por límites de función/clase; No elimines una función del camino.
- Grabación de chat/ticket: dividida por mensaje o ronda de conversación; Mantener el conocimiento de quién dijo qué.
# fragmentos (conceptuales) basados en corchetes = bol( text, target_size=450, # superposición de tokens=70, # corchetes de tokens=["\n\n", "\n", ". ", " "] # primer párrafo, última palabra)
Agregar metadatos a cada pista
Fragmentar no es sólo "dividir"; es enriquecer cada pieza. Cada etiqueta que adjunte a la pista vale su peso en oro para futuros filtrados y citas de fuentes.
# Fragmento enriquecido (conceptual){ "text": "La licencia anual remunerada es de 14 días con 1 a 5 años de servicio...", "metadata": { "source": "ik_el_kitabi_v7.pdf", "section": "5.2 Licencia anual", "page": 23, "date": "2025-06", "department": "IK", "privacy": "internal" }}
Otra técnica poderosa es agregar un encabezado contextual: escribir el título del capítulo al que pertenece al comienzo de cada pieza. Por lo tanto, incluso una pieza inconexa como "Durante 14 días" está mejor integrada y es más significativa como "Permiso anual - 14 días".
Fragmentación débil / Fragmentación fuerte
Débil (versión impresa ciega, sin metadatos):
Trunca el texto cada 1000 caracteres. Conserve solo el texto.# Resultado: las tablas se dividen por la mitad, "14 días" permanece sin contexto,# no se sabe de qué documento proviene, no se puede realizar ningún filtro.
Potente (consciente de la estructura + encabezado + metadatos):
Divida el documento por títulos; agregue el título de la sección a cada parte; adjunte la fuente, la página, la fecha y los metadatos de privacidad; convierta cuadros de mando a texto sin formato con sus encabezados.# Resultado: enfocado, contextual, filtrable, fuenteble.
Tres mini estuches
Caso 1: Desastre de pintura. Un equipo financiero dividió la lista de precios de 200 páginas con cortes ciegos; Las filas de la tabla se dividieron aleatoriamente. "¿Cuál es el precio del producto X?" El modelo leyó la línea equivocada y dio el precio equivocado (9 de cada 12 casos están equivocados). Cuando convertí las filas de la tabla a texto sin formato en el formato "Producto:... | Precio:... | Unidad:...", el error disminuyó a 0 de 12.
Caso 2: trozo extremadamente grande. En una wiki, cada página está formada por un solo fragmento (algunos dicen que 3000 tokens). La incrustación es borrosa porque hay "licencias", "horas extras" y "nómina" en una página; El apartado de jornada laboral también entró en juego en relación con la cuestión de las vacaciones. Cuando las páginas se dividieron en tamaño mediano por título, recordar@5 aumentó del 64% al 91%.
Caso 3 — Frase truncada sin superposición. Corte fijo de 250 tokens para un equipo legal, sin superposición. Una definición crítica cayó justo en el límite de dos partes y se dividió en dos; Ni uno ni otro contienen la respuesta completa. Cuando se agregó la superposición de 60 fichas, la misma definición permaneció intacta en una sola pieza y se devolvió la respuesta correcta.
Errores comunes
- Corte fijo ciego: divide oraciones y tablas por la mitad; se pierde el significado.
- Dejar la superposición en cero: la información que cae en el límite se divide y se pierde.
- No agregar metadatos: el filtrado y la visualización de fuentes se vuelven imposibles.
- Dejar las tablas sin formato: el modelo no puede resolver la estructura de la tabla; Convierte líneas a texto sin formato.
- Imponer una estrategia: PDF, código y tabla no se dividen con el mismo método; Adaptarse al género.
Precaución: No configures Chunking una vez y lo olvides. Vuelva a medir la calidad de recuperación a medida que lleguen nuevos tipos de documentos (boletos de un nuevo sistema, archivos PDF escaneados). Los datos de entrada incorrectos significan una mala respuesta ("basura entra, basura sale").
En resumen
- Chunk es la unidad de recuperación más pequeña; Ni demasiado grande ni demasiado pequeño: debe estar equilibrado según el contenido.
- El tamaño del fragmento indica el equilibrio entre el enfoque y el contexto; La superposición gestiona la pérdida de límites.
- La fragmentación basada en corchetes y consciente de la estructura es el punto de partida de la mayoría de los sistemas de generación; La fragmentación semántica es de buena calidad pero costosa.
- Tipos como mesa, guión y chat requieren sus propias estrategias; Convierta tablas a texto sin formato.
- Agregue metadatos de fuente/fecha/capítulo/privacidad y título de sección a cada pista; Esta es la base del filtrado y la citación.
Tarea de aplicación
Divida una sección del documento que elija en tres formas diferentes: (1) piezas pequeñas de 200 fichas, (2) piezas medianas de 500 fichas (70 fichas superpuestas), (3) piezas individuales grandes. Haga las mismas 3 preguntas para cada estrategia, marque manualmente qué pieza incorporar y escriba el razonamiento de qué estrategia funciona mejor para ese documento. Luego agregue al menos cuatro campos de metadatos y un "título de capítulo" a cada pista. Si el documento contiene una tabla, convierta una fila de la tabla a texto sin formato en el formato "campo:valor".
lista de verificación
- [] Puedo decir que el fragmento es la unidad más pequeña de recuperación y el tamaño es el equilibrio enfoque-contexto.
- [] Sé por qué Overlap evita la pérdida de límites.
- [] Puedo distinguir entre fragmentación basada en corchetes, semántica y con reconocimiento de estructura.
- [ ] Puedo adaptar la estrategia para mesa, código y chat.
- [] Refuerzo la recuperación agregando metadatos y título de capítulo a cada pista.