Che cos’è la RAG o Retrieval Augmented Generation?

Che cos’è la RAG o Retrieval Augmented Generation?

7 Novembre 2023 ai 3
Retrieval Augmented Generation

La Generazione con Recupero di Informazioni (Retrieval Augmented Generation o RAG) rappresenta un framework di Intelligenza Artificiale (IA) che consente di recuperare dati da una base di conoscenza esterna al fine di creare Modelli di Linguaggio di Grandi Dimensioni (LLMs) sulle informazioni più accurate e aggiornate, offrendo agli utenti una visione del processo generativo degli LLMs. Questo approccio mira a superare le inconsistenti performance degli LLMs che, sebbene talvolta possano fornire risposte precise, in altre circostanze tendono a riproporre fatti casuali desunti dai dati su cui sono stati addestrati. Gli LLMs comprendono come le parole si correlino statisticamente, ma non il loro significato reale.

Un sistema Retrieval Augmented Generation funziona in due fasi:

Recupero: Quando riceve una domanda, il sistema prima esegue una ricerca nei suoi indici per trovare i documenti più pertinenti. Questo può essere fatto attraverso tecniche di Information Retrieval (IR), dove ogni documento è indicizzato in base al suo contenuto. Utilizzando algoritmi di matching e ranking, il sistema stima quali parti dei documenti (paragrafi, sezioni, ecc.) sono più rilevanti per la domanda.

Generazione: Una volta recuperati i pezzi pertinenti, il sistema LLM li utilizza come contesto per generare una risposta informata. Non elabora l’intero documento, ma solo il contenuto pertinente selezionato dal sistema RAG.

Questo processo permette di gestire in modo efficiente grandi quantità di dati, perché solo i segmenti di testo ritenuti utili per rispondere a una specifica domanda vengono passati all’LLM per la generazione del testo.

La Retrieval Augmented Generation migliora la qualità delle risposte generate dagli LLMs ancorando il modello a fonti esterne di conoscenza per integrare la rappresentazione interna delle informazioni detenuta dal modello. Implementando RAG in un sistema di risposta a domande basato su LLM, si ottengono due benefici principali: assicura che il modello abbia accesso ai fatti più recenti e affidabili e che gli utenti abbiano accesso alle fonti del modello, garantendo che le sue affermazioni possano essere verificate per accuratezza e, in definitiva, fidatezza.

Perchè usare la Retrieval Augmented Generation?

Inoltre, RAG offre vantaggi aggiuntivi: riduce le possibilità che un LLM estragga informazioni sensibili o “allucinazioni” cioè informazioni errate o fuorvianti. RAG riduce anche la necessità per gli utenti di addestrare continuamente il modello su nuovi dati con il fine-tuning e aggiornare i suoi parametri man mano che le circostanze cambiano.

Come abbiamo già detto la Retrieval Augmented Generation si basa su due fasi: recupero e generazione di contenuti. Nella fase di recupero, gli algoritmi cercano e recuperano frammenti di informazioni pertinenti alla richiesta o domanda dell’utente. Questi fatti possono provenire da documenti indicizzati su internet in un contesto aperto al consumatore; in un contesto aziendale a dominio chiuso, si utilizza tipicamente un insieme più ristretto di fonti per una maggiore sicurezza e affidabilità.

Questa varietà di conoscenza esterna viene aggiunta alla richiesta dell’utente e passata al modello di linguaggio. Nella fase generativa, l’LLM attinge dalla richiesta ampliata e dalla sua rappresentazione interna dei dati di addestramento per sintetizzare una risposta coinvolgente adattata all’utente in quell’istante. La risposta può poi essere trasmessa a un chatbot con collegamenti alle sue fonti.

Considerazioni finali

Prima dell’introduzione dei modelli di linguaggio a lungo termine (LLMs), i sistemi di assistenza digitale si basavano su un processo manuale per gestire le conversazioni. Questo prevedeva la conferma dell’intento dell’utente, la raccolta delle informazioni necessarie e la fornitura di una risposta seguendo uno script predefinito. Questo approccio era efficace per le richieste semplici, ma presentava alcune limitazioni.

Per esempio, era necessario prevedere e creare risposte predefinite per ogni possibile domanda che un utente potesse fare. Questo rendeva difficile l’aggiornamento degli script in base alle modifiche delle politiche o delle circostanze. Inoltre, questo approccio non permetteva una personalizzazione del dialogo e non era in grado di gestire conversazioni complesse o domande impreviste.

Con l’adozione degli LLMs, questi problemi sono stati largamente superati. I modelli di linguaggio a lungo termine sono in grado di comprendere e rispondere a un’ampia varietà di richieste, rendendo le conversazioni più naturali e fluide. Essi possono adattarsi rapidamente alle nuove informazioni, aggiornandosi in base ai cambiamenti delle politiche e delle circostanze. Inoltre, gli LLMs offrono la possibilità di personalizzare le risposte in base al contesto specifico, migliorando così l’esperienza dell’utente.

Oggi, i chatbot alimentati da LLM possono fornire risposte più personalizzate senza che gli umani debbano scrivere nuovi script. RAG permette di andare oltre, riducendo notevolmente la necessità di alimentare e riaddestrare il modello su nuovi esempi. Basta caricare i documenti o le politiche più recenti, e il modello recupera le informazioni in modalità open-book per rispondere alla domanda.

 

3 risposte

  1. Il collega Ai che hai sempre voluto sta arrivando - NetAi ha detto:

    […] con nuove possibilità, sfide ed etiche. Una di queste innovazioni è l’emergere di chatbot avanzati e assistenti AI, che stanno diventando sempre più sofisticati, al punto da poterli […]

  2. Come implementare efficacemente un RAG - NetAi ha detto:

    […] con i Large Language Models (LLM), è probabile che siate già a conoscenza del concetto di Retrieval Augmented Generation (RAG). Per implementare efficacemente un RAG ovvero il recupero di informazioni su larga scala, è […]

  3. Esempio in python di RAG per lettura di PDF - NetAi ha detto:

    […] esserci immersi nello studio di alcuni progetti pionieristici che impiegano la tecnologia di Retrieval Augmented Generation, averne esaminato i principi fondamentali e il framework open-source LangChain, proseguiamo nel […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *