RAG (geração aumentada por recuperação)

Revisto : Como revemos as fichasAtualizado em

Em resumo

O RAG consiste em recuperar documentos relevantes de uma base de conhecimento e fornecê-los a um modelo de linguagem para que fundamente neles a sua resposta.

Fontes[1]

Definição

O RAG (Retrieval-Augmented Generation) é uma técnica que combina um motor de pesquisa com um modelo de linguagem. Antes de responder, o sistema recupera passagens relevantes de uma base de documentos e insere-as na instrução dada ao modelo, que gera a resposta com base nelas.

As etapas

  1. Preparação: os documentos são divididos em passagens, transformados em embeddings e guardados num índice (muitas vezes uma base de dados vetorial).
  2. Recuperação: a pergunta do utilizador é convertida da mesma forma e são encontradas as passagens mais próximas.
  3. Geração: as passagens selecionadas são acrescentadas à instrução do modelo, que redige a resposta, idealmente citando as fontes.

Vantagens

  • Aceder a informação recente ou privada que o modelo não aprendeu.
  • Reduzir (sem eliminar) as alucinações, ancorando a resposta em documentos.
  • Citar as fontes, o que facilita a verificação.
  • Atualizar os conhecimentos sem voltar a treinar o modelo.

Limites

A qualidade da resposta depende da qualidade da recuperação: uma má divisão ou passagens pouco relevantes degradam o resultado. O modelo pode também ignorar ou interpretar mal os documentos fornecidos.

Fontes

  1. Lewis et al., «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks» (2020)