Cos'è il RAG (Retrieval Augmented Generation)
Cos'è il RAG spiegato semplice: come funziona la Retrieval Augmented Generation, perché dà agli LLM accesso a dati aggiornati, i passi del processo e quando usarlo.
Il RAG è una delle tecniche più importanti per costruire applicazioni AI utili e affidabili, ed è oggi una delle competenze più richieste a un AI engineer. Risolve uno dei limiti principali degli LLM: il fatto che non conoscono i tuoi dati specifici. In questo articolo ti spiego cos'è il RAG in modo semplice.
Cos'è il RAG in parole semplici
Il RAG (Retrieval Augmented Generation) è una tecnica che combina la capacità di un LLM di generare testo con il recupero di informazioni da una fonte di dati esterna, in modo che il modello risponda basandosi su documenti specifici e aggiornati. In pratica: prima si cercano le informazioni rilevanti, poi le si passano all'LLM perché generi una risposta fondata su di esse.
L'idea è semplice e potente: invece di sperare che il modello "sappia" la risposta, gliela mettiamo davanti recuperandola dai nostri documenti.
Il problema che il RAG risolve
I Large Language Model hanno due limiti che il RAG affronta:
- Conoscenza congelata: sanno solo ciò su cui sono stati addestrati, fino a una certa data. Non conoscono notizie recenti né i tuoi documenti privati.
- Allucinazioni: quando non sanno, tendono a inventare risposte plausibili ma false.
Il RAG risolve entrambi: dà al modello le informazioni giuste al momento giusto, così risponde su dati reali e aggiornati, riducendo le invenzioni.
Come funziona il RAG
Il processo, semplificato, si svolge in due fasi.
Fase di preparazione (una volta)
- Prendi i tuoi documenti (manuali, articoli, base di conoscenza).
- Li dividi in pezzi (chunk).
- Trasformi ogni pezzo in embedding e li salvi in un vector database.
Fase di risposta (a ogni domanda)
- L'utente fa una domanda.
- La domanda viene trasformata in embedding e si cercano nel vector database i pezzi di documento più pertinenti.
- Questi pezzi vengono inseriti nel prompt insieme alla domanda.
- L'LLM genera la risposta basandosi sui documenti recuperati.
In sintesi: recupera le informazioni giuste, poi genera la risposta. Da qui il nome "Retrieval Augmented Generation".
Un esempio concreto
Immagina un assistente per il supporto clienti di un'azienda. L'LLM da solo non conosce i prodotti e le policy di quell'azienda. Con il RAG:
- Carichi tutta la documentazione aziendale nel sistema.
- Quando un cliente chiede "come faccio un reso?", il sistema recupera la policy di reso dai documenti e la passa all'LLM.
- L'LLM risponde con informazioni accurate e specifiche dell'azienda, non inventate.
RAG vs fine-tuning
Per "specializzare" un modello sui propri dati ci sono due approcci, spesso confusi:
| Aspetto | RAG | Fine-tuning |
|---|---|---|
| Come funziona | Recupera dati al momento della domanda | Riaddestra il modello sui dati |
| Aggiornamento dati | Facile (aggiorni i documenti) | Difficile (riaddestri) |
| Costo | Più basso | Più alto |
| Ideale per | Conoscenza che cambia, fonti citabili | Stile e comportamento specifici |
Per la maggior parte dei casi d'uso aziendali (rispondere su documenti specifici e aggiornati), il RAG è la scelta più pratica ed economica.
Quando usare il RAG
Il RAG è ideale quando:
- Vuoi che l'AI risponda sui tuoi documenti o dati privati.
- Le informazioni cambiano nel tempo e devono restare aggiornate.
- Ti serve poter citare le fonti delle risposte.
- Vuoi ridurre le allucinazioni su un dominio specifico.
In sintesi
Il RAG (Retrieval Augmented Generation) combina la generazione di testo di un LLM con il recupero di informazioni da fonti esterne, così il modello risponde su dati specifici e aggiornati invece di affidarsi solo alla sua conoscenza congelata. Funziona recuperando i documenti pertinenti tramite embedding e vector database, e passandoli al modello. È la tecnica chiave per costruire assistenti AI affidabili sui propri dati.
Per i mattoni che lo compongono, vedi cosa sono gli embedding e cos'è un vector database.