RAG: far rispondere l'AI sui tuoi documenti
Cos'è la Retrieval-Augmented Generation, come costruire un assistente sui propri documenti (chunking, embedding, ricerca, citazioni) e come valutarlo.
RAG (Retrieval-Augmented Generation) è la tecnica per far rispondere un modello in base ai tuoi documenti (manuali, contratti, FAQ, wiki) senza riaddestrarlo. È il modo più diffuso per creare assistenti aziendali affidabili.
L'idea
- Prepara i documenti e salvali in una forma ricercabile.
- Alla domanda dell'utente, recupera i passaggi più pertinenti.
- Inserisci quei passaggi nel prompt e chiedi al modello di rispondere solo in base a essi, citando.
La pipeline
| Fase | Cosa succede |
|---|---|
| Caricamento | Estrai testo da PDF, Word, pagine web |
| Chunking | Dividi in blocchi (es. 300–800 token) con piccola sovrapposizione |
| Embedding | Trasforma ogni blocco in un vettore numerico del significato |
| Indicizzazione | Salvali in un database vettoriale (o nel DB che già usi con estensione vettoriale) |
| Recupero | Alla domanda, trova i blocchi più simili |
| Ri-ordinamento (opzionale) | Un secondo modello rifinisce la selezione |
| Generazione | Il LLM risponde con i blocchi come fonte |
Prompt di generazione
Sei l'assistente documentale di [azienda]. Rispondi alla domanda usando ESCLUSIVAMENTE i passaggi forniti. Dopo ogni affermazione indica la fonte come [documento, sezione]. Se la risposta non è nei passaggi, rispondi: "Non ho trovato questa informazione nei documenti."
Passaggi:
{{contesto}}
Domanda: {{domanda}}Fattori che decidono la qualità
- Qualità dei documenti: se sono contraddittori o vecchi, lo sarà anche l'assistente.
- Chunking: blocchi troppo piccoli perdono contesto, troppo grandi diluiscono.
- Ricerca ibrida: combina ricerca semantica e per parole chiave (ottima per codici e nomi).
- Metadati: filtra per data, reparto, versione.
- Ri-ordinamento e numero di passaggi inviati.
Come valutarlo
- Crea un set di 30–50 domande reali con la risposta corretta.
- Misura: il passaggio giusto è tra quelli recuperati? La risposta è corretta? Cita la fonte giusta?
- Cambia un parametro per volta e ripeti.
- Raccogli i feedback degli utenti in produzione.
Senza programmare
Per casi semplici non devi costruire nulla: i Progetti di Claude e ChatGPT e NotebookLM fanno già RAG sui file caricati.
RAG o fine-tuning?
Per conoscenza aggiornabile (documenti che cambiano) scegli RAG. Il fine-tuning serve per cambiare stile o comportamento, non per memorizzare fatti: vedi la guida di confronto.