Definição
A geração aumentada por recuperação (RAG) é um método em que um sistema primeiro recupera trechos relevantes de uma coleção de documentos e depois os entrega a um LLM junto com a pergunta, para que a resposta se baseie nesse texto.
Como a geração aumentada por recuperação funciona
O termo vem de um artigo de 2020 de Lewis e colegas. Ele combinava um modelo sequência a sequência pré-treinado com um índice pesquisável de trechos da Wikipédia. Um recuperador neural buscava trechos relevantes para a entrada, e o gerador os usava para produzir a saída. A ideia é mais antiga e mais ampla que aquele desenho específico, e o nome hoje abrange muitos sistemas.
Uma versão típica tem quatro etapas.
- Indexar. Os documentos são divididos em trechos e guardados em um índice pesquisável, muitas vezes como embeddings numéricos, para que a busca funcione por significado além de por palavras.
- Recuperar. A pergunta do usuário é transformada em uma consulta, e os trechos mais próximos são devolvidos.
- Aumentar. Esses trechos são colocados na entrada do LLM ao lado da pergunta e das instruções.
- Gerar. O modelo escreve uma resposta, idealmente usando apenas o que os trechos dizem.
A vantagem é que se pode mudar o que o sistema sabe mudando os documentos, sem retreinar um modelo. Uma base de conhecimento é a coleção de documentos que um sistema assim consulta.
A recuperação não garante uma resposta correta. A busca pode devolver o trecho errado ou nenhum, os trechos podem se contradizer e o modelo ainda pode acrescentar coisas que não estão neles. A recuperação reduz a alucinação e não a elimina.
Por que importa para agentes de voz
Em uma chamada, a recuperação acontece enquanto quem liga espera. A busca e a entrada mais longa se somam à latência de voz, então as equipes mantêm os trechos curtos, limitam quantos recuperam e às vezes buscam apenas quando a pergunta exige.
A consulta também parte de uma transcrição de fala. Um nome de produto ouvido errado ou uma frase pela metade podem levar a busca ao lugar errado. Reescrever a pergunta antes da busca e dar ao reconhecedor uma lista de termos esperados ajudam os dois casos.
A saída é ouvida e não lida. Quem liga não consegue ver uma lista de fontes nem um longo trecho, então o agente precisa transformar o texto recuperado em uma ou duas frases faladas e dizer claramente quando nada relevante foi encontrado.
Exemplo
Uma recuperação ilustrativa para a linha de uma clínica:
- Quem liga: “Vocês atendem sem hora marcada aos sábados?”
- Trecho recuperado: “O horário de sábado é das 9 às 13, somente com hora marcada.”
- Agente: “Aos sábados atendemos só com hora marcada, das 9 às 13. Quer marcar uma?”