Calculadora de chunks RAG
Um documento de 10.000 tokens dividido em chunks de 512 tokens com 64 tokens de sobreposição gera 23 chunks e 11.408 tokens de embedding, dos quais 12,3% são repetidos. Chunks = 1 + teto((tokens do documento - tamanho) ÷ (tamanho - sobreposição)); total = tokens do documento + (chunks - 1) × sobreposição.
Como usar
- Informe o tamanho do documento em tokens ou caracteres, o tamanho do chunk e a sobreposição. Para ver o custo, coloque também o preço de embedding por milhão de tokens.
- Veja o número de chunks, o total de tokens que você vai enviar para embedding e quantos deles se repetem por causa da sobreposição.
- Para ver onde ficam os cortes, cole o texto real. Ele é tokenizado no seu navegador e os primeiros chunks aparecem com a sobreposição destacada.
Como é calculado
O passo entre os inícios dos chunks é o tamanho menos a sobreposição. Se o documento cabe em um chunk, o resultado é 1. Caso contrário, chunks = 1 + teto((tokens do documento - tamanho) ÷ passo).
Cada chunk depois do primeiro repete os últimos tokens de sobreposição do anterior, então o total enviado = tokens do documento + (chunks - 1) × sobreposição. A parte repetida é (chunks - 1) × sobreposição ÷ esse total. O último chunk é o que sobra, por isso costuma ser menor.
Os caracteres são convertidos à razão de 4 por token, a regra prática que a OpenAI dá para textos em inglês. Outros idiomas, código e números usam mais tokens por caractere; cole o texto para uma contagem exata.
O texto colado é tokenizado no navegador com as tabelas reais de codificação por pares de bytes (js-tiktoken). A prévia corta a lista de tokens nas mesmas janelas e decodifica cada uma. Janelas fixas ignoram limites de frases e parágrafos; divisores que os respeitam geram chunks desiguais e outra contagem.
Custo = tokens de embedding ÷ 1.000.000 × o preço por milhão de tokens informado. Veja o preço na página de tarifas do seu provedor.
Perguntas frequentes
Que tamanho de chunk e sobreposição devo usar?
Não há valor universal. São comuns tamanhos de algumas centenas a cerca de mil tokens, com sobreposição de 10 a 20 por cento. Chunks pequenos dão correspondências mais precisas, mas mais vetores para guardar; chunks grandes mantêm mais contexto, mas podem borrar a correspondência. Teste com suas próprias perguntas.
A sobreposição aumenta a conta de embedding?
Sim, cada trecho sobreposto é processado duas vezes. Num documento de 10.000 tokens com chunks de 512 e 64 de sobreposição, 1.408 dos 11.408 tokens enviados (12,3%) são repetidos, ou seja, você processa 14,1% a mais que o documento.
As contagens de chunks são exatas?
São exatas para a regra mostrada: janelas fixas de tokens. Bibliotecas que dividem por frases, parágrafos ou títulos criam chunks desiguais e contagens diferentes. A conversão de caracteres em tokens é uma estimativa.
Qual tokenizador escolher?
O do seu modelo de embedding. Os modelos text-embedding-3 da OpenAI usam cl100k_base. Modelos de outros provedores têm tokenizadores que não estão aqui, então a contagem é uma referência próxima.
Meu texto é enviado para algum lugar?
Não. A contagem e a prévia rodam no seu navegador. A tabela do tokenizador é baixada deste site uma vez e o seu texto nunca é enviado.