Fazer a IA responder com os seus documentos: como funciona o RAG

A maioria dos projetos de IA nas empresas assenta numa mesma técnica: encontrar as passagens certas nos documentos da organização e depois pedir ao modelo que responda a partir delas. Eis como funciona, onde se engana e por que razão os documentos sensíveis ganham em ficar nas instalações.

Uma boa fonte, uma má resposta

Um passageiro pergunta ao assistente conversacional do sítio da Air Canada sobre as tarifas reservadas a viagens por motivo de luto. O assistente explica-lhe que pode pagar o bilhete ao preço normal e pedir o desconto depois, num prazo de 90 dias. Na mesma mensagem, fornece uma ligação para a página oficial da companhia. Essa página diz o contrário: a tarifa de luto não se aplica a pedidos apresentados após a viagem.

O tribunal de resolução de litígios civis da Colúmbia Britânica decidiu em fevereiro de 2024. A Air Canada sustentava que o seu assistente era uma entidade distinta, responsável pelas suas próprias declarações; o tribunal considerou o argumento «notável» e afastou-o. A companhia teve de pagar a diferença entre o preço pago e a tarifa de luto. Para o tribunal, pouco importa que a informação venha de uma página fixa ou de um assistente: a empresa responde pelo que consta do seu sítio.

O episódio resume o problema que a geração aumentada por recuperação, ou RAG, de retrieval-augmented generation, procura resolver. O documento exato existia. Faltava um sistema que respondesse a partir dele e que mostrasse de onde vem cada afirmação.

O princípio: um exame de consulta livre

O termo surge em 2020 num artigo assinado por Patrick Lewis e onze coautores, apresentado na conferência NeurIPS. Os autores distinguem duas memórias. A memória paramétrica é a que o modelo absorveu durante o treino, inscrita nos seus parâmetros. A memória não paramétrica é um índice externo, na sua experiência uma versão da Wikipédia, que o sistema consulta no momento de responder. A sua conclusão: a combinação das duas produz textos mais precisos e mais factuais do que o modelo sozinho.

A comparação mais clara é a do exame. Um estudante que aprendeu tudo de cor responde depressa, mas engana-se no que memorizou mal e ignora tudo o que mudou desde as suas revisões. Um estudante autorizado a abrir o seu dossiê procura primeiro a página certa e depois redige a partir do que lê. O RAG coloca o modelo de linguagem na situação do segundo.

A CNIL resume o interesse do método: produz respostas enriquecidas por dados externos, mais específicas e mais fáceis de atualizar do que o próprio modelo. É o ponto decisivo para uma empresa. Retreinar um modelo com os seus documentos é caro e tem de ser refeito a cada atualização. A ANSSI acrescenta um argumento de segurança: uma vez integrados no treino, os dados deixam de poder ficar sujeitos a direitos de acesso, enquanto os documentos armazenados ao lado do modelo podem continuar sujeitos às regras habituais de quem vê o quê.

Concretamente, um RAG encadeia quatro operações: preparar os documentos, convertê-los em coordenadas, recuperar as passagens úteis e redigir uma resposta que as cite.

Passo 1: preparar e segmentar os documentos

Tudo começa pela extração do texto. Um ficheiro de processamento de texto ou uma página web leem-se facilmente; um PDF digitalizado exige reconhecimento de caracteres, uma tabela ou um esquema pedem um tratamento particular. Este trabalho ingrato determina boa parte da qualidade final: um texto mal extraído dará respostas erradas, seja qual for a potência do modelo.

O texto é depois dividido em blocos de alguns parágrafos, a que os profissionais chamam chunks. A segmentação é necessária porque a pesquisa tem de apontar uma passagem precisa, não um relatório de duzentas páginas. Cria também uma armadilha, bem descrita pela Anthropic numa publicação de setembro de 2024: um bloco isolado perde o seu contexto. O exemplo escolhido é o de um relatório financeiro cujo excerto indica que o volume de negócios aumentou 3 % no trimestre, sem precisar de que empresa nem de que trimestre se trata.

As soluções são conhecidas. Fazem-se os blocos sobrepor-se ligeiramente, respeitam-se os títulos e os artigos em vez de cortar a meio de uma frase, e acrescenta-se a cada bloco uma breve descrição do seu contexto: documento de origem, secção, data. Estes metadados servirão mais tarde para filtrar, citar e controlar os acessos.

Passo 2: traduzir o sentido em coordenadas

Cada bloco passa então por um modelo de embedding, distinto do modelo que redigirá a resposta. O seu papel é transformar um texto numa lista de números, um vetor, que representa o seu sentido. Duas passagens que falam da mesma coisa, mesmo com palavras diferentes, obtêm vetores próximos.

