Come funziona la RAG
Un sistema RAG ha due parti.
Prima che qualcuno chieda: indicizzazione
I documenti vengono raccolti da dove si trovano, come un archivio documentale, una wiki o un sistema di ticket. Vengono divisi in chunk, di solito di non più di qualche centinaio di token ciascuno. Ogni chunk viene trasformato in un embedding, una lista di numeri che ne cattura il significato, e conservato in un indice di ricerca, spesso accanto a un indice per parole chiave.
Quando qualcuno chiede: recupero e generazione
La domanda viene cercata nell'indice. I passaggi più pertinenti vengono recuperati, spesso riordinati da un secondo modello, e inseriti nel prompt insieme alla domanda e a istruzioni come "rispondi solo a partire da questi passaggi e citali". Il modello scrive la risposta e l'applicazione mostra le fonti accanto.
Opzioni di architettura RAG
| Opzione | Come funziona | Dove è adatta |
|---|---|---|
| Ricerca vettoriale | Trova i passaggi vicini per significato alla domanda, usando gli embedding | Domande formulate in modo diverso dai documenti. Può non trovare termini esatti come codici e nomi |
| Ricerca ibrida | Esegue insieme la ricerca per parole chiave (BM25) e quella vettoriale e ne unisce i risultati | Una buona scelta di partenza per i contenuti aziendali, che mescolano prosa, codici, nomi e numeri |
| Re-ranking | Un secondo modello riordina i primi risultati per pertinenza | Raccolte ampie in cui la prima ricerca restituisce molti risultati quasi giusti |
| Contextual retrieval | Aggiunge a ogni chunk una breve descrizione del suo documento prima dell'indicizzazione | Chunk che fuori contesto perdono significato, come una clausola o la riga di una tabella |
| Long context | Inserisce documenti interi nella finestra di contesto del modello invece di cercare | Insiemi di documenti piccoli e stabili. Costa di più per domanda |
Nei test di Anthropic gli embedding contestuali combinati con la ricerca per parole chiave BM25 e il re-ranking hanno ridotto del 67% la frequenza con cui il passaggio giusto mancava dai primi 20 risultati. Azure AI Search, ad esempio, esegue in parallelo query per parole chiave e vettoriali e le unisce con la Reciprocal Rank Fusion, un modo comune di costruire la ricerca ibrida.
Prima di costruire un indice verificate che cosa offre già la vostra piattaforma AI. Claude, ad esempio, può lavorare con fonti collegate come Google Drive o Microsoft 365 tramite connettori, e spesso basta come primo passo.
Limiti della RAG e come gestirli
- Passaggi non trovati. Dividere i documenti può separare un passaggio dal contesto che gli dà significato e gli embedding possono non cogliere corrispondenze esatte che la ricerca per parole chiave trova. La ricerca ibrida e il contextual retrieval riducono entrambi i problemi.
- Contenuti non aggiornati. Un indice è una copia. Quando i documenti cambiano, vanno aggiornati insieme ai loro embedding, idealmente in automatico e in background.
- Permessi. L'indice deve rispettare chi può vedere che cosa, così una persona recupera solo i passaggi che è autorizzata a leggere.
- Risposte che vanno oltre le fonti. La RAG riduce le risposte inventate ma non le elimina. Istruzioni a rispondere solo a partire dai passaggi, citazioni che le persone possono verificare e un semplice "non lo so" quando non si trova nulla di pertinente mantengono le risposte oneste.
- Troppo contesto. I modelli possono perdere le informazioni collocate a metà di un prompt lungo: meno passaggi, ma migliori, spesso funzionano meglio di molti.
Per sapere se un sistema RAG funziona bisogna testarlo: un insieme di domande reali con risposte e fonti note, misurando sia la qualità del recupero sia quella delle risposte, prima e dopo ogni modifica.
RAG, fine-tuning e long context
| Approccio | Che cosa cambia | Usatelo per |
|---|---|---|
| RAG | Ciò che il modello può vedere quando risponde | Conoscenza che cambia, è ampia o richiede citazioni |
| Fine-tuning | Come si comporta il modello, tramite un addestramento aggiuntivo | Uno stile, un formato o un compito costante, non fatti che cambiano |
| Long context | Quanto legge il modello in una richiesta | Pochi documenti alla volta, come un contratto o un report |
Si combinano bene: un modello può essere ottimizzato per un formato, usare la RAG per la conoscenza e leggere un documento intero quando viene allegato.
Dove le aziende usano la RAG
- Policy e HR: risposte su ferie, note spese o regole di sicurezza, con il link alla policy.
- Assistenza clienti: risposte preparate a partire dalla knowledge base e dai ticket passati, che una persona invia.
- Legale e compliance: ricerca tra contratti, clausole e normative, con ogni passaggio citato.
- Documentazione tecnica: risposte per ingegneri e tecnici sul campo a partire da manuali e specifiche.
- Vendite: dati di prodotto e testi di proposte passate, per un'opportunità specifica.
Fonti
- Lewis et al.: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020
- Anthropic: Introducing Contextual Retrieval, 19 settembre 2024
- Microsoft: Hybrid search in Azure AI Search
- AWS: What is retrieval-augmented generation?
- Liu et al.: Lost in the Middle: How Language Models Use Long Contexts