RAG (Retrieval Augmented Generation): Guida Completa per le Aziende
Punto chiave: Il RAG (Retrieval Augmented Generation) è la tecnica che permette ai modelli LLM di rispondere basandosi su dati proprietari e aggiornati — senza modificare il modello e senza rischiare data leakage. È il modo più pratico per portare l'AI aziendale oltre la conoscenza generica verso la conoscenza specifica dell'organizzazione.
Cos'è il RAG?
Il Retrieval Augmented Generation (RAG) è un'architettura AI che combina due componenti: un sistema di ricerca (retrieval) che recupera informazioni rilevanti da una knowledge base proprietaria, e un modello generativo (LLM) che usa quelle informazioni per produrre una risposta accurata e contestualizzata.
Senza RAG, un LLM risponde solo sulla base di ciò che ha imparato durante l'addestramento — informazioni generiche, potenzialmente obsolete, e certamente prive di dati proprietari. Con il RAG, il modello può rispondere su contratti specifici dell'azienda, documentazione tecnica aggiornata, knowledge base interna, normative recenti, e qualsiasi altra fonte di conoscenza privata.
La differenza pratica è enorme: anziché un assistente generico che sa tutto su niente di specifico, l'organizzazione ottiene un assistente specializzato che conosce i propri prodotti, processi, clienti e normative di riferimento.
Architettura RAG: Come Funziona
Fase 1: Indicizzazione (offline)
- I documenti della knowledge base vengono divisi in chunk (segmenti di 200-500 token)
- Ogni chunk viene convertito in un embedding vettoriale usando un modello di embedding
- I vettori vengono archiviati in un database vettoriale (Pinecone, pgvector, Weaviate, Milvus)
Fase 2: Retrieval (a ogni query)
- La domanda dell'utente viene convertita in un vettore con lo stesso modello di embedding
- Il database vettoriale trova i chunk più simili semanticamente alla domanda (top-k nearest neighbors)
- I chunk recuperati vengono classificati per rilevanza e pertinenza
Fase 3: Augmentation e Generation
- I chunk recuperati vengono inseriti nel contesto dell'LLM insieme alla domanda originale
- L'LLM genera una risposta basata sia sulla domanda che sulle informazioni recuperate
- La risposta include riferimenti alle fonti (citazioni dei chunk usati)
Varianti RAG
Naive RAG — L'architettura base descritta sopra. Funziona bene per use case semplici.
Advanced RAG — Aggiunge: query expansion (riformulazione della domanda per migliorare il retrieval), re-ranking (secondo passaggio di classificazione con modelli più accurati), hybrid search (combina ricerca vettoriale e full-text BM25).
Modular RAG — Architettura componibile che permette di sostituire ogni modulo (chunking, embedding, retrieval, generation) indipendentemente — maggiore flessibilità per use case complessi.
GraphRAG — Usa un knowledge graph invece di (o in aggiunta a) una knowledge base vettoriale — particolarmente efficace per domande che richiedono ragionamento su relazioni tra entità.
Applicazioni Business
Knowledge management (grandi aziende italiane) — ENI e Pirelli hanno migliaia di documenti tecnici, procedure operative, normative di sicurezza e report interni. Il RAG permette ai dipendenti di interrogare questa knowledge base in linguaggio naturale: "Qual è la procedura di emergenza per lo sversamento di idrocarburi nello stabilimento di Taranto?" — e ottenere una risposta accurata con riferimenti alle procedure ufficiali.
Legal e compliance (banche e assicurazioni) — Intesa Sanpaolo usa sistemi RAG per permettere ai legali interni di interrogare l'archivio di giurisprudenza e contratti aziendali. La risposta include citazioni specifiche con riferimento al documento e alla pagina.
Customer service (utility e TLC) — I chatbot di customer service di Enel, A2A e Telecom Italia usano RAG per rispondere a domande sui contratti specifici dei clienti, sulle tariffe in vigore, e sulle procedure di assistenza — senza dover addestrare il modello sui dati di ogni singolo cliente.
Recruiting (knowledge base HR) — I team HR usano sistemi RAG per interrogare la documentazione interna su policy di benefit, livelli contrattuali, procedure di colloquio — riducendo il tempo speso in ricerche manuali nei documenti.
RAG vs Fine-Tuning vs Prompt Engineering
| RAG | Fine-Tuning | Prompt Engineering | |
|---|---|---|---|
| Dati aggiornabili | Sì (aggiorna il database) | No (richiede re-training) | Sì (nel contesto) |
| Costo | Medio | Alto | Basso |
| Rischio data leakage | Basso | Alto (dati nel modello) | Basso |
| Citazioni di fonti | Sì | No | Solo se esplicitato |
| Limite di contesto | Supera con retrieval | Non applicabile | Limitato dalla finestra |