A imagem mais exata é a de um mapa. Cada passagem recebe coordenadas, não em dois eixos como uma latitude e uma longitude, mas em centenas ou milhares de dimensões. Nesse mapa, «pré-aviso de demissão» fica perto de «prazo a respeitar antes de sair da empresa», embora as duas fórmulas quase não tenham palavras em comum. É isto que distingue a pesquisa semântica da pesquisa por palavras-chave de um motor interno clássico.

Estes vetores parecem abstratos. Sê-lo-ão menos do que se pensa. Num artigo apresentado na conferência EMNLP 2023, investigadores mostraram que era possível reconstituir exatamente 92 % de textos curtos, de 32 tokens, a partir dos seus embeddings apenas, e recuperar assim nomes completos em notas clínicas. Um índice vetorial deve, portanto, ser protegido com o mesmo cuidado que os documentos de que provém.

Passo 3: arrumar e depois recuperar

Os vetores são armazenados numa base de dados vetorial, com o texto de origem e os seus metadados. Quando um utilizador faz uma pergunta, esta é convertida em vetor pelo mesmo modelo de embedding, e a base procura os blocos cujas coordenadas estão mais próximas. O princípio lembra o de um bibliotecário que, em vez de procurar a palavra exata nos títulos, vai direto à prateleira onde estão as obras sobre o assunto.

A pesquisa semântica sozinha tem fraquezas. Pode falhar uma referência exata, um número de contrato ou um código de artigo, que uma pesquisa por palavras-chave encontra sem dificuldade. Os sistemas sérios combinam por isso as duas e acrescentam muitas vezes uma etapa de reordenação: um segundo modelo relê os candidatos retidos e ordena-os segundo a sua pertinência real para a pergunta colocada.

A Anthropic quantificou o efeito destas melhorias nos seus próprios conjuntos de teste. Com uma pesquisa vetorial simples, a informação certa faltava nos vinte primeiros resultados em 5,7 % dos casos. Ao acrescentar contexto a cada bloco, essa taxa descia para 3,7 %. Combinada com uma pesquisa por palavras-chave do tipo BM25, descia para 2,9 % e depois para 1,9 % com a reordenação. São medições de um fornecedor sobre os seus dados, mas a ordem de grandeza mostra que a pesquisa, mais do que a redação, faz a qualidade de um RAG.

Passo 4: redigir a resposta e citar as fontes

As poucas passagens retidas são inseridas na instrução enviada ao modelo de linguagem, com a pergunta e instruções explícitas: responder apenas a partir dos excertos fornecidos, indicar para cada afirmação o documento e a página, e dizer claramente quando a informação não consta deles. O modelo redige então uma resposta em linguagem corrente, e a interface mostra as ligações para as passagens citadas.

A citação muda a natureza da ferramenta. Sem ela, o utilizador tem de acreditar na máquina sob palavra. Com ela, pode verificar com um clique, e a organização pode reconstituir depois a origem de uma resposta contestada. No caso da Air Canada, a ligação estava presente mas contradizia o texto; um sistema bem afinado deve produzir uma resposta fiel à fonte que cita, e o utilizador deve ter o reflexo de a abrir.

Também não convém afogar o modelo em excertos. Um estudo publicado em 2023 nas Transactions of the Association for Computational Linguistics, sob o título «Lost in the Middle», mostrou que os modelos aproveitam melhor uma informação colocada no início ou no fim do texto que lhes é fornecido, e muito pior quando se encontra no meio. Mais vale algumas passagens pertinentes do que uma pilha de passagens aproximadas.

O RAG, de resto, nem sempre é necessário. A Anthropic observa que, abaixo de cerca de 200 000 tokens, ou aproximadamente 500 páginas, pode ser mais simples inserir toda a base na instrução, desde que o modelo aceite uma janela de contexto tão longa. Para um regulamento interno e alguns procedimentos, a questão põe-se. Para os arquivos de um escritório, não se põe.

Por que quase todos os projetos começam aqui

Um modelo de linguagem, mesmo excelente, não conhece os procedimentos internos de uma empresa, nem os seus contratos, nem as suas fichas de produto, nem o histórico dos seus processos. O RAG é a maneira mais direta de lhe dar acesso a esse conhecimento sem o modificar. Acrescentar um documento equivale a indexá-lo; retirar uma versão obsoleta equivale a eliminá-la do índice. A operação releva da gestão documental, não de um novo treino.

