Un modello di IA generico sa moltissimo sul mondo e nulla sulla tua azienda. Non ha mai visto i manuali dei tuoi prodotti, le tue policy interne o i report dell’ultimo trimestre. La retrieval-augmented generation (RAG) è la tecnica che colma questo divario: consente a un modello di rispondere alle domande usando i tuoi documenti, in modo accurato e con le fonti, senza riaddestrare il modello. Questa guida spiega cos’è la RAG, come funziona e quando usarla.

In sintesi

  • La RAG recupera gli estratti pertinenti dai tuoi contenuti e li include nel prompt, così il modello risponde a partire dalle tue conoscenze e non solo dai suoi dati di addestramento
  • Funziona convertendo i documenti in embeddings, memorizzandoli in un vector database e recuperando le corrispondenze più vicine a ogni domanda
  • La RAG riduce le allucinazioni e permette di citare le fonti, ed è più semplice ed economica da mantenere aggiornata rispetto al fine-tuning
  • È il pattern giusto per la maggior parte dei casi d’uso del tipo “un’IA che conosce i nostri dati”: bot di supporto, assistenti di conoscenza interni e Q&A sui documenti

Il problema che la RAG risolve

I modelli linguistici hanno due limiti per l’uso aziendale: conoscono solo ciò che era nei loro dati di addestramento (quindi nulla di privato e nulla di recente), e possono inventarsi cose con sicurezza. Inserire tutti i tuoi documenti in ogni prompt non è praticabile; ce ne sono troppi, e sarebbe lento e costoso. La RAG risolve entrambi i problemi recuperando solo le parti pertinenti per ogni domanda e ancorando la risposta a esse.

Come funziona la Retrieval-Augmented Generation

Ci sono due fasi.

Indicizzazione (eseguita una volta e aggiornata man mano che i contenuti cambiano):

  1. Suddividi i tuoi documenti in chunk gestibili.
  2. Converti ogni chunk in un embedding, un vettore numerico che ne cattura il significato.
  3. Memorizza questi vettori in un vector database.

Recupero e generazione (al momento della query):

  1. Converti la domanda dell’utente in un embedding.
  2. Cerca nel vector database i chunk il cui significato è più vicino alla domanda.
  3. Inserisci questi chunk recuperati nel prompt come contesto.
  4. Il modello genera una risposta ancorata a quel contesto, idealmente citando le fonti utilizzate.

Poiché il recupero si basa sul significato anziché su parole chiave esatte, la RAG trova contenuti pertinenti anche quando la formulazione è diversa.

Perché la RAG batte il fine-tuning nella maggior parte dei casi

Il fine-tuning regola i pesi del modello sui tuoi dati. Ha il suo posto, ma per rispondere a partire dalla conoscenza la RAG è di solito la scelta migliore:

  • Aggiornabilità: Aggiorna un documento e reindicizzalo; la risposta si aggiorna immediatamente. Il fine-tuning richiede un riaddestramento per riflettere i cambiamenti.
  • Costo: L’indicizzazione è molto più economica di ripetuti cicli di fine-tuning.
  • Controllo e fiducia: La RAG può mostrare le sue fonti, quindi le risposte sono verificabili e più facili da fidarsi. La conoscenza ottenuta con il fine-tuning è opaca.
  • Meno allucinazioni: Ancorare il modello al testo recuperato lo mantiene più vicino ai fatti.

Il fine-tuning è migliore per insegnare uno stile o un formato coerente, o un comportamento ristretto e specializzato, non per mantenere aggiornato un corpo di conoscenze.

Cosa rende buono un sistema RAG

La RAG è semplice nel concetto e facile da fare male. La qualità dipende da:

  • Strategia di chunking: Chunk troppo grandi diluiscono la pertinenza; troppo piccoli perdono il contesto. Farlo bene conta.
  • Qualità del recupero: La risposta è buona solo quanto i chunk recuperati. Buoni embeddings, un ranking sensato e a volte un re-ranking fanno la differenza.
  • Progettazione del prompt: Il modo in cui istruisci il modello a usare il contesto recuperato (e a dire “non lo so” quando l’informazione non c’è) determina l’affidabilità.
  • Mantenere l’indice aggiornato: Una pipeline per reindicizzare i contenuti modificati mantiene le risposte accurate nel tempo.

Casi d’uso comuni

  • Bot di assistenza clienti che rispondono a partire dalla tua documentazione.
  • Assistenti di conoscenza interni su policy, wiki e report.
  • Q&A sui documenti per contratti, manuali o ricerca.
  • Qualsiasi assistente che deve rispondere a partire da informazioni private o che cambiano di frequente.

Punti chiave

  • La RAG ancora le risposte dell’IA ai tuoi documenti recuperando estratti pertinenti al momento della query.
  • Funziona tramite embeddings e un vector database: indicizza una volta, recupera e genera per ogni domanda.
  • Per mantenere aggiornata la conoscenza, la RAG batte il fine-tuning su aggiornabilità, costo, controllo e fiducia.
  • La qualità nasce dal chunking, dal recupero, dalla progettazione del prompt e dal mantenere aggiornato l’indice.

Aggiungi un’IA consapevole della conoscenza alla tua azienda

Un sistema RAG in produzione ha bisogno del giusto chunking, recupero, prompting e di una pipeline di indicizzazione che resti aggiornata. I servizi di integrazione IA integrano basi di conoscenza basate sulla RAG e altre funzionalità intelligenti nelle tue applicazioni esistenti, con prompt progettati su misura e controlli sui costi, e il servizio di integrazione dell’API OpenAI copre nello specifico gli assistenti basati sulla RAG. Se stai partendo con un’interfaccia conversazionale, vedi creare un chatbot IA con l’API OpenAI. Per una visione più ampia dell’adozione dell’IA, la guida all’integrazione dell’IA per le PMI britanniche è un buon punto di partenza.


Domande frequenti (FAQ)

Cos’è la retrieval-augmented generation (RAG)? La RAG è una tecnica che consente a un modello di IA di rispondere usando i tuoi documenti. Recupera gli estratti più pertinenti dai tuoi contenuti e li include nel prompt, così il modello risponde basandosi sulle tue conoscenze anziché solo sui suoi dati di addestramento.

In cosa la RAG è diversa dal fine-tuning? La RAG recupera contenuti pertinenti al momento della query e vi ancora la risposta, così gli aggiornamenti sono istantanei e le fonti possono essere citate. Il fine-tuning modifica i pesi del modello e richiede un riaddestramento per riflettere nuove informazioni. La RAG è migliore per la conoscenza aggiornata; il fine-tuning per uno stile coerente o un comportamento ristretto.

La RAG elimina le allucinazioni dell’IA? Le riduce in modo significativo ancorando le risposte a fatti recuperati, e permette di citare le fonti così le risposte sono verificabili. Non elimina del tutto le allucinazioni, quindi un buon prompting resta importante (compreso istruire il modello a dire quando non sa qualcosa).

Cos’è un vector database e perché la RAG ne ha bisogno? Un vector database memorizza gli embeddings, le rappresentazioni numeriche dei chunk dei tuoi documenti, e trova quelli il cui significato è più vicino a una domanda. La RAG lo usa per recuperare rapidamente il contesto pertinente in base al significato anziché a corrispondenze esatte di parole chiave.

Cosa mi serve per costruire un sistema RAG? I tuoi documenti di origine, una pipeline di chunking ed embedding, un vector database e un’applicazione che recupera i chunk pertinenti e li usa per il prompt del modello. Le parti più difficili sono la strategia di chunking, la qualità del recupero e il mantenere aggiornato l’indice.