Definizione
La generazione aumentata dal recupero (RAG) è un metodo in cui un sistema prima recupera passaggi pertinenti da una raccolta di documenti, poi li dà a un LLM insieme alla domanda, in modo che la risposta si basi su quel testo.
Come funziona la generazione aumentata dal recupero
Il termine viene da un articolo del 2020 di Lewis e colleghi. Combinava un modello sequence-to-sequence preaddestrato con un indice ricercabile di brani di Wikipedia. Un recuperatore neurale cercava i brani pertinenti all’input, e il generatore li usava per produrre il suo output. L’idea è più antica e più ampia di quel progetto specifico, e il nome oggi copre molti sistemi.
Una versione tipica ha quattro passaggi.
- Indicizzare. I documenti vengono divisi in brani e conservati in un indice ricercabile, spesso come embedding numerici, così che la ricerca funzioni sul significato oltre che sulle parole.
- Recuperare. La domanda dell’utente viene trasformata in una query, e vengono restituiti i brani più vicini.
- Aumentare. Quei brani vengono inseriti nell’input dell’LLM accanto alla domanda e alle istruzioni.
- Generare. Il modello scrive una risposta, idealmente usando solo ciò che dicono i brani.
Il vantaggio è che si può cambiare ciò che il sistema sa cambiando i documenti, senza riaddestrare un modello. Una knowledge base è la raccolta di documenti in cui cerca un sistema del genere.
Il recupero non garantisce una risposta corretta. La ricerca può restituire il brano sbagliato o nessuno, i brani possono contraddirsi e il modello può comunque aggiungere cose che non ci sono. Il recupero riduce l’allucinazione e non la elimina.
Perché conta per gli agenti vocali
In una chiamata il recupero avviene mentre chi chiama aspetta. La ricerca e l’input più lungo si sommano alla latenza vocale, quindi i team tengono brevi i brani, limitano quanti ne recuperano e a volte cercano solo quando la domanda lo richiede.
Inoltre la query parte da una trascrizione vocale. Un nome di prodotto sentito male o una frase a metà possono mandare la ricerca nel posto sbagliato. Riscrivere la domanda prima della ricerca e dare al riconoscitore un elenco di termini attesi aiutano entrambi.
L’output si ascolta e non si legge. Chi chiama non può vedere un elenco di fonti né un lungo estratto, quindi l’agente deve trasformare il testo recuperato in una o due frasi parlate e dire chiaramente quando non è stato trovato nulla di pertinente.
Esempio
Un recupero illustrativo per la linea di una clinica:
- Chi chiama: «Ricevete senza appuntamento il sabato?»
- Brano recuperato: «Orari del sabato dalle 9 alle 13, solo su appuntamento.»
- Agente: «Il sabato riceviamo solo su appuntamento, dalle 9 alle 13. Vuole prenotarne uno?»