Calculadora de fragmentación RAG
Datos de entrada
| Tokens del documento | 8.000 |
|---|---|
| Tamaño de fragmento | 512 |
| Solapamiento de fragmentos | 64 |
Calculadora de fragmentación RAG
Determine en cuántos fragmentos solapados se divide un documento para la generación aumentada por recuperación y cuántos tokens se envían al modelo de embeddings.
Datos de entrada
Documento
Fragmentación
Resultados
Introduce un valor para ver los resultados.
Detalles
Fragmentación en RAG
La generación aumentada por recuperación (RAG) responde a una pregunta buscando primero en una colección de documentos los pasajes pertinentes y suministrándolos después a un modelo de lenguaje. Como un documento completo suele ser demasiado largo para incrustarlo y recuperarlo como una sola unidad, cada documento se divide primero en piezas más pequeñas llamadas fragmentos. La fragmentación (chunking) es el paso que decide cómo se cortan esas piezas, y condiciona tanto la calidad de la recuperación como el coste de los embeddings. Esta calculadora indica cuántos fragmentos produce un documento de una longitud dada y cuántos tokens se envían al modelo de embeddings.
Funcionamiento
Un divisor desplaza una ventana de tamaño fijo a lo largo del documento. La
ventana tiene una anchura de chunk_size tokens y, tras emitir cada fragmento,
avanza un paso en lugar de toda su anchura, de modo que los fragmentos
consecutivos comparten una banda de chunk_overlap tokens. El solapamiento
existe para que un dato situado sobre una frontera de fragmento siga apareciendo
completo en al menos un fragmento; sin él, una frase cortada en dos no podría
recuperarse desde ninguna de las mitades.
El avance es el tamaño de fragmento menos el solapamiento:
s=c−oUn documento de tokens queda cubierto una vez que el primer fragmento ha consumido tokens de ventaja inicial y los tokens restantes se han recorrido en pasos de , lo que requiere
n=⌈sT−o⌉fragmentos. El redondeo hacia arriba contempla la última ventana, posiblemente corta. Cada uno de los fragmentos se incrusta en su tamaño completo, de modo que el total de tokens enviados al modelo de embeddings es
Temb=n⋅cComo cada fragmento posterior al primero repite tokens, es mayor que el original siempre que el solapamiento sea distinto de cero.
Ejemplo
Tome un documento de 8.000 tokens, dividido con un tamaño de fragmento de 512 y un solapamiento de 64. La ventana avanza
s=512−64=448 tokensy el número de fragmentos es
n=⌈4488000−64⌉=⌈4487936⌉=⌈17.71⌉=18Incrustar los 18 fragmentos a tamaño completo envía
Temb=18×512=9216 tokensal modelo de embeddings. El solapamiento ha inflado el volumen incrustado de 8.000 a 9.216 tokens, alrededor de un 15 % más, que es el precio de mantener intactos los pasajes que cruzan fronteras. Esa proporción se aproxima al tamaño de fragmento dividido por el avance, .
Notas y variaciones
Los divisores reales rara vez cortan en fronteras exactas de tokens. La mayoría respeta las rupturas de frase o de párrafo, por lo que los fragmentos varían en longitud y el recuento difiere ligeramente de la estimación de ventana uniforme empleada aquí. Los divisores recursivos y semánticos ajustan las fronteras a la estructura natural, sacrificando uniformidad a cambio de coherencia. La fracción de solapamiento es la palanca principal sobre el volumen incrustado: un solapamiento del 50 % duplica aproximadamente los tokens incrustados, mientras que un solapamiento nulo incrusta exactamente la longitud del documento pero se arriesga a partir los datos.
Aplicación
El número de fragmentos rige el dimensionamiento posterior. Cada fragmento se convierte en un vector, por lo que alimenta directamente el tamaño del índice calculado por Calculadora de tamaño de base de datos vectorial, y el total de tokens incrustados fija el gasto único de embeddings estimado por Calculadora de coste de embeddings. Ajustar el tamaño de fragmento y el solapamiento equilibra, por tanto, la precisión de recuperación frente al almacenamiento y al coste de embeddings a la vez.
Preguntas frecuentes (FAQ)
¿Por qué se añade solapamiento entre fragmentos?
Una división rígida puede partir por la mitad una frase, una fila de tabla o un dato, dejando a ambos fragmentos sin la información completa. El solapamiento repite la parte final de un fragmento al comienzo del siguiente, de modo que un pasaje que cruza una frontera sigue apareciendo intacto en al menos un fragmento.
La contrapartida es que los tokens repetidos se incrustan más de una vez, lo que eleva el coste de los embeddings y añade entradas casi duplicadas al índice.
¿Qué tamaño de fragmento conviene usar?
No existe un valor óptimo universal; depende del contenido y de la tarea de recuperación. Los fragmentos pequeños, en torno a 256–512 tokens, aíslan una sola idea por fragmento y recuperan con precisión, lo que conviene a la búsqueda de datos concretos. Los fragmentos grandes, de 1.000 tokens o más, conservan más contexto circundante, lo que ayuda en la resumen y en las preguntas de razonamiento.
Un punto de partida habitual es 512 tokens con un solapamiento del 10 al 20 %, ajustando después según la calidad de la recuperación.
¿Por qué se incrustan más tokens de los que contiene el documento?
Cada fragmento posterior al primero repite la región de solapamiento del fragmento anterior, por lo que esos tokens se incrustan dos veces. El total incrustado es el número de fragmentos por el tamaño de fragmento, mayor que la longitud original del documento siempre que haya algún solapamiento.
La proporción entre tokens incrustados y tokens del documento es aproximadamente el tamaño del fragmento dividido por el avance, de modo que un solapamiento elevado puede inflar el volumen de embeddings muy por encima del tamaño original del documento.
Aviso legal
El recuento de tokens depende del tokenizador del modelo y de cómo el divisor trate las fronteras de frase y de párrafo; las canalizaciones reales rara vez producen fragmentos perfectamente uniformes. Considere estas cifras estimaciones de planificación y verifique los recuentos exactos y el gasto en embeddings con sus propias herramientas.