Generazione aumentata da recupero (RAG)
Definizione rapida
La generazione aumentata da recupero (RAG) è una tecnica in cui un sistema AI prima recupera passaggi rilevanti da una fonte affidabile, come una base di conoscenza o un catalogo di prodotti, e poi li fornisce a un modello linguistico affinché la sua risposta si basi su quei passaggi piuttosto che solo sulla sua memoria.
In questa pagina
Perché esiste RAG
Un modello linguistico apprende da un'istantanea fissa di testo. Non conosce la tua politica di reso, i tuoi prezzi attuali o il prodotto che hai aggiunto questa mattina, e quando viene chiesto comunque può produrre una risposta plausibile ma errata. Riaddestrare un modello ogni volta che i tuoi contenuti cambiano sarebbe lento e costoso.
RAG risolve questo mantenendo la conoscenza al di fuori del modello. I tuoi contenuti rimangono in un archivio ricercabile che puoi aggiornare in qualsiasi momento; al modello viene chiesto solo di leggere gli estratti rilevanti e formulare una risposta. L'approccio è stato descritto da Lewis e colleghi di Facebook AI Research nel 2020.
Come funziona, passo dopo passo
Innanzitutto, i contenuti vengono preparati: documenti, pagine web o registrazioni di prodotti vengono suddivisi in passaggi, e ogni passaggio viene trasformato in un embedding — un elenco di numeri che cattura il suo significato. Questi embedding vengono memorizzati in un indice vettoriale, spesso insieme a un indice di parole chiave classico.
Quando arriva una domanda, viene convertita allo stesso modo e i passaggi più vicini vengono recuperati, talvolta combinati con la ricerca per parole chiave o filtri come lingua o categoria. I migliori passaggi vengono inseriti nel prompt del modello con un'istruzione per rispondere da essi. Molti sistemi restituiscono anche le fonti, in modo che il lettore possa controllare da dove proviene la risposta.
Limiti da conoscere
RAG è buono solo quanto ciò che recupera. Se il passaggio giusto è mancante, obsoleto o mal suddiviso, il modello risponde dall'estratto sbagliato o ricade sulla sua memoria. Le domande strutturate — "la giacca più economica in stock nella taglia M" — sono poco servite dalla ricerca di somiglianza da sola e necessitano di filtri su dati reali. E il modello può comunque interpretare male un passaggio, quindi le risposte su argomenti sensibili dovrebbero essere verificate o escalate.
Ecco perché i sistemi di produzione combinano RAG con ricerca strutturata, regole di freschezza che ri-sincronizzano i contenuti quando cambiano, e istruzioni chiare per indicare quando le fonti non contengono la risposta.
RAG nel servizio clienti
Per un assistente di supporto o e-commerce, RAG è ciò che consente all'agente di rispondere utilizzando le tue FAQ, le tue politiche e il tuo catalogo nella lingua del cliente, e di indicare la pagina che ha utilizzato. In AI SmartTalk, la conoscenza da cui un assistente risponde — pagine web, documenti, voci FAQ e prodotti sincronizzati — è indicizzata in questo modo, e le domande sui prodotti utilizzano anche filtri su prezzo, opzioni e stock.
Domande frequenti
RAG è la stessa cosa del fine-tuning?
No. Il fine-tuning cambia i pesi del modello addestrandolo su esempi; RAG lascia il modello invariato e gli fornisce le informazioni giuste al momento della domanda. RAG è solitamente la scelta migliore per fatti che cambiano, come prezzi, stock o politiche.
RAG ferma le allucinazioni dell'AI?
Le riduce molto, perché il modello risponde da passaggi reali, ma non le elimina. Un buon recupero, un'istruzione per ammettere quando le fonti sono silenziose e un passaggio a una persona per casi sensibili sono ancora necessari.
Che cos'è un database vettoriale?
Un archivio che indicizza gli embedding in modo che i passaggi più vicini nel significato a una domanda possano essere trovati rapidamente. È il consueto strato di recupero di un sistema RAG, spesso abbinato alla ricerca per parole chiave.
RAG può funzionare con un catalogo di prodotti?
Sì, ma i prodotti necessitano di più della semplice ricerca di somiglianza: un assistente dovrebbe filtrare su campi strutturati come prezzo, taglia o stock, quindi utilizzare RAG per descrizioni e guide all'acquisto.