A Geração Aumentada de Recuperação (RAG) é uma técnica avançada de inteligência artificial (IA) concebida para melhorar a qualidade e a fiabilidade das respostas geradas por Modelos de Linguagem de Grande Porte (LLM). Funciona combinando as capacidades de geração de um LLM com um sistema de recuperação de informação. Antes de gerar uma resposta, o sistema RAG começa por recuperar fragmentos de informação relevante de uma fonte de conhecimento pré-definida (como os documentos internos de uma empresa, uma base de dados específica ou a Web). Este contexto recuperado é então fornecido ao LLM juntamente com a consulta original do utilizador, permitindo que o modelo gere respostas mais precisas, actualizadas e baseadas em dados factuais, atenuando assim problemas como alucinações. Esta abordagem melhora os LLMs padrão, permitindo-lhes aceder e utilizar informações externas e actuais para além dos seus dados de treino iniciais.
Como funciona a Geração Aumentada de Recuperação
O processo RAG envolve normalmente duas fases principais:
- Recuperação: Quando um utilizador fornece um pedido ou consulta, o sistema começa por procurar informações relevantes numa base de conhecimentos específica. Esta base de conhecimentos pode ser uma coleção de documentos, páginas Web ou entradas numa base de dados vetorial. O mecanismo de recuperação utiliza frequentemente técnicas como a pesquisa semântica para encontrar fragmentos de texto que estejam contextualmente relacionados com a consulta, e não apenas correspondências de palavras-chave. Estes fragmentos recuperados servem de base contextual para a fase seguinte. Este processo utiliza muitas vezes as ligações (embeddings) para representar o significado da consulta e dos documentos.
- Geração: A consulta original e os trechos contextuais recuperados são combinados num prompt aumentado. Este prompt aumentado é então introduzido no LLM. O LLM usa tanto a consulta como o contexto fornecido para gerar uma resposta. Assim, garante que a resposta não só é relevante para a consulta, como também é informada pela informação recuperada, muitas vezes mais atual ou específica. O trabalho de base sobre o RAG foi pormenorizado no documento"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks".
Benefícios e aplicações
O RAG oferece várias vantagens em relação à utilização de LLMs padrão:
- Melhoria da precisão e da fiabilidade: Ao basear as respostas em dados factuais recuperados, o RAG reduz significativamente a probabilidade de o LLM gerar informações incorretas ou fabricadas(alucinações). Isto aumenta a confiança do utilizador e a precisão geral do sistema.
- Acesso a informações actuais: Os LLMs são normalmente treinados em conjuntos de dados estáticos, o que significa que o seu limite de conhecimento os impede de conhecer eventos ou dados que surgem após o seu treino. O RAG permite que os modelos acedam e incorporem as informações mais recentes de fontes externas sem necessidade de reciclagem constante.
- Especificidade do domínio: O RAG pode ser configurado para recuperar informações de bases de conhecimento específicas e com curadoria (por exemplo, wikis internos da empresa, documentação técnica, conjuntos de dados específicos). Isto permite que os LLMs forneçam respostas ao nível de peritos em domínios especializados.
- Transparência melhorada: Uma vez que a resposta gerada se baseia em documentos recuperados, é frequentemente possível citar as fontes, proporcionando aos utilizadores transparência e a capacidade de verificar a informação. Isto está de acordo com os princípios da IA explicável (XAI) e da ética da IA.
- Custo-eficácia: A atualização da base de conhecimentos para o RAG é geralmente muito mais barata e rápida do que a reciclagem ou a afinação de um modelo linguístico de grandes dimensões.
Exemplos do mundo real:
- Chatbots de apoio ao cliente: Uma empresa pode utilizar o RAG para alimentar um chatbot de apoio ao cliente. Quando um cliente faz uma pergunta, o sistema recupera informações relevantes dos manuais de produtos, FAQs e artigos da base de conhecimento da empresa. O LLM utiliza então este contexto para gerar uma resposta precisa e útil, potencialmente integrando-se em plataformas como a Zendesk.
- Pesquisa empresarial e gestão de conhecimentos: Os funcionários podem consultar documentos internos da empresa armazenados em sistemas como o SharePoint ou outras bases de dados. O RAG recupera secções pertinentes de repositórios de documentos potencialmente vastos e sintetiza as respostas, ajudando os funcionários a encontrar informações rapidamente, sem ter de peneirar manualmente os documentos.
RAG vs. Conceitos relacionados
É útil distinguir o RAG de outros métodos utilizados para melhorar o desempenho do LLM:
- Ajuste fino: O ajuste fino adapta um LLM pré-treinado a uma tarefa ou domínio específico, continuando o processo de treinamento em um conjunto de dados menor e especializado. Ao contrário do RAG, o ajuste fino modifica os pesos internos do modelo. O ajuste fino é bom para adaptar o estilo ou aprender tarefas específicas, enquanto o RAG é melhor para incorporar conhecimento factual e atualizado. Técnicas como o Parameter-Efficient Fine-Tuning (PEFT) oferecem variações desta abordagem.
- Engenharia de instruções: Trata-se de elaborar cuidadosamente o prompt de entrada dado a um LLM para obter a resposta desejada. Enquanto o RAG incorpora o contexto recuperado no comando, a engenharia do comando centra-se na estruturação manual da consulta e das instruções do utilizador.
- Enriquecimento de mensagens: Semelhante ao RAG no aumento do prompt, o enriquecimento do prompt pode adicionar contexto do histórico do utilizador ou do fluxo da conversa, mas o RAG centra-se especificamente na recuperação de dados factuais externos de uma base de conhecimentos para fundamentar o processo de geração.
Estruturas como LangChain e LlamaIndex fornecem ferramentas para construir pipelines RAG e outras aplicações LLM complexas.
O RAG representa um passo significativo para a criação de sistemas de IA mais conhecedores e fiáveis, colmatando a lacuna entre o vasto poder generativo dos LLM e a necessidade de exatidão factual e de acesso a informação dinâmica. Embora utilizada principalmente com texto, a ideia central de aumentar a geração com informação recuperada é concetualmente aplicável a outros domínios. Por exemplo, na visão computacional (CV), poder-se-ia imaginar a recuperação de exemplos visuais ou metadados relevantes para orientar a geração ou análise de imagens, embora esta seja ainda uma área de investigação emergente. Plataformas como o Ultralytics HUB ajudam a gerir modelos e conjuntos de dados, que são componentes cruciais que podem servir como fontes de conhecimento em futuras aplicações RAG multimodais que envolvam modelos como o Ultralytics YOLO. A exploração dos conjuntos de dados de visão por computador disponíveis pode fornecer informações sobre o tipo de informação estruturada que pode ser útil para esses sistemas.