As utilizações assemelham-se de um setor para outro. Um serviço de RH responde às perguntas recorrentes dos colaboradores sobre o contrato coletivo ou as férias. Um apoio ao cliente encontra a ficha técnica certa. Um serviço jurídico interroga uma base de contratos para identificar as cláusulas de rescisão. Uma autarquia ajuda os seus agentes a orientar-se em deliberações e regulamentos acumulados ao longo de anos. Em cada um destes casos, o valor depende menos da redação do que da capacidade de encontrar a passagem certa.

As alucinações diminuem, não desaparecem

O RAG é muitas vezes apresentado como o remédio para as respostas inventadas. Um estudo do RegLab e do instituto HAI da Universidade de Stanford, publicado em maio de 2024 e realizado sobre mais de 200 questões jurídicas, matiza fortemente esta promessa. As ferramentas de pesquisa jurídica da LexisNexis e da Thomson Reuters, baseadas em RAG e algumas das quais reivindicavam a ausência de alucinações, produziam informações incorretas em mais de 17 % dos casos no Lexis+ AI e no Ask Practical Law AI, e em mais de 34 % dos casos no Westlaw AI-Assisted Research. O GPT-4 usado sozinho fazia claramente pior, com 58 a 82 % de erros neste tipo de questões.

Os autores apontam várias causas: uma pesquisa que traz textos não aplicáveis, uma dificuldade própria do raciocínio jurídico e a tendência do modelo para ir no sentido da pergunta, mesmo quando esta assenta numa premissa falsa. O RAG desloca portanto o risco mais do que o suprime. Se a pesquisa traz a passagem errada, o modelo redige uma resposta fluente a partir da passagem errada.

As proteções são sobretudo organizacionais. Constitui-se um conjunto de perguntas reais cujas respostas certas se conhecem, e mede-se o sistema com ele antes de o implementar e a cada alteração. Autoriza-se o sistema a responder que não sabe. Reserva-se uma validação humana para as respostas que vinculam a organização. No seu acompanhamento de um projeto da France Travail, a CNIL insistia neste último ponto: formar os agentes para detetarem os erros e dar-lhes tempo para se afastarem da sugestão da ferramenta.

Direitos de acesso: o assistente vê o que o índice vê

O risco mais subestimado não é o erro, é a fuga interna. Se todos os documentos de uma organização estiverem indexados numa mesma base, um estagiário pode perguntar ao assistente o salário do seu diretor e obter um excerto de recibo de vencimento. O modelo não forçou nada; leu o que a base lhe transmitiu.

A ANSSI faz disto uma exigência explícita: um sistema de IA deve respeitar, nas suas respostas, as restrições de acesso próprias de cada utilizador. Precisa que é exequível para os documentos armazenados ao lado do modelo, consoante as capacidades da ferramenta de armazenamento, e recomenda rever regularmente os direitos configurados, por exemplo todos os meses. A Microsoft, na sua documentação de preparação para o Copilot, formula-o à sua maneira: o assistente respeita as permissões existentes, o que equivale a expor todas as partilhas demasiado amplas acumuladas ao longo dos anos. O editor recorda aliás que as definições de partilha do SharePoint são, por omissão, as mais permissivas.

A OWASP, fundação de referência em segurança aplicacional, dedica, na edição de 2025 da sua classificação dos dez principais riscos ligados aos modelos de linguagem, uma categoria às fragilidades dos vetores e dos embeddings. Encontram-se aí as fugas entre utilizadores ou clientes que partilham uma mesma base vetorial, o envenenamento da base por documentos armadilhados e a inversão dos embeddings referida acima. O exemplo citado fala por si: um currículo que contém, em texto branco sobre fundo branco, uma instrução destinada a fazer o sistema de triagem recomendar o candidato. Todo o documento indexado acabará diante do modelo; é preciso saber de onde vem.

A consequência prática é simples de enunciar e demorada de aplicar. Cada bloco indexado deve transportar os direitos do seu documento de origem, a pesquisa deve filtrar segundo a identidade da pessoa que pergunta, e cada consulta deve ser registada.

Documentos desatualizados, respostas desatualizadas

Um RAG responde a partir do que lhe foi confiado. Se o índice contiver a nota de serviço de 2019 e a que a substituiu, pode citar uma ou outra com a mesma segurança. O caso é comum nas organizações onde os documentos se acumulam sem nunca serem retirados: antigas tabelas de preços, procedimentos abandonados, modelos de contrato ultrapassados.

