Este é o terceiro artigo da série sobre Inteligência Artificial em Alto Nível com LLMs e Retrieval-Augmented Generation (RAG) aqui no Blog da DSA. Se está chegando agora, comece com o primeiro artigo da série aqui.

Neste artigo vamos compreender como RAG funciona.

Boa leitura.


Sem o uso de RAG, o LLM depende da entrada do usuário para criar uma resposta de acordo com os dados que recebeu durante o treinamento (LLM é um modelo de Machine Learning e, como tal, precisa ser treinado com grandes volumes de dados).

Como o uso de RAG, é introduzido um componente de recuperação de informações que utiliza a entrada do usuário para extrair informações de uma nova fonte de dados primeiro. A consulta do usuário e as informações relevantes são fornecidas ao LLM. O LLM usa esse novo conhecimento e seus dados de treinamento para criar respostas mais adaptadas. As seções a seguir fornecem uma visão geral do processo.

Criação de Dados Externos

Os novos dados, que não fazem parte do conjunto de dados de treinamento original do LLM, são chamados de dados externos. Esses dados podem ser obtidos de múltiplas fontes, como APIs, bancos de dados ou repositórios de documentos.

Os dados podem existir em vários formatos, como arquivos, registros de banco de dados ou texto longo. Outra técnica de IA, chamada de incorporação de modelos de linguagem (ou apenas criação de embeddings), converte os dados em representações numéricas e os armazena em um banco de dados de vetores. Esse processo cria uma biblioteca de conhecimento que os modelos de IA Generativa podem compreender. Ensinamos essa técnica em detalhes nos cursos de LLM aqui na DSA.

Recuperação de Informações Relevantes

A próxima etapa é realizar uma pesquisa de relevância. A consulta do usuário é convertida em uma representação vetorial e combinada com os bancos de dados de vetores.

Por exemplo, considere um chatbot inteligente que responde perguntas relacionadas a recursos humanos para uma organização. Se um funcionário pesquisar “Quantas férias anuais eu tenho direito?”, o sistema recuperará os documentos da política de férias anuais junto com o registro de férias anteriores do funcionário. Esses documentos específicos serão fornecidos porque são altamente relevantes para a consulta em questão. A relevância foi calculada e estabelecida através de cálculos e representações vetoriais matemáticas. Também ensinamos essa técnica em detalhes nos cursos de LLM aqui na DSA.

Enriquecimento de Prompts Fornecidos ao LLM

Em seguida, o modelo RAG enriquece a entrada do usuário, também chamada de prompt, adicionando os dados recuperados que são relevantes ao contexto. Esta etapa usa técnicas de engenharia de prompts para se comunicar de forma eficaz com o LLM. Com um prompt enriquecido, os grandes modelos de linguagem podem gerar respostas mais contextualizadas às consultas dos usuários. Temos um curso inteiro sobre engenharia de prompts aqui na DSA.

Atualização de Dados Externos

Mas daí surge outra questão: e se os dados externos ficarem obsoletos? Para manter a contemporaneidade das informações, basta atualizar os documentos de forma assíncrona e atualizar a representação incorporada dos documentos. Isso pode ser feito através de processos automatizados em tempo real ou de processamento em lotes periódicos. Esse é um desafio comum na análise de dados, onde diversas metodologias provenientes da Ciência de Dados para gestão de mudanças são aplicáveis.

O diagrama a seguir mostra o fluxo conceitual do uso de RAG com LLMs.

RAG

Os LLMs enfrentam uma série de desafios atualmente, como os seguintes:

  • Fornecem informações falsas quando não possuem uma resposta adequada.
  • Oferecem informações desatualizadas ou genéricas quando os usuários solicitam respostas específicas e atualizadas.
  • Geram respostas baseadas em fontes não confiáveis.
  • Criam respostas imprecisas devido à confusão terminológica, quando diferentes fontes de treinamento utilizam a mesma terminologia para descrever conceitos distintos.

Podemos entender o grande modelo de linguagem (LLM) como um funcionário recém-contratado que opta por ignorar as notícias atuais, mas mesmo assim responde a todas as perguntas com total convicção. Contudo, essa abordagem pode impactar negativamente a confiança dos usuários, o que não é desejável, obviamente!

A abordagem RAG pode ser usada para solucionar alguns desses desafios. Ela direciona o LLM a recuperar dados relevantes, provenientes de fontes de conhecimento confiáveis e previamente definidas. Dessa maneira, as organizações ganham mais controle sobre o texto gerado e os usuários recebem respostas melhores do LLM.

Para uma empresa (e provavelmente para qualquer pessoa) usar apenas o LLM é arriscado, pois a chance de respostas erradas é muito grande. O uso de RAG personaliza um LLM com fontes de dados confiáveis, tornando seu uso no dia a dia muito mais seguro.

Continuaremos na Parte 4 da série sobre RAG.

Equipe DSA

Referências:

3 Etapas Essenciais Para Uma Empresa Usar IA Generativa

IA Generativa e LLMs Para Processamento de Linguagem Natural

Aplicações de Large Language Models (LLMs) na Área Médica

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

What Is Retrieval-Augmented Generation, aka RAG?

What is Retrieval-Augmented Generation?

Retrieval Augmented Generation (RAG)