A RAG (geração aumentada de recuperação) fornece conhecimento de LLM
Este artigo descreve como a geração aumentada de recuperação permite que os LLMs tratem as fontes de dados como conhecimento sem a necessidade de treinamento.
Os LLMs têm extensas bases de dados de conhecimento por meio do treinamento. Para a maioria dos cenários, você pode selecionar um LLM criado de acordo com os seus requisitos, mas esses LLMs ainda exigirão treinamento adicional para entender os dados específicos. A geração aumentada de recuperação permite disponibilizar os dados para os LLMs sem treiná-los primeiro.
Como a RAG funciona
Para executar a geração aumentada de recuperação, você cria inserções para os dados, juntamente com perguntas comuns sobre eles. Você pode fazer isso em tempo real ou criar e armazenar as inserções usando uma solução de banco de dados vetorial.
Quando um usuário faz uma pergunta, o LLM usa as inserções para comparar a pergunta do usuário com os dados e encontrar o contexto mais relevante. Esse contexto e a pergunta do usuário, em seguida, vão para o LLM em um prompt e o LLM fornece uma resposta com base nos dados.
Processo básico de RAG
Para executar a RAG, você deve processar cada fonte de dados que deseja usar para recuperações. O processo básico é como descrito a seguir:
- Agrupe os dados grandes em partes gerenciáveis.
- Converta as partes em um formato pesquisável.
- Armazene os dados convertidos em um local que permita acesso eficiente. Além disso, é importante armazenar metadados relevantes para citações ou referências quando o LLM fornece respostas.
- Alimente os dados convertidos nos LLMs em prompts.
- Dados de origem: é aqui que os dados existem. Pode ser um arquivo/pasta em seu computador, um arquivo no armazenamento em nuvem, um ativo de dados do Azure Machine Learning, um repositório Git ou um banco de dados SQL.
- Partes de dados: os dados na sua fonte precisam ser convertidos em texto sem formatação. Por exemplo, documentos do Word ou PDFs precisam ser abertos e convertidos em texto. Em seguida, o texto é agrupado em partes menores.
- Converter o texto em vetores: são as inserções. Os vetores são representações numéricas de conceitos convertidos em sequências numéricas, o que torna mais fácil para os computadores entenderem as relações entre esses conceitos.
- Links entre dados de origem e inserções: essas informações são armazenadas como metadados nas partes criadas, que são usadas para ajudar os LLMs a gerar citações ao gerar respostas.