Vai al contenuto

Cos'è il RAG? Come funziona la Retrieval-Augmented Generation

Scritto da
Jack Limebear
Pubblicato
Ultimo aggiornamento

AscoltaAscolta questo articolo

I modelli di IA generano risposte in base a ciò che hanno appreso durante l'addestramento, quindi non conoscono automaticamente le policy, i prodotti o altre informazioni di un'azienda create dopo l'addestramento. Il RAG (Retrieval-Augmented Generation) risolve questo problema recuperando informazioni esterne pertinenti e fornendole al modello prima che risponda.

Il RAG basa le risposte dell'IA sui documenti effettivi di un'azienda. Un agente di assistenza clienti che usa il RAG può recuperare la policy di reso o le specifiche di prodotto aggiornate prima di rispondere, riducendo il rischio di allucinazioni.

Questa guida spiega cosa significa RAG nell'IA, come retrieval e generazione lavorano insieme e in cosa il RAG differisce da un LLM usato da solo. Vedremo anche i limiti del RAG, gli ambiti in cui funziona bene nelle applicazioni di IA generativa e come supporta il recupero della conoscenza negli agenti IA.

ElevenLabs Conversational AI demo introducing Retrieval-Augmented Generation (RAG).

In sintesi

  • Il RAG abbina un sistema di retrieval a un modello generativo, consentendo al modello di usare informazioni che vanno oltre i dati di addestramento.
  • Le conoscenze recuperate dal RAG risiedono al di fuori del modello, quindi puoi aggiornarle senza riaddestrare nulla.
  • ElevenAgents usa automaticamente il RAG quando una knowledge base è troppo grande per essere inclusa direttamente nel contesto del modello, così le risposte restano veloci senza rinunciare alla precisione su knowledge base grandi e complesse.

Cos'è il RAG nell'IA?

RAG è un'architettura di sistema basata su un LLM, a cui fornisce informazioni esterne come linee guida del brand, manuali di prodotto, articoli della knowledge base o database interni. Consente all'IA di lavorare con informazioni specifiche dell'azienda, affinché le sue risposte riflettano policy aggiornate, conoscenze private e dettagli aziendali su cui il modello non è mai stato addestrato.

Un LLM può inoltre considerare soltanto una quantità limitata di informazioni alla volta, nota come finestra di contesto. Una grande knowledge base aziendale può superare rapidamente questo limite, quindi il RAG mantiene le informazioni al di fuori dell'LLM e recupera soltanto i passaggi necessari per la domanda corrente.

Il nome descrive come le informazioni si muovono nel sistema:

  • Retrieval: cerca nei contenuti delle fonti collegate, come documenti sulle policy, log dell'help desk o file di inventario, quelli che corrispondono alla richiesta dell'utente.
  • Augmented: aggiunge al contesto del prompt i passaggi recuperati più pertinenti.
  • Generation: usa la richiesta dell'utente e il contesto recuperato per produrre la risposta.

Il RAG supporta anche il grounding, ovvero la pratica di collegare una risposta dell'IA a specifiche informazioni di origine, fornendo all'LLM materiale pertinente da usare per generare una risposta. Ad esempio, se un cliente chiede informazioni su una policy di garanzia, il sistema RAG recupera le condizioni pertinenti dalla documentazione aziendale e le fornisce all'LLM su cui basare la risposta.

RAG retrieves relevant sources, augments prompts with context, and generates answers.

Come funziona la Retrieval-Augmented Generation?

Un sistema RAG prepara le conoscenze esterne per la ricerca, recupera le informazioni più pertinenti alla domanda di un utente e le fornisce all'LLM come contesto prima che generi una risposta.

Le implementazioni RAG variano in complessità. Il RAG di base usa un semplice processo di retrieval e generazione, mentre gli approcci più avanzati possono aggiungere riscrittura delle query, filtri, reranking o altre tecniche di retrieval. 

Il processo RAG segue di solito cinque passaggi:

  1. Prepara le conoscenze: i documenti vengono suddivisi in passaggi più piccoli, tramite un processo chiamato “chunking”, convertiti in rappresentazioni matematiche chiamate embedding e archiviati in un indice ricercabile o in un database vettoriale.

  2. Elabora la query: il sistema interpreta la domanda dell'utente e, nei sistemi RAG più avanzati, la riscrive o la perfeziona prima di effettuare la ricerca.

  3. Recupera i passaggi pertinenti: il retriever cerca nella knowledge base indicizzata i chunk di testo che corrispondono meglio alla richiesta.

  4. Aggiungi contesto alla richiesta del modello: i passaggi selezionati vengono inviati all'LLM insieme alla domanda dell'utente, alle istruzioni pertinenti e alla cronologia della conversazione.

  5. Genera la risposta: l'LLM produce una risposta usando il materiale recuperato come parte del proprio contesto.

Molti sistemi RAG attivano il retrieval in modo selettivo come strumento esterno. ElevenAgents consente ai team di abilitare il RAG per una knowledge base direttamente nelle impostazioni dell'agente e usa la riscrittura delle query per trasformare il dialogo precedente e i riferimenti vaghi in una query di ricerca precisa e autonoma nei follow-up conversazionali.

Per garantire risposte tempestive, ElevenLabs ha sviluppato anche un'architettura di model racing che invia ogni query a più modelli di riscrittura in parallelo e usa la prima risposta valida. Questo approccio ha dimezzato la latenza RAG mediana, da 326 ms a 155 ms, mantenendo il retrieval abbastanza veloce da preservare un flusso conversazionale naturale anche quando viene attivato da una knowledge base di grandi dimensioni.

Five-step RAG workflow; model racing cuts median latency from 326 ms to 155 ms.

