# Preparando documentos para RAG: corrija a fonte antes de mudar o prompt

Reúna documentos de uma base de conhecimento conectada ou de um site público de ajuda. Antes de indexá-los para RAG, confira o texto extraído, as versões e onde começa e termina cada trecho.

Canonical page: https://beeuni.ai/blog/pt/prepare-documents-for-rag

Seu assistente continua citando uma regra antiga da base de conhecimento ou deixa de fora parte de uma tabela? O Beeuni pode ler os documentos originais, encontrar cópias desatualizadas e erros de extração e preparar o texto corrigido para o índice de busca. Vamos usar um guia de entregas para mostrar o que verificar e quais arquivos exportar.

A geração aumentada por recuperação, ou RAG, busca trechos relevantes nos seus documentos e os fornece ao modelo quando ele responde a uma pergunta. Esses trechos, muitas vezes chamados de chunks, são seções menores preparadas para busca. Um agente do Beeuni pode reunir documentos da sua base de conhecimento conectada ou de um site público de ajuda, extrair o texto e executar scripts para preparar esses trechos. Seu aplicativo então faz a indexação e a busca com as ferramentas que você escolher.

## Reúna a base de conhecimento onde ela está

Para um site público de ajuda, forneça ao agente uma URL inicial e as seções que devem ser incluídas. Peça que ele siga os links relevantes, salve o texto dos artigos e informe quais páginas não conseguiu abrir. Para documentação privada, conecte o serviço e conceda acesso à coleção desejada. Ter apenas uma URL privada não torna a página acessível para leitura.

Mantenha um manifesto da coleção com a referência de cada página ou documento, o título, o horário da recuperação e as informações de versão, quando fornecidas pela fonte. Um commit do repositório pode identificar uma versão da documentação; para uma página de ajuda dinâmica, talvez seja necessário salvar uma cópia. O agente pode comparar esse inventário com a importação anterior e identificar páginas alteradas, removidas e recém-descobertas antes de preparar outra exportação.

## Comece com uma pergunta que o aplicativo responde incorretamente

Localize no documento original o trecho que deveria responder à pergunta. Compare a página com o texto extraído e com o trecho retornado pela recuperação. Assim, você separa um problema de extração de um problema de recuperação. Se o trecho correto chegou ao modelo, examine como ele foi usado na resposta.

| O que você vê | O que verificar | O que mudar |
| --- | --- | --- |
| Um valor sem unidade | Cabeçalhos da tabela e células adjacentes | Mantenha os cabeçalhos e as unidades junto às linhas relevantes |
| Uma resposta baseada em uma regra antiga | Versões dos documentos e datas de vigência | Remova o texto substituído ou torne explícito o filtro de versão |
| Uma frase interrompida pela metade | Limites dos trechos no texto exportado | Sempre que possível, divida o texto nos limites de seções ou parágrafos |
| Navegação repetida nos resultados | Cabeçalhos, rodapés e menus das páginas | Remova o conteúdo repetitivo sem excluir notas relevantes |
| Nenhum trecho correspondente | Cobertura da extração e resultados da recuperação | Recupere o texto ausente e, em seguida, teste novamente a indexação e a recuperação |

## O cabeçalho de uma tabela pode mudar a resposta

Imagine um guia de envio com uma tabela intitulada “Prazo de entrega, em dias úteis após o despacho”. Na linha do serviço padrão, o valor é “3–5”. Se a extração mantiver apenas “Padrão: 3–5”, ela terá perdido tanto a unidade quanto o evento que inicia a contagem. O modelo agora precisa adivinhar se o número indica dias, um preço ou outra coisa.

```
Example of a passage with its context preserved:
Document: Shipping guide
Section: Delivery estimates
Service: Standard
Delivery time: 3–5 business days after dispatch
Source: sample-shipping-guide.pdf, page 2
```

Esse trecho pode sustentar a resposta a “Quanto tempo leva a entrega padrão após o despacho?”. Sem a data de despacho e o calendário relevante, ele não pode responder a “Meu pedido chegará até sexta-feira?”. Inclua as duas perguntas na revisão: a primeira verifica se a tabela sobreviveu à extração; a segunda, se o aplicativo reconhece que faltam informações.

