RAG (generazione aumentata dal recupero)

Rivisto : Come rivediamo le schedeAggiornato il

In breve

Il RAG consiste nel recuperare documenti pertinenti da una base di conoscenza e fornirli a un modello linguistico perché vi basi la sua risposta.

Fonti[1]

Definizione

Il RAG (Retrieval-Augmented Generation) è una tecnica che unisce un motore di ricerca a un modello linguistico. Prima di rispondere, il sistema recupera passaggi pertinenti da una base di documenti e li inserisce nell’istruzione data al modello, che genera la risposta basandosi su di essi.

Le fasi

  1. Preparazione: i documenti vengono suddivisi in passaggi, trasformati in embedding e archiviati in un indice (spesso un database vettoriale).
  2. Recupero: la domanda dell’utente viene convertita allo stesso modo e si individuano i passaggi più vicini.
  3. Generazione: i passaggi selezionati vengono aggiunti all’istruzione del modello, che redige la risposta, idealmente citando le fonti.

Vantaggi

  • Accedere a informazioni recenti o private che il modello non ha imparato.
  • Ridurre (senza eliminarle) le allucinazioni ancorando la risposta ai documenti.
  • Citare le fonti, facilitando la verifica.
  • Aggiornare le conoscenze senza riaddestrare il modello.

Limiti

La qualità della risposta dipende da quella del recupero: una cattiva suddivisione o passaggi poco pertinenti peggiorano il risultato. Il modello può anche ignorare o interpretare male i documenti forniti.

Fonti

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