A geração aumentada de recuperação (RAG) é um método para adicionar uma nova fonte de dados a um grande modelo de linguagem (LLM) sem retreiná-lo.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
A geração aumentada de recuperação (RAG) é o processo de otimização de um grande modelo de linguagem (LLM) para uso em um contexto específico sem retreiná-lo completamente, dando-lhe acesso a uma base de conhecimento relevante para esse contexto. A RAG é uma maneira econômica de adaptar rapidamente um LLM a um caso de uso especializado. É um dos métodos que os desenvolvedores podem usar para ajustar um modelo de inteligência artificial (IA).
Os LLMs são treinados com grandes quantidades de dados, mas podem não ser capazes de gerar as informações específicas necessárias em algumas configurações. Eles têm uma compreensão geral de como funciona a linguagem humana, mas nem sempre têm conhecimento específico para uma determinada área temática. O RAG é uma maneira de corrigir isso.
Imagine que um mecânico de automóveis vai para o trabalho em um Chevy 1964. Embora o mecânico possa ter muita experiência geral em manutenção de carros após milhares de horas de prática, ele ainda precisa do manual do proprietário do carro para fazer a manutenção de forma efetiva. Mas, o mecânico não precisa ser novamente certificado como mecânico, ele pode apenas ler o manual e, em seguida, aplicar o conhecimento geral de carros que já possui.
O RAG é semelhante. Ele fornece ao LLM um "manual", ou uma base de conhecimento, para que o LLM possa adaptar seu conhecimento geral ao caso de uso específico. Por exemplo, um LLM geral pode ser capaz de gerar conteúdo sobre como funcionam as consultas de API, mas não necessariamente ser capaz de dizer a um usuário como consultar a API de um aplicativo específico. Mas com o RAG, esse LLM poderia ser adaptado para uso com esse aplicativo, vinculando-o à documentação técnica do aplicativo.
Normalmente, quando um LLM recebe uma consulta, ele processa essa consulta de acordo com seus parâmetros e treinamento preexistentes.
O RAG permite que o LLM faça referência a "dados externos", um banco de dados não incluído no conjunto de dados de treinamento do LLM. Portanto, em contraste com a maneira normal de funcionar, um LLM com RAG usa dados externos para aprimorar suas respostas, daí o nome recuperação (recuperação de dados externos primeiro) geração (criar uma resposta) aumentada (melhorar as respostas com esses dados).
Suponha que o mecânico de automóveis do exemplo acima quisesse usar um LLM em vez de consultar os manuais do proprietário diretamente. Usando o RAG, o LLM poderia incorporar a consulta dos manuais dos proprietários diretamente em seus processos. Apesar do fato de que o LLM provavelmente não foi treinado em manuais de carros clássicos ou, se essas informações foram incluídas em seus dados de treinamento, provavelmente eram apenas uma pequena porcentagem, o LLM pode usar o RAG para produzir consultas relevantes e precisas.
Para que o LLM possa usar e consultar a fonte de dados externa (como manuais de carros), os dados são primeiro convertidos em vetores e, em seguida, armazenados em um banco de dados vetorial. Esse processo usa modelos de aprendizado de máquina para gerar representações matemáticas de itens de um conjunto de dados. (Cada "vetor" é uma matriz de números, como [-0,41522345,0,97685323...].)
Quando um usuário envia um prompt, o LLM converte esse prompt em um vetor e, em seguida, pesquisa o banco de dados vetorial criado a partir da fonte de dados externa para encontrar informações relevantes. Ele acrescenta essas informações como contexto adicional para o prompt, e então executa o prompt aumentado através de seu modelo típico para criar uma resposta.
Os prós de usar o RAG para ajustar um LLM incluem:
Algumas das possíveis desvantagens são:
Um chatbot de RAG é um chatbot baseado em LLM que foi especializado para casos de uso específicos por meio do RAG, sendo conectado a uma ou mais fontes de dados externos que são relevantes para o contexto em que o chatbot opera. Um chatbot de RAG para uso em uma garagem de automóveis teria acesso à documentação do automóvel, isso seria mais útil para os mecânicos na garagem do que fazer perguntas a um chatbot de LLM de uso geral.
A adaptação de baixa classificação (LoRA) é outra maneira de ajustar um modelo, ou seja, adaptá-lo a um contexto específico sem retreiná-lo completamente. A LoRA, no entanto, envolve o ajuste dos parâmetros do modelo, enquanto o RAG não altera os parâmetros do modelo. Saiba mais sobre a LoRA aqui.
O AutoRAG configura e gerencia pipelines de RAG para desenvolvedores. Ele conecta as ferramentas necessárias para indexação, recuperação e geração, além de manter tudo atualizado ao sincronizar os dados regularmente com o índice. Depois de configurado, o AutoRAG indexa o conteúdo em segundo plano e responde às consultas em tempo real. Saiba como o AutoRAG funciona.