Solapamiento (Chunk Overlapping)
Técnica de fragmentación de texto donde los bloques consecutivos comparten un porcentaje de palabras límite para no perder contexto.
Definición Técnica & Formal
En pipelines de RAG, al dividir un documento largo en fragmentos (chunks) de tamaño N, se configura un solapamiento (overlap) de M tokens entre fragmentos continuos. Esto evita el corte abrupto de contexto entre fronteras. Ejemplo ilustrativo: Dada una lista de palabras del 1 al 10: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y fragmentos de tamaño 4: • Sin solapamiento (overlap = 0): - Fragmento 1: [1, 2, 3, 4] - Fragmento 2: [5, 6, 7, 8] - Fragmento 3: [9, 10] • Con solapamiento (overlap = 2): - Fragmento 1: [1, 2, 3, 4] - Fragmento 2: [3, 4, 5, 6] (repite el 3 y el 4) - Fragmento 3: [5, 6, 7, 8] (repite el 5 y el 6) - Fragmento 4: [7, 8, 9, 10] (repite el 7 y el 8)
Puntos Clave & Aplicaciones
"Con [1..10] y tamaño 4: sin overlap se obtienen 3 partes inconexas. Con overlap=2, el Fragmento 2 [3,4,5,6] repite 3 y 4 del primer fragmento, preservando el puente de sentido entre ambos."
💡 Tip: Puedes presionar el botón "Dibujar / Apuntes" en la barra superior para hacer anotaciones gráficas sobre este diagrama.Demostración Visual e Interactiva
Interactúa con los controles para simular dinámicamente el funcionamiento de Solapamiento (Chunk Overlapping).
Ejemplo de Código & Demostración
function createChunksWithOverlap(text: string, chunkSize: number, overlap: number): string[] {
const words = text.split(" ");
const chunks: string[] = [];
for (let i = 0; i < words.length; i += (chunkSize - overlap)) {
const chunk = words.slice(i, i + chunkSize).join(" ");
chunks.push(chunk);
}
return chunks;
}