Arquitetura de IA

Chunking para RAG: como dividir documentos para IA

Aprenda a dividir documentos para RAG preservando regras, exceções, tabelas e fontes, com critérios de tamanho, sobreposição e testes de recuperação.

A regra pode chegar ao modelo sem a exceção

Um atendente pergunta se determinado serviço pode ser cancelado. O agente encontra a cláusula que permite cancelamento e prepara uma resposta afirmativa. O parágrafo seguinte, que restringe essa possibilidade em uma situação específica, ficou em outro trecho e não foi recuperado.

O documento estava correto. A divisão usada na indexação retirou justamente a condição que mudava a decisão.

Chunking é o processo de dividir documentos em unidades menores para indexação e recuperação. Em um sistema de RAG, essas unidades ajudam a selecionar o contexto enviado ao modelo. O tamanho do corte interfere no que a busca encontra e no que a resposta consegue sustentar.

A decisão prática consiste em definir a menor unidade que continua compreensível, verificável e suficiente para a pergunta. Um número fixo de caracteres, aplicado a toda a biblioteca, raramente resolve sozinho essa responsabilidade.

O que deve permanecer junto

Comece pelo tipo de documento e pela tarefa que ele alimenta. Uma política de atendimento, uma tabela de peças e uma ata de reunião possuem estruturas diferentes.

Em políticas, preserve regra, condição de aplicação e exceção. Em procedimentos, mantenha pré-requisito, ação e resultado esperado. Em tabelas, cada valor precisa continuar ligado ao cabeçalho, à unidade e à observação que altera sua interpretação. Em contratos, uma cláusula pode depender de definições ou anexos fora da mesma página.

Isso não exige colocar todas as dependências no mesmo bloco. Exige uma forma explícita de recuperá-las. Um trecho pode carregar o identificador da seção superior e referências para definições obrigatórias. A expansão do contexto precisa respeitar as mesmas permissões da busca inicial.

A base de conhecimento para agentes de IA governa quais documentos valem. O chunking governa como representar esses documentos sem perder suas relações internas.

Compare três estratégias antes de escolher

Corte por tamanho com limites de frase

É uma linha de base simples: a rotina divide o texto segundo um teto e procura não interromper frases. Pode funcionar para conteúdo relativamente homogêneo, como artigos explicativos.

O risco aparece quando a fronteira separa uma ressalva, uma lista ou a descrição de uma tabela. Inspecione os cortes em documentos representativos, especialmente os que geram decisões de maior consequência.

Corte pela estrutura do documento

Títulos, subtítulos, cláusulas, perguntas frequentes e blocos de procedimento orientam a divisão. Essa abordagem preserva melhor a organização editorial quando o arquivo possui estrutura confiável.

Um PDF visualmente organizado pode produzir texto extraído fora de ordem. Por isso, confira a extração antes de atribuir o problema ao algoritmo de corte. O guia sobre OCR ou IA multimodal ajuda a separar leitura do arquivo e preparação do contexto.

Recuperação de trecho com expansão da seção

A busca localiza um bloco específico, mas o sistema entrega também uma seção maior quando ela é necessária para interpretar o resultado. Essa arquitetura permite buscar com precisão sem obrigar o modelo a trabalhar com fragmentos isolados.

O custo está no contexto adicional. Expanda apenas quando existir uma relação útil, como definição, ressalva ou sequência operacional. Trazer páginas vizinhas indiscriminadamente pode recolocar ruído e versões conflitantes no contexto.

A documentação da Microsoft sobre divisão de documentos para RAG descreve cortes fixos, orientados por estrutura, semânticos e combinações. São alternativas de implementação; a escolha final depende dos documentos e das perguntas da empresa.

Tamanho e sobreposição precisam de teste

Trechos pequenos favorecem localização específica, mas podem perder contexto. Trechos grandes preservam explicação, mas misturam assuntos e consomem mais espaço na entrada do modelo.

Sobreposição repete uma parte do texto entre blocos consecutivos. Ela pode reduzir a perda na fronteira, mas aumenta armazenamento, processamento e repetição entre resultados. Também pode fazer o modelo receber várias cópias da mesma regra enquanto uma exceção continua ausente.

Use o limite de entrada do modelo de embeddings como restrição técnica, não como tamanho editorial ideal. Meça tokens com o tokenizador compatível com o componente usado. Caracteres e palavras são aproximações que variam com idioma e conteúdo.