## O que deve acompanhar cada trecho?

Mantenha um ID estável do documento, o título, a seção, a referência à página, quando disponível, e a versão ou data de vigência. Preserve a URL de origem das páginas públicas. Esses campos permitem que seu aplicativo mostre uma citação e diferencie duas versões com redação semelhante.

Não existe um tamanho de trecho adequado para todas as coleções. Uma resposta curta de FAQ pode permanecer inteira. Um procedimento longo talvez precise de vários trechos, cada um com o título da seção correspondente. Peça ao agente que exporte uma amostra e, depois, leia os trechos sem abrir a fonte. Verifique se os termos, as unidades e as exceções continuam fazendo sentido.

## O agente também pode criar perguntas de avaliação?

Ele pode sugerir perguntas com base nos documentos. Antes de usá-las para avaliar seu aplicativo, revise as respostas esperadas e os trechos de origem. Inclua perguntas cujas respostas estejam em várias seções, perguntas sobre regras desatualizadas e perguntas que a coleção não possa responder. Mantenha esse conjunto de avaliação separado dos exemplos usados para ajustar o sistema.

## Acompanhe uma falha nos resultados da recuperação

Volte ao guia de envio fictício. Suponha que o guia atual informe que a entrega padrão leva de 3 a 5 dias úteis após o despacho, enquanto um guia antigo diz de 2 a 3 dias. Seu aplicativo responde “2–3 dias”. Salve a pergunta, os trechos recuperados na ordem em que foram retornados, os metadados e a resposta. Agora você pode investigar como a regra desatualizada entrou na resposta.

Se apenas o guia antigo aparecer, verifique se a versão que o substituiu foi importada e se um filtro de versão a excluiu. Se as duas versões aparecerem, examine como o aplicativo escolhe entre elas. Se o trecho correto chegar sem o cabeçalho, corrija a extração ou o limite do trecho. Se o trecho completo e atual chegar ao modelo, mas a resposta ainda omitir “dias úteis após o despacho”, investigue a geração da resposta. Extrair a coleção novamente não resolveria essa última falha.

Guarde esse registro junto ao caso de avaliação. Após uma alteração, compare tanto os trechos quanto a resposta. Uma resposta plausível pode ocultar uma falha de recuperação quando o modelo já conhece um fato semelhante. Ele pode falhar na pergunta seguinte sobre uma regra específica dos seus documentos.

## Teste o tamanho dos trechos com suas perguntas de avaliação

Trechos maiores podem preservar um procedimento e suas exceções, mas também incluem texto irrelevante no prompt. Trechos menores podem facilitar a recuperação de um fato, mas separá-lo de uma condição necessária para que seja verdadeiro. A sobreposição pode ajudar nos limites, mas também pode ocupar vários espaços de resultado com trechos quase idênticos. Examine os conjuntos de resultados retornados antes de alterar essas configurações em toda a coleção.

Para cada pergunta revisada, marque quais trechos são suficientes para sustentar uma resposta. Verifique se eles estão entre os resultados que seu aplicativo envia ao modelo. Anote também os resultados irrelevantes e duplicados. Avalie separadamente as respostas finais quanto ao respaldo factual, às citações e ao reconhecimento de informações ausentes. Uma única pontuação geral dificulta identificar qual etapa mudou.

Guarde as perguntas de teste e as configurações de recuperação com cada exportação. Ao testar um texto de origem mais limpo, comece usando a mesma configuração de recuperação. Ao testar o tamanho dos trechos ou a classificação, mantenha fixa a versão da fonte. Alterar as duas coisas ao mesmo tempo pode melhorar a resposta, mas impede saber qual mudança ajudou.

## O que você deve exportar do Beeuni?

Peça o texto revisado, os registros dos trechos com metadados, um manifesto das fontes e uma lista das falhas de extração. Importe esses arquivos para o seu pipeline de indexação.

O [guia de preparação de conjuntos de dados](/blog/pt/build-ai-training-dataset-jsonl) aborda registros de revisão e divisões de dados. Se precisar acionar a preparação a partir do seu aplicativo, consulte [como usar o Beeuni como backend de agente](/blog/pt/use-beeuni-as-your-agent-backend).
