Volver a la Galería de Conceptos
Recuperación Tradicional
Maestría IA — AI Wiki

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.

ChunkingRAG ContextText SplittingPre-processing

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

Sin solapamiento (overlap = 0): [1,2,3,4], [5,6,7,8], [9,10].
Con solapamiento (overlap = 2): [1,2,3,4], [3,4,5,6] (repite 3 y 4), [5,6,7,8] (repite 5 y 6), [7,8,9,10] (repite 7 y 8).
Evita que oraciones clave queden cortadas en el borde de un fragmento.
Configuración típica en producción: Chunk size 512 tokens, Overlap 50-100 tokens (10-20%).
Intuición Visual para Mente Gráfica

"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).

Chunk Size: 4
Overlap: 2
Lista de Palabras Original (10 elementos)
12345678910
Fragmento 1[1, 2, 3, 4]
1
2
3
4
Fragmento 2[3, 4, 5, 6]
3repite 3
4repite 4
5
6
Fragmento 3[5, 6, 7, 8]
5repite 5
6repite 6
7
8
Fragmento 4[7, 8, 9, 10]
7repite 7
8repite 8
9
10

Ejemplo de Código & Demostración

typescript
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;
}
💡 Implementación algorítmica de fragmentación de texto con solapamiento dinámico.

Conceptos Relacionados