Calculadora de chunks RAG
Un documento de 10.000 tokens dividido en chunks de 512 tokens con 64 tokens de solapamiento da 23 chunks y 11.408 tokens de embedding, de los cuales 12,3 % son repetidos. Chunks = 1 + techo((tokens del documento - tamaño) ÷ (tamaño - solapamiento)); total = tokens del documento + (chunks - 1) × solapamiento.
Cómo se usa
- Introduce la longitud del documento en tokens o caracteres, el tamaño del chunk y el solapamiento. Si quieres el coste, añade el precio de embedding por millón de tokens.
- Lee el número de chunks, el total de tokens que enviarás a embeber y cuántos se repiten por el solapamiento.
- Para ver dónde caen los cortes, pega el texto real. Se tokeniza en tu navegador y se muestran los primeros chunks con el solapamiento resaltado.
Cómo se calcula
El paso entre inicios de chunk es el tamaño menos el solapamiento. Si el documento cabe en un chunk, el resultado es 1. Si no, chunks = 1 + techo((tokens del documento - tamaño) ÷ paso).
Cada chunk tras el primero repite los últimos tokens de solapamiento del anterior, así que el total embebido = tokens del documento + (chunks - 1) × solapamiento. La parte repetida es (chunks - 1) × solapamiento ÷ ese total. El último chunk es lo que sobra, por lo que suele ser más corto.
Los caracteres se convierten a 4 por token, la regla práctica que da OpenAI para texto en inglés. Otros idiomas, el código y los números usan más tokens por carácter, así que pega el texto para un recuento exacto.
El texto pegado se tokeniza en tu navegador con las tablas reales de codificación por pares de bytes (js-tiktoken). La vista previa corta la lista de tokens en las mismas ventanas y decodifica cada una. Las ventanas fijas ignoran los límites de frases y párrafos; los divisores que los respetan generan chunks desiguales y otro recuento.
Coste = tokens de embedding ÷ 1.000.000 × el precio por millón de tokens que indiques. Toma el precio de la página de tarifas de tu proveedor.
Preguntas frecuentes
¿Qué tamaño de chunk y solapamiento uso?
No hay un valor universal. Se usan mucho tamaños de unos cientos a unos mil tokens, con un solapamiento del 10 al 20 por ciento. Los chunks pequeños dan coincidencias más precisas pero más vectores que guardar; los grandes conservan más contexto pero pueden diluir la coincidencia. Prueba con tus propias preguntas.
¿El solapamiento encarece los embeddings?
Sí, cada parte solapada se procesa dos veces. En un documento de 10.000 tokens con chunks de 512 y 64 de solapamiento, 1.408 de los 11.408 tokens enviados (12,3 %) son repetidos, así que procesas un 14,1 % más que el documento.
¿Los recuentos son exactos?
Lo son para la regla mostrada: ventanas fijas de tokens. Las bibliotecas que dividen por frases, párrafos o títulos crean chunks desiguales y sus recuentos difieren. La conversión de caracteres a tokens es una estimación.
¿Qué tokenizador elijo?
El de tu modelo de embedding. Los modelos text-embedding-3 de OpenAI usan cl100k_base. Los de otros proveedores tienen tokenizadores que no están aquí, así que el recuento es una referencia cercana.
¿Se envía mi texto a algún sitio?
No. El recuento y la vista previa se ejecutan en tu navegador. La tabla del tokenizador se descarga una vez de este sitio y tu texto nunca se sube.