Para um primeiro teste, mantenha três configurações comparáveis: corte por tamanho, corte por seção e corte por seção com expansão controlada. Preserve o restante da arquitetura para que a mudança observada possa ser atribuída à divisão. Não altere simultaneamente modelo, busca, prompt e chunking.

Um contrato mínimo para cada trecho

Além do texto, cada unidade deve carregar dados suficientes para voltar à fonte e aplicar o escopo correto:

  • identificador do documento e da versão;
  • identificador do trecho e da seção superior;
  • título e caminho de subtítulos;
  • página ou posição de origem, quando disponível;
  • data de vigência e estado de publicação;
  • cliente, unidade e público autorizado;
  • referências obrigatórias para interpretação;
  • versão do processo de extração e divisão.

Não misture trechos de versões diferentes na mesma resposta como se fossem uma sequência contínua. Se a fonte mudou, a nova indexação precisa substituir ou separar explicitamente os derivados antigos.

A linhagem de dados em agentes de IA permite localizar quais blocos, vetores e respostas dependem de um documento corrigido. Essa ligação também sustenta exclusão e investigação.

Como tratar tabelas, listas e anexos

Tabelas

Não envie uma linha com números soltos. Repita os nomes das colunas necessários para interpretá-la, preserve unidades e associe notas de rodapé. Tabelas extensas podem exigir blocos por grupo de linhas, cada um com o contexto de cabeçalho.

Quando a pergunta pede soma, comparação ou filtro exato, considere uma representação estruturada e cálculo determinístico. Dividir a tabela em texto não transforma a busca em um mecanismo confiável de cálculo.

Listas de etapas

Preserve a ordem e indique se o bloco contém o procedimento completo ou apenas parte dele. Se uma ação depende da conclusão de outra, a relação deve sobreviver à divisão.

Anexos e referências cruzadas

Registre o vínculo de forma recuperável. Se a cláusula remete ao anexo e esse anexo não está disponível ou autorizado, a resposta deve declarar a ausência. O modelo não deveria completar a dependência pela aparência do restante do contrato.

Avalie recuperação antes de avaliar redação

Prepare perguntas cuja evidência necessária foi marcada por uma pessoa do processo. Inclua perguntas diretas, exceções, tabelas, referências cruzadas, documentos vencidos e perguntas sem resposta.

Para cada configuração, registre:

  1. se a evidência necessária apareceu entre os trechos recuperados;
  2. se regra e ressalva chegaram juntas ao contexto final;
  3. quanto conteúdo irrelevante acompanhou a evidência;
  4. se a citação abre o ponto correto da fonte;
  5. se houve mistura de versão ou permissão;
  6. latência e custo por pergunta com evidência suficiente.

Só depois compare a resposta produzida. Uma redação convincente pode esconder uma recuperação incompleta. Se o trecho necessário nunca chegou ao modelo, revisar apenas o prompt de resposta ataca o componente errado.

Separe exemplos de ajuste e de validação, como no dataset de avaliação para agentes. Isso reduz o risco de escolher uma divisão que funciona apenas nas perguntas usadas para calibrá-la.

Publicação e manutenção da divisão

Trate a mudança de chunking como uma nova versão do índice. Gere os derivados em ambiente separado, teste as perguntas críticas e confirme que cada resultado continua apontando para sua origem.

A passagem para produção precisa permitir retorno ao índice anterior, desde que ele ainda contenha fontes vigentes e autorizadas. Um rollback técnico não autoriza recuperar uma política revogada.

Depois da mudança, acompanhe respostas corrigidas, ausência de evidência, referências quebradas e trechos repetidos. A melhoria esperada aparece quando a equipe precisa abrir menos documentos para reconstruir o contexto que o agente deveria ter recebido.

Quando o problema está depois do corte

Se os trechos estão completos, mas a busca prioriza conteúdo parecido e errado, revise a recuperação. A busca híbrida para RAG combina sinais textuais e semânticos para selecionar candidatos; ela resolve outra etapa do fluxo.

Um projeto bem delimitado separa essas responsabilidades: extração preserva o conteúdo, chunking preserva a unidade de sentido, recuperação seleciona evidência e geração organiza a resposta. Essa separação permite corrigir uma falha sem trocar toda a solução.