Retrieval-augmented generation (RAG) (PT)
Retrieval-Augmented Generation (RAG) (em português: Geração Aumentada por Recuperação) — é um método no campo da inteligência artificial no qual um modelo de linguagem generativo (LLM) é equipado com acesso a fontes de informação externas para melhorar a precisão e a confiabilidade de suas respostas. Em outras palavras, antes de gerar uma resposta, o modelo realiza uma busca por dados relevantes (por exemplo, em uma base de documentos, em um site ou em um banco de dados) e utiliza as informações encontradas para formular a resposta[1][2]. Essa abordagem garante a "complementação" com conhecimento de fontes atualizadas e ajuda a superar as limitações dos próprios LLMs, relacionadas ao volume limitado de "memória" e à informação desatualizada[3]. Um sistema RAG é capaz de citar documentos específicos (por exemplo, em forma de notas de rodapé) na resposta gerada, o que aumenta a transparência e permite que o usuário verifique os fatos[1]. Como resultado, o risco de alucinações — casos em que o modelo apresenta informações falsas com confiança — é reduzido[1][3]. O RAG expande a base de conhecimento de um LLM para um volume praticamente ilimitado e permite que os modelos utilizem os dados mais recentes sem a necessidade de retreinamento[4].
Origens e desenvolvimento do método
A ideia de combinar a busca de informações com a geração automática de respostas surgiu muito antes do advento dos LLMs modernos. Já na década de 1970, foram feitas tentativas de criar sistemas de question-answering (resposta a perguntas) que buscavam respostas em bancos de dados textuais para uma determinada pergunta[1]. Na década de 1990, o serviço web Ask Jeeves popularizou a busca por respostas em linguagem natural, e em 2011, o sistema IBM Watson demonstrou as capacidades da IA ao vencer participantes humanos no programa de TV Jeopardy![1].
A fase moderna de desenvolvimento está associada à introdução de modelos de linguagem de redes neurais: a Retrieval-Augmented Generation como uma abordagem distinta foi proposta em 2020 por um grupo de pesquisadores do Facebook AI Research, University College London e outras instituições, liderado por Patrick Lewis[1]. Em seu trabalho, aceito na NeurIPS 2020, foi descrito o modelo RAG — um modelo generativo seq2seq (por exemplo, BART) com acesso diferenciável a um repositório de conhecimento externo "não paramétrico"[5]. Os autores utilizaram toda a Wikipédia em inglês como base de conhecimento externa, representando-a como um índice vetorial (~21 milhões de fragmentos de texto), no qual a busca é realizada com o auxílio do algoritmo neural Dense Passage Retrieval[5]. Para uma consulta de entrada, o modelo RAG extrai os fragmentos mais adequados do índice e os adiciona ao contexto da geração da resposta. Esse mecanismo permitiu alcançar novos resultados de ponta (state-of-the-art) em tarefas com bases de conhecimento abertas, como nos testes Natural Questions, WebQuestions, entre outros[2]. Observou-se que as respostas do modelo RAG eram mais específicas e factualmente corretas do que as de abordagens generativas anteriores, graças à síntese de informações de várias fontes simultaneamente[2]. Logo depois, o Facebook publicou o código-fonte do RAG: o modelo foi integrado à biblioteca HuggingFace Transformers e ao seu conjunto de dados associado, permitindo que os desenvolvedores aplicassem facilmente o RAG em seus projetos[2]. A partir de 2020, a metodologia RAG rapidamente ganhou popularidade — segundo o autor, apesar da abreviatura dissonante, a abordagem se difundiu amplamente, gerando centenas de trabalhos científicos e tornando-se a base de inúmeros serviços comerciais[1].
Princípio de funcionamento do RAG
Esquema fundamental da Retrieval-Augmented Generation: o módulo de busca (à esquerda) recupera documentos relevantes da base de conhecimento, e em seguida, o modelo generativo (à direita) formula uma resposta com base na consulta do usuário, levando em consideração a informação encontrada[6]. Essa abordagem permite que o LLM se baseie em dados externos atuais ao gerar uma resposta. O diagrama mostra como a consulta do usuário é convertida em um vetor e utilizada para buscar fragmentos de texto semelhantes; em seguida, eles são conectados ao contexto do modelo, "expandindo" seu conhecimento e aumentando a precisão da resposta.
Um sistema RAG geralmente consiste em dois componentes principais: um módulo de recuperação (retriever) и um módulo de geração de resposta (generator)[6]. Na fase de preparação, é construído um índice vetorial da base de conhecimento: todos os documentos (textos) são divididos em fragmentos e convertidos por um modelo de embedding em vetores numéricos, que são armazenados em um banco de dados especializado para busca posterior[6]. Quando uma consulta do usuário é recebida, o mesmo modelo de embedding codifica a consulta em um vetor; em seguida, é realizada uma busca pelos vizinhos mais próximos no espaço vetorial – selecionando os K fragmentos mais similares do índice de conhecimento (por exemplo, K = 5)[6]. Esses fragmentos são considerados o contexto externo, contendo fatos prováveis sobre o tema da consulta.
Na etapa seguinte, o contexto formado é utilizado pelo modelo generativo. A pergunta original, juntamente com os fragmentos de texto encontrados, é fornecida como entrada para um LLM (por exemplo, um transformer do tipo seq2seq ou um modelo orientado a instruções) para a geração da resposta final[2]. O modelo de linguagem, dessa forma, se baseia não apenas em seu conhecimento aprendido (paramétrico), mas também nos dados externos fornecidos a ele. Na implementação original do RAG, o papel de gerador era desempenhado pelo modelo pré-treinado BART, e a "memória" externa era representada pela coleção da Wikipédia, indexada pelo método DPR[5].
Abordagem de fusão para combinar conhecimento
Uma característica importante do RAG é a maneira como o modelo combina informações de vários documentos recuperados. Em vez de simplesmente concatenar todo o texto, o RAG aplica uma abordagem conhecida como late fusion ("fusão tardia de resultados") — o modelo generativo processa cada um dos K fragmentos obtidos em paralelo e formula uma resposta hipotética para cada um com uma pontuação de confiança, após o qual agrega essas variantes em uma conclusão final[2]. Esse método permite que o RAG sintetize uma resposta mesmo nos casos em que nenhuma fonte individual contém uma resposta direta e completa à pergunta. Por exemplo, se as informações necessárias estiverem distribuídas por diferentes artigos, o modelo é capaz de combinar "pistas" de vários documentos em uma única resposta[2] (Observou-se que o aumento do número de documentos utilizados geralmente melhora a completude da resposta ao custo de uma pequena perda de coerência no texto[7].)
Variantes de implementação
No trabalho original de 2020, foram propostas duas modificações da arquitetura RAG[6]. No modo RAG-Sequence, o modelo generativo recebe um conjunto fixo de documentos recuperados e os utiliza para gerar a resposta inteira. Em contraste, no modo RAG-Token, é permitida uma atualização dinâmica: a cada passo da geração de um novo token, o modelo pode realizar uma nova busca e carregar um fragmento de texto adicional, se necessário, para refinar a resposta. Ambas as abordagens mostram um nível de qualidade similarmente alto; o RAG-Sequence é mais simples e rápido, enquanto o RAG-Token teoricamente permite levar em consideração mais informações diversas em respostas longas[6].
Vantagens do RAG
- Relevância e precisão factual. A conexão com dados externos permite que os LLMs forneçam respostas mais precisas e fundamentadas, baseando-se em informações reais e não apenas nos parâmetros do modelo. Isso reduz significativamente o risco de informações desatualizadas ou simplesmente fictícias na resposta do modelo[3][1]. Ao contrário de modelos com um "corte de conhecimento" fixo, o RAG pode responder até mesmo a perguntas sobre eventos ou fatos que surgiram após a conclusão do treinamento do modelo — graças ao acesso a fontes de dados recentes[4].
- Transparência e confiança do usuário. Os sistemas RAG são capazes de fornecer links para as fontes de informação (por exemplo, artigos, relatórios ou bancos de dados) que serviram de base para a resposta[1]. Essencialmente, o modelo formata suas respostas de maneira semelhante a um trabalho científico com notas de rodapé, o que permite verificar a veracidade de cada fato. A presença de fontes primárias citadas aumenta a confiança por parte dos usuários e facilita a verificação da informação obtida.
- Especialização em domínios específicos. A aumentação por recuperação permite adaptar com relativa facilidade o funcionamento do modelo a um domínio de conhecimento restrito, sem alterar o próprio modelo de linguagem. Para isso, basta fornecer ao LLM uma base de conhecimento especializada sobre o tema desejado — sejam artigos médicos, documentos jurídicos ou manuais técnicos de uma empresa. O modelo, permanecendo geral em seus parâmetros, começa a atuar como um especialista na área, pois extrai fatos do conjunto de dados selecionado[4][8]. Por exemplo, um assistente jurídico baseado em RAG pode restringir o escopo da busca a um único corpo jurisdicional (as leis de um país específico), garantindo que as respostas estejam em conformidade com essa legislação[8].
- Flexibilidade e atualizabilidade do conhecimento. Nos modelos clássicos, para adicionar novos conhecimentos ou corrigir fatos incorretos, era necessário realizar um novo treinamento (fine-tuning) em um conjunto de dados expandido, o que consome tempo e recursos. O RAG resolve esse problema: para atualizar o conhecimento do modelo, basta atualizar o banco de dados externo ou conectar fontes adicionais, e o modelo começará imediatamente a usar as novas informações[2]. Isso permite manter facilmente a relevância do sistema — na prática, os dados podem ser substituídos "a quente", mesmo em tempo real, sem interromper o funcionamento do modelo[1].
- Eficiência e economia de recursos. A abordagem RAG muitas vezes se mostra mais prática do que treinar modelos gigantescos que tentam abranger todas as informações em seus parâmetros. Integrando a busca, é possível alcançar resultados comparáveis com um modelo de tamanho moderado, sem tentar memorizar absolutamente todos os fatos dentro da própria rede neural[6]. Além disso, a implementação de um pipeline RAG é relativamente simples: existem ferramentas prontas (frameworks, bibliotecas), e os desenvolvedores demonstram que um protótipo básico de RAG pode ser montado em literalmente algumas linhas de código[1]. Assim, o RAG reduz os custos totais de implementação de IA: em vez de treinar um novo modelo para cada tarefa, basta configurar o mecanismo de busca e fornecer os dados apropriados.
Problemas e limitações do RAG
Apesar de suas vantagens óbvias, a Retrieval-Augmented Generation herda limitações tanto dos componentes de busca quanto dos próprios modelos de linguagem[9]. Abaixo estão listados os principais problemas inerentes aos sistemas RAG:
- Dependência da qualidade da busca. A resposta obtida será correta na medida em que os dados recuperados forem relevantes e confiáveis. Se o módulo de busca retornar documentos que não são pertinentes à pergunta ou que contenham erros, o modelo generativo não poderá "corrigir" esses fatos — ele gerará uma resposta com base neles[8]. Assim, a qualidade e a atualidade da base de conhecimento externa determinam diretamente a precisão do RAG. É necessário atualizar regularmente o índice e ajustar os algoritmos de ranqueamento para que a entrega de documentos permaneça relevante.
- Alta complexidade e consumo de recursos. Para funcionar, um sistema RAG requer não apenas o próprio LLM, mas também uma infraestrutura de busca: armazenamento e atualização de um grande banco de dados, indexação e tempo para executar a consulta. Tudo isso aumenta os custos computacionais e pode diminuir a velocidade da resposta em comparação com o uso apenas do modelo de linguagem[8]. Na pior das hipóteses, atrasos na fase de busca ou o processamento de uma quantidade muito grande de dados podem tornar o sistema lento. Na prática, é preciso equilibrar a qualidade da resposta e o desempenho, otimizando o pipeline (por exemplo, limitando o tamanho da base de conhecimento ou a profundidade da busca para manter o tempo de resposta dentro de limites aceitáveis).
- Requisitos de dados e manutenção. Para um funcionamento eficaz, o RAG necessita de dados externos de alta qualidade, estruturados e acessíveis. O modelo de busca pode ter dificuldades em encontrar informações úteis se a base de conhecimento externa for mal organizada ou contiver ruído[8]. Além disso, nem sempre os dados necessários são abertos ou baratos: as empresas precisam criar e manter suas próprias bases de conhecimento (knowledge bases). Isso gera custos adicionais e exige esforços para manter os dados atualizados (por exemplo, adicionar novos documentos, remover informações obsoletas). Um ponto fraco do RAG é sua dependência da manutenção da base de conhecimento em estado atualizado.
- Incapacidade de eliminar certos erros dos LLMs. Embora o RAG reduza significativamente o número de confabulações, nem sempre é possível eliminar completamente as respostas incorretas[9]. O modelo generativo ainda pode cometer um erro lógico ou generalizar informações incorretamente, especialmente se o contexto fornecido for insuficiente ou contraditório[9]. Na verdade, o RAG desloca o foco dos erros: em vez de fatos abertamente fictícios ("alucinações"), são mais comuns os erros de integração de conhecimento — por exemplo, o modelo pode omitir um fragmento importante ou vincular diferentes fontes de forma incorreta. Portanto, em aplicações críticas (medicina, direito), a intervenção humana ainda é necessária para verificar e corrigir as respostas do sistema.
Aplicações do RAG
O método Retrieval-Augmented Generation encontrou aplicação em uma infinidade de cenários relacionados à extração e utilização de conhecimento. Abaixo estão listadas as principais áreas onde o RAG demonstra maior utilidade:
- Sistemas de perguntas e respostas e chatbots. O RAG permite criar assistentes virtuais e chatbots que respondem às perguntas dos usuários com alta precisão e podem fornecer links para fontes. Na área de suporte ao cliente, esses bots consultam a base de conhecimento interna da empresa (FAQ, artigos de ajuda) e fornecem respostas instantâneas às solicitações dos clientes, reduzindo a carga sobre os funcionários[8]. Ao contrário dos sistemas de FAQ clássicos, os bots RAG formulam a resposta em linguagem natural, mas a "sustentam" com dados atualizados e específicos para o problema do usuário.
- Medicina e saúde. Um modelo generativo, complementado por uma base de dados médica especializada (artigos científicos, protocolos clínicos, manuais), pode atuar como um assistente intelectual para médicos ou pacientes. Por exemplo, o sistema pode responder a uma pergunta sobre um diagnóstico raro, encontrando na literatura médica as pesquisas mais recentes sobre o tema[8]. Uma vantagem importante do RAG na medicina é a capacidade de citar fontes primárias (por exemplo, resultados de ensaios clínicos), o que é essencial para a confiança por parte dos médicos. Tais sistemas são usados para apoiar a tomada de decisões, verificar sintomas, treinar estudantes de medicina, etc., garantindo o acesso aos conhecimentos médicos mais recentes.
- Direito e finanças. Na prática jurídica e na análise financeira, a precisão e a verificabilidade da informação são especialmente críticas. Os sistemas RAG podem ajudar os profissionais a encontrar rapidamente os dados necessários: por exemplo, um advogado pode usar o modelo para encontrar e citar uma decisão judicial precedente ou um artigo de lei relevante para o caso atual, enquanto um analista financeiro pode obter rapidamente trechos de relatórios econômicos recentes ou notícias de mercado[8]. Ao mesmo tempo, cada resposta do modelo pode conter links para documentos específicos (atos normativos, relatórios, artigos), o que está de acordo com os padrões do setor e facilita o trabalho manual subsequente do especialista.
- Pesquisa científica e criação de conteúdo. Jornalistas, pesquisadores e escritores podem usar o RAG para acelerar a busca por fatos e fontes ao preparar materiais. Por exemplo, o modelo pode, a pedido, "reunir" informações de várias publicações confiáveis, reduzindo significativamente o tempo de verificação de fatos e seleção de citações[8]. Assistentes de pesquisa baseados em RAG extraem automaticamente referências a trabalhos relevantes, dados de bases abertas (por exemplo, estatísticas de relatórios internacionais) e até mesmo rascunhos de traduções, permitindo que os autores se concentrem na parte analítica do trabalho. Ferramentas semelhantes encontram aplicação na mídia, no meio acadêmico, na preparação de revisões de literatura, etc.
- Conhecimento corporativo e busca em documentos. Em muitas organizações, um volume significativo de informações valiosas é armazenado na forma de documentos de texto: regulamentos, manuais, relatórios, correspondências, arquivos de log. O RAG oferece um método de busca interativa nesses dados não estruturados por meio da linguagem. Um funcionário pode fazer uma pergunta ("O que a política de férias diz sobre funcionários remotos?") – e o modelo encontrará a seção relevante do documento interno, a citará e formulará uma resposta resumida[1]. Isso aumenta a eficiência do trabalho: novos funcionários encontram respostas para suas perguntas mais rapidamente, os departamentos de suporte obtêm uma ferramenta para busca operacional na base de incidentes, e a gerência tem uma maneira de analisar os dados textuais acumulados. Grandes empresas de TI já estão implementando a abordagem RAG em soluções corporativas: tecnologias da Microsoft, Google, IBM, AWS e outras integram LLMs com a busca de dados da organização[1].
Perspectivas e pesquisas futuras
O método Retrieval-Augmented Generation está em desenvolvimento ativo, e espera-se uma maior expansão de suas capacidades nos próximos anos. Uma das direções é o RAG multimodal, onde a informação externa pode ser não apenas texto, mas também imagens, áudio/vídeo ou até dados de sensores. Experimentos mostram o potencial de combinar modelos de linguagem com busca em bases de dados visuais, o que permitiria, por exemplo, responder a perguntas sobre o conteúdo de imagens ou vídeos, baseando-se em descrições e textos associados[2]. Outra direção importante é o uso simultâneo de múltiplas fontes de conhecimento: sistemas RAG futuros poderão combinar dados de diferentes bases (por exemplo, Wikipédia, enciclopédias especializadas, notas pessoais do usuário) и sintetizar respostas que levem em conta todas essas informações heterogêneas[2].
Os pesquisadores também enfrentam o desafio de aumentar a confiabilidade e a segurança do RAG. É necessário minimizar o risco de propagação de vieses e erros que possam estar contidos nos dados externos, bem como garantir a consistência das respostas. A equipe de desenvolvimento do RAG original já deu passos nessa direção – por exemplo, limitando a base de conhecimento inicial apenas a artigos da Wikipédia como uma fonte relativamente verificada e neutra[2]. No futuro, planeja-se criar filtros e métodos especiais de seleção de documentos para que o modelo receba um contexto de qualidade garantida. Além disso, as pesquisas se concentram em melhorar o próprio mecanismo de busca: novos algoritmos de ranqueamento e indexação semântica estão sendo desenvolvidos, capazes de entender consultas com mais precisão e encontrar informações relevantes mesmo para formulações complexas ou vagas.
Finalmente, há interesse em uma integração mais profunda do RAG com o processo de treinamento de modelos de linguagem. Já estão surgindo abordagens em que os mecanismos de recuperação são usados não apenas na fase de inferência, mas também durante o pré-treinamento ou o ajuste fino de LLMs[10]. Isso pode aumentar ainda mais a factualidade dos modelos e reduzir sua dependência do conhecimento estaticamente registrado nos pesos. De acordo com revisões publicadas em 2024, a comunidade vê grandes perspectivas no desenvolvimento do ecossistema RAG: desde a otimização da infraestrutura (aceleração da busca, redução do consumo de memória) até a criação de benchmarks padronizados para avaliar a qualidade dos sistemas RAG[3]. Tudo isso visa tornar os modelos generativos mais precisos, versáteis e seguros ao trabalhar com conhecimento externo em constante atualização, o que é um passo fundamental no caminho para uma inteligência artificial confiável de nova geração.
Links
- O que é Retrieval-Augmented Generation (RAG) — blog da NVIDIA
- Retrieval-Augmented Generation for Large Language Models: A Survey — revisão científica no arXiv
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks — artigo original sobre RAG
- O que é RAG? Aplicações, limitações e desafios — blog da Bright Data
Literatura
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open-Domain Question Answering. arXiv:2004.04906.
- Guu, K. et al. (2020). REALM: Retrieval-Augmented Language Model Pre-Training. arXiv:2002.08909.
- Qu, Y. et al. (2020). RocketQA: An Optimized Training Approach to Dense Passage Retrieval for Open-Domain Question Answering. arXiv:2010.08191.
- Izacard, G.; Grave, E. (2021). Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering. arXiv:2007.01282.
- Borgeaud, S. et al. (2022). Improving Language Models by Retrieving from Trillions of Tokens. arXiv:2112.04426.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Mialon, G. et al. (2023). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997.
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Yang, Z. et al. (2023). Re-ViLM: Retrieval-Augmented Visual Language Model for Zero and Few-Shot Image Captioning. arXiv:2302.04858.
- Barnett, S. et al. (2024). Seven Failure Points When Engineering a Retrieval Augmented Generation System. arXiv:2401.05856.
- Wang, Y. et al. (2024). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
Notas
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 «What Is Retrieval-Augmented Generation aka RAG». NVIDIA Blogs. [1]
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 «Facebook open-sources RAG, an AI model that retrieves documents to answer questions». VentureBeat. [2]
- ↑ 3.0 3.1 3.2 3.3 Mialon, Grégoire et al. «Retrieval-Augmented Generation for Large Language Models: A Survey». arXiv. [3]
- ↑ 4.0 4.1 4.2 «Applied AI Software Engineering: RAG». Pragmatic Engineer. [4]
- ↑ 5.0 5.1 5.2 Lewis, Patrick et al. «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». arXiv. [5]
- ↑ 6.0 6.1 6.2 6.3 6.4 6.5 6.6 «How RAG Makes LLMs Smarter». Exxact Blog. [6]
- ↑ «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». arXiv. [7]
- ↑ 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 «What Is RAG? Use Cases, Limitations, and Challenges». Bright Data Blog. [8]
- ↑ 9.0 9.1 9.2 Lewis, Patrick et al. «Seven Failure Points When Engineering a Retrieval Augmented Generation System». arXiv. [9]
- ↑ «Geração aumentada por recuperação». Wikipédia. [10]