O que é RAG e como essa técnica funciona

RAG (Retrieval Augmented Generation) é uma técnica utilizada para ampliar a capacidade de resposta de LLMs, combinando o conhecimento interno do modelo de linguagem com sistemas de recuperação de informações.

Ou seja, o modelo busca informações relevantes em bases de dados externas como bancos de dados ou documentos organizacionais antes de gerar uma resposta, permitindo acesso a dados atualizados, especializados ou muito específicos sem a necessidade de re-treinar o modelo.

É uma ideia simples, mas poderosa, com aplicações práticas em qualquer área que se beneficie de um sistema com LLM.

O funcionamento do RAG pode ser entendido como uma parceria entre duas partes principais.

Primeiro, temos o componente de recuperação, que age buscando informações em fontes externas.

Em seguida, entra o componente de geração, onde o modelo de linguagem utiliza as informações recuperadas para criar respostas contextualizadas e de alta qualidade.

Dessa forma, temos uma solução para limitações dos LLMs em termos de precisão, relevância e controle de informações.

Por que RAG é importante?

Modelos de linguagem possuem limitações que comprometem sua confiabilidade, e o RAG pode ser a solução para diversas delas.

RAG é essencial para mitigar as seguintes limitações das LLMs:

  • Respostas Fabricadas: Quando o modelo não possui uma resposta adequada, ele inventa informações - aquilo que chamamos de alucinação.
  • Desatualização de Dados: Como os LLMs têm uma data de corte em relação ao treinamento, não conseguem acessar eventos ou mudanças recentes, o que reduz sua utilidade em diversos contextos.
  • Confusão Terminológica: Termos semelhantes, mas com significados distintos em diferentes contextos, podem levar o modelo a gerar respostas imprecisas.
  • Falta de Transparência: Os modelos não são capazes de citar fontes e indicar a origem do texto gerado.

Com a adoção de RAG, os LLMs se tornam ferramentas muito mais confiáveis, uma vez que são capazes de acessar e incorporar conhecimento externo.

Como o RAG funciona na prática?

O processo funciona assim: a pessoa usuária faz uma pergunta, o sistema identifica quais informações externas podem ser úteis, faz a busca e traz os dados para o modelo.

O modelo, então, analisa o conteúdo e produz uma resposta integrada, usando tanto o material recuperado quanto seu próprio repertório.

Esse fluxo garante que as respostas sejam mais precisas e atualizadas. Vamos pensar mais detalhadamente em cada parte desse processo.

O modelo se conecta com bases de conhecimento externas, como APIs, bancos de dados ou documentos organizacionais.

Essas bases são traduzidas para representações matemáticas chamadas embeddings (vetores).

Essas representações permitem que o modelo compare a consulta do usuário com os dados disponíveis e identifique as informações mais relevantes com base em cálculos de similaridade vetorial.

Um chatbot de RH, por exemplo, pode buscar diretamente as políticas específicas de férias ao responder a perguntas como “Quantos dias de férias eu tenho?”.

Em seguida, acontece o enriquecimento do contexto: as informações recuperadas são integradas ao prompt do usuário para que o modelo gere respostas mais específicas e contextualizadas.

Esses dados externos podem ser atualizados constantemente, seja em tempo real ou por processos periódicos, garantindo que o conhecimento utilizado esteja sempre alinhado ao momento atual.

Fonte: Alura