Pular para o conteúdo
RAG × MCP

Chunking

Antes de gerar embeddings, o texto precisa ser dividido em pedaços menores. O tamanho desses pedaços e a sobreposição entre eles determinam a qualidade da recuperação.

Um modelo de embedding opera sobre uma janela limitada de tokens e produz um único vetor por entrada. Se a entrada for um documento inteiro, o vetor resultante será uma média semântica sem foco: informação específica de um parágrafo se dissolve entre parágrafos adjacentes. Por isso o texto é fatiado antes da indexação.

Dois parâmetros controlam o fatiamento: o tamanho do chunk (em caracteres ou tokens) e a sobreposição entre chunks consecutivos. Se o tamanho é e a sobreposição é , o passo entre o início de um chunk e o próximo é , e a posição inicial do -ésimo chunk é:

posição inicial do k-ésimo chunk

O número total de chunks gerados a partir de um texto de comprimento é aproximadamente:

número aproximado de chunks

Quando a sobreposição é zero, a expressão se reduz a . Quando a sobreposição cresce, o número total de chunks também cresce, porque mais conteúdo é repetido entre chunks vizinhos.

Simulação

Use os controles abaixo para alterar o tamanho e a sobreposição sobre um texto de exemplo. As barras coloridas acima do texto mostram onde cada chunk começa e termina.

6 chunks196 tokens · +35 de repetição

Texto-fonte. Trechos com fundo cinza entram em dois chunks (sobreposição); passe o ponteiro numa barra para ver o chunk.

No fim do século XIX, a cidade de São Paulo passou por uma transformação rápida: a substituição das tropas de muares pelas estradas de ferro, a chegada de imigrantes europeus e o início da industrialização na zona da Luz. Em poucas décadas, uma vila colonial acomodada no interior paulista virou o maior centro de consumo do Brasil. A explosão demográfica acompanhou o café, que saía do Vale do Paraíba em composições ferroviárias até o porto de Santos, de onde embarcava para a Europa e para os Estados Unidos. A cidade que ainda caminhava em torno do Largo de São Francisco ganhou avenidas, bondes elétricos e um primeiro perfil verticalizado.

O que muda ao alterar os parâmetros

Aumentar o tamanho do chunk reduz o número total de chunks e preserva mais contexto em cada um, ao custo de diluir informação específica. Reduzir o tamanho aumenta a especificidade do vetor, ao custo de gerar um índice maior e mais ruidoso.

A sobreposição existe para lidar com o caso em que uma frase importante cai exatamente na fronteira entre dois chunks. Com sobreposição zero, essa frase fica dividida. Com sobreposição igual a 10 ou 20% do tamanho, ela aparece inteira em pelo menos um dos chunks.