A solução é documental antes de ser técnica. É preciso designar um responsável por cada corpus, datar os documentos, arquivar o que é substituído e fazer com que o índice acompanhe automaticamente os acrescentos, as alterações e as eliminações. A própria Microsoft recomenda arquivar os sítios inativos para que o seu assistente se apoie em conteúdo atualizado. Do lado da interface, mostrar a data de cada fonte citada permite detetar de relance uma resposta baseada num texto antigo.

Por que executá-lo em local para documentos sensíveis

Um RAG manipula, por construção, os documentos mais preciosos da organização. Com um serviço em linha, esses documentos, os seus vetores, as perguntas dos utilizadores e as respostas transitam ou ficam no fornecedor. Nas suas perguntas e respostas de julho de 2024 sobre a IA generativa, a CNIL recomenda privilegiar uma implementação nas instalações quando são tratados dados pessoais ou sensíveis, para limitar os riscos de extração por um terceiro. A ANSSI, na sua recomendação R34, desaconselha as ferramentas de IA generativa em linha para qualquer uso profissional que envolva dados sensíveis.

O serviço público oferece um exemplo documentado. No âmbito do seu ambiente de testes dedicado à IA nos serviços públicos, a CNIL acompanhou em 2024 o projeto «Conseils Personnalisés» da France Travail, uma ferramenta que sugere formações aos conselheiros a partir de um RAG alimentado pelo catálogo de formações e pelo perfil do candidato a emprego. O modelo escolhido, o Mixtral da Mistral AI, estava instalado nas instalações. A CNIL sublinha nas suas recomendações que um modelo utilizado no ambiente do fornecedor apresenta riscos de perda de confidencialidade dos dados pessoais.

Para certas profissões, a questão toca o sigilo profissional. O artigo 226-13 do Código Penal francês pune com um ano de prisão e 15 000 euros de multa a revelação de uma informação de caráter secreto por quem dela é depositário em razão da sua profissão. Os escritórios de advogados e de peritos-contabilistas são os primeiros visados. Um serviço de RH que indexa processos individuais, uma autarquia que trata pedidos de apoio social, manuseiam por seu lado dados pessoais cuja divulgação causaria um dano real às pessoas.

O local pressupõe que toda a cadeia fica nas instalações: a extração do texto, o modelo de embedding, a base vetorial, o modelo de linguagem e os registos. Manter o modelo em casa mas confiar os vetores a um serviço externo protege pouco, uma vez que esses vetores permitem reconstituir parte dos textos. Em contrapartida, a organização assume a exploração: cópias de segurança, atualizações, vigilância dos acessos.

Por onde começar

Um primeiro projeto bem-sucedido assenta em poucas coisas: um corpus limitado e bem mantido, por exemplo os procedimentos de um serviço, direitos de acesso claros, um conjunto de perguntas reais para medir a qualidade e utilizadores que sabem que devem abrir as fontes citadas. As dificuldades vêm raramente do modelo. Vêm dos documentos, do seu estado, das suas versões e da questão de saber quem tem o direito de os ler.

É a abordagem que a HOMN adota: os documentos, o índice e o modelo ficam dentro das paredes da organização, e o recurso a um serviço externo continua a ser uma escolha explícita. Seja qual for a ferramenta escolhida, a qualidade das respostas dependerá primeiro da do corpus e do rigor dos direitos.

O que é o RAG?

O RAG, de retrieval-augmented generation ou geração aumentada por recuperação, é uma técnica que procura primeiro as passagens pertinentes numa base de documentos e depois pede a um modelo de linguagem que responda a partir dessas passagens. Permite interrogar os seus próprios documentos sem retreinar o modelo e citar a fonte de cada resposta.

O RAG elimina as alucinações?

Não, reduz-as sem as eliminar. Um estudo de Stanford publicado em 2024 mediu mais de 17 % de respostas incorretas em ferramentas jurídicas comerciais baseadas em RAG. Se a pesquisa traz uma passagem errada, o modelo redige uma resposta fluente a partir dessa passagem, daí a importância das citações e da verificação humana.

É preciso treinar uma IA com os seus documentos para que os conheça?

Em geral, não. O RAG deixa o modelo como está e fornece-lhe os excertos úteis no momento de cada pergunta, o que permite atualizar a base acrescentando ou retirando documentos. Permite também manter direitos de acesso por documento, o que a ANSSI considera impossível depois de os dados serem integrados no treino.

É possível criar um chatbot sobre os seus documentos sem os enviar para a nuvem?

Sim. A extração do texto, o modelo de embedding, a base vetorial e o modelo de linguagem podem funcionar todos num servidor instalado nas instalações da organização. É a opção que a CNIL recomenda privilegiar quando são tratados dados pessoais ou sensíveis.