Qual è la differenza tra LLM e modelli RAG?

Un LLM è un modello che comprende e genera linguaggio. Il RAG è un'architettura attorno all'LLM che recupera informazioni esterne quando l'applicazione ne ha bisogno.

Ecco cosa cambia quando un LLM è abbinato al RAG:

Caratteristica

LLM da solo

LLM usato con RAG

Conoscenze

Dati di addestramento e contesto corrente

Dati di addestramento, contesto corrente e informazioni aziendali recuperate, come policy, documentazione di prodotto o contenuti della knowledge base

Aggiornamenti

Le nuove informazioni devono essere fornite nel contesto o tramite aggiornamenti del modello

Le conoscenze esterne possono essere aggiornate separatamente dal modello

Informazioni private

Non disponibili, a meno che non vengano fornite

Può recuperarle da fonti private approvate

Retrieval

Non fa parte del modello di base

Viene aggiunto dal sistema RAG circostante

L'espressione “modello RAG” viene talvolta usata come abbreviazione per un LLM impiegato all'interno di un sistema RAG. Ad esempio, un'azienda potrebbe dire di usare un “modello RAG” per l'assistenza clienti quando la configurazione effettiva è un LLM che recupera contenuti pertinenti del Centro assistenza o relativi alle policy prima di generare una risposta. 

LLM alone vs. RAG: retrieval adds private company information without changing model weights.

Limiti dei modelli RAG nelle applicazioni reali

Il RAG migliora l'accesso a conoscenze aziendali pertinenti archiviate al di fuori dell'LLM, ma il retrieval introduce limiti propri e non garantisce una risposta corretta. I principali limiti riguardano ciò che il sistema recupera, ciò che invia al modello e il modo in cui il modello risponde: 

  • Qualità del retrieval: se il sistema non trova il passaggio più pertinente, l'LLM parte da un contesto incompleto o debole. Query formulate male, corrispondenze semantiche deboli o formulazioni ambigue possono indirizzare il retrieval nella direzione sbagliata. 
  • Qualità delle fonti: documenti obsoleti, in conflitto tra loro o incompleti possono portare a risposte inaffidabili.
  • Selezione del contesto: scelte inadeguate nel chunking o nel retrieval possono eliminare dettagli necessari o introdurre informazioni non pertinenti.
  • Latenza aggiuntiva: il retrieval e l'elaborazione della query avvengono prima della generazione, e possono rallentare le risposte nelle applicazioni in tempo reale.
  • Errori di generazione: l'LLM può comunque interpretare male le informazioni recuperate o introdurre affermazioni non supportate.

Sebbene il RAG possa ridurre il rischio di allucinazioni, non lo elimina completamente. Risultati accurati dipendono comunque da fonti ben gestite, retrieval efficace e controlli sulla risposta finale.

Slide lists five RAG limitations and says it reduces, but does not eliminate, hallucinations.

RAG nell'IA generativa: casi d'uso pratici e vantaggi

Il RAG è particolarmente utile quando un'applicazione di IA richiede informazioni che cambiano spesso, appartengono all'organizzazione o sono troppo voluminose per essere incluse in ogni richiesta al modello. 

Ecco dove il RAG fa maggiormente la differenza:

Restare al passo con informazioni aggiornate di frequente

Il RAG aiuta i team a mantenere le risposte dell'IA allineate a dettagli di prodotto, prezzi, policy e inventario aggiornati. I team possono aggiornare in modo indipendente le informazioni di origine e il RAG recupera la versione pertinente quando viene posta una domanda. Ad esempio, un agente di qualificazione dei lead può recuperare gli ultimi dettagli su prezzi o piani quando qualifica un chiamante in entrata.

Usare conoscenze private o specialistiche

Alcune conoscenze sono private o specialistiche anziché pubbliche, come policy interne, documentazione tecnica o contenuti di supporto destinati a un team specifico. Il RAG permette a un agente di recuperare direttamente da queste fonti, invece di basarsi soltanto su ciò che è disponibile pubblicamente o integrato nel modello. 

Ad esempio, un agente di helpdesk IT o HR interno può recuperare informazioni da una knowledge base specifica per le risorse umane per rispondere a domande sui benefit dei dipendenti, invece di cercare nella documentazione pubblica, che non conterrebbe tali informazioni.

Cercare in knowledge base di grandi dimensioni

Il RAG è utile quando un'azienda dispone di molta più documentazione di quanta un LLM possa considerare in un'unica richiesta. Recupera soltanto i passaggi pertinenti alla domanda corrente, invece di inviare l'intera raccolta al modello. In ambito commerciale, un assistente tecnico può cercare nei manuali di prodotto i requisiti pertinenti durante una chiamata.

Inizia con ElevenAgents per soluzioni RAG avanzate

ElevenAgents consente ai team di creare agenti vocali e chat IA che usano il RAG con fonti di conoscenza collegate, tramite la piattaforma web no-code o l'API per i team che vogliono integrare gli agenti direttamente nei propri prodotti. 

Per gli agenti abilitati al RAG, i team possono aggiungere documenti, URL o testo a una knowledge base e recuperare soltanto le informazioni pertinenti a ogni query.

ElevenLabs ha ottimizzato il retrieval anche per le conversazioni in tempo reale, riducendo la latenza RAG mediana da 326 ms a 155 ms nella propria architettura ElevenAgents. I team che sviluppano con ElevenAgents ottengono queste funzionalità di retrieval fin da subito, sia che configurino un agente tramite dashboard sia che sviluppino su di esso tramite API.

Inizia a creare con ElevenAgents o contatta il nostro team per discutere la configurazione più adatta alla tua applicazione.

Domande frequenti sul RAG

Articoli simili

Crea con l'audio IA della massima qualità