Far rispondere un'IA ai propri documenti: come funziona il RAG
La maggior parte dei progetti di IA in azienda poggia su una stessa tecnica: individuare i passaggi giusti nei documenti dell'organizzazione, poi chiedere al modello di rispondere a partire da essi. Ecco come funziona, dove sbaglia e perché i documenti sensibili conviene tenerli in sede.
Una fonte corretta, una risposta sbagliata
Un passeggero interroga l'assistente conversazionale del sito di Air Canada sulle tariffe riservate ai viaggi per lutto. L'assistente gli spiega che può pagare il biglietto a prezzo pieno e chiedere la riduzione a posteriori, entro 90 giorni. Nello stesso messaggio fornisce un link alla pagina ufficiale della compagnia. Quella pagina dice l'opposto: la tariffa per lutto non si applica alle richieste presentate dopo il viaggio.
Il tribunale di risoluzione delle controversie civili della Columbia Britannica ha deciso nel febbraio 2024. Air Canada sosteneva che il proprio assistente fosse un'entità distinta, responsabile delle proprie affermazioni; il tribunale ha giudicato l'argomento « notevole » e lo ha respinto. La compagnia ha dovuto versare la differenza tra il prezzo pagato e la tariffa per lutto. Per il tribunale, poco importa che l'informazione provenga da una pagina fissa o da un assistente: l'azienda risponde di ciò che figura sul proprio sito.
L'episodio riassume il problema che la generazione aumentata dal recupero, o RAG, da retrieval-augmented generation, cerca di risolvere. Il documento esatto esisteva. Mancava un sistema che rispondesse a partire da esso e che mostrasse da dove proviene ogni affermazione.
Il principio: un esame a libro aperto
Il termine compare nel 2020 in un articolo firmato da Patrick Lewis e da undici coautori, presentato alla conferenza NeurIPS. Gli autori vi distinguono due memorie. La memoria parametrica è quella che il modello ha assorbito durante l'addestramento, inscritta nei suoi parametri. La memoria non parametrica è un indice esterno, nel loro esperimento una versione di Wikipedia, che il sistema consulta nel momento in cui risponde. La loro conclusione: la combinazione delle due produce testi più precisi e più fattuali del solo modello.
Il paragone più eloquente è quello dell'esame. Uno studente che ha imparato tutto a memoria risponde in fretta, ma sbaglia su ciò che ha ricordato male e ignora tutto ciò che è cambiato dopo il ripasso. Uno studente autorizzato ad aprire il proprio raccoglitore cerca prima la pagina giusta, poi scrive a partire da ciò che legge. Il RAG pone il modello linguistico nella situazione del secondo.
La CNIL riassume l'interesse del metodo: produce risposte arricchite da dati esterni, più specifiche e più facili da aggiornare del modello stesso. È il punto decisivo per un'azienda. Riaddestrare un modello sui propri documenti costa caro e va rifatto a ogni aggiornamento. L'ANSSI aggiunge un argomento di sicurezza: una volta che i dati sono integrati nell'addestramento, diventa impossibile applicarvi diritti di accesso, mentre i documenti conservati accanto al modello possono restare soggetti alle consuete regole su chi vede cosa.
In concreto, un RAG concatena quattro operazioni: preparare i documenti, convertirli in coordinate, recuperare i passaggi utili, poi redigere una risposta che li citi.
Fase 1: preparare e suddividere i documenti
Tutto comincia con l'estrazione del testo. Un file di videoscrittura o una pagina web si leggono facilmente; un PDF scansionato richiede il riconoscimento dei caratteri, una tabella o uno schema richiedono un trattamento particolare. Questo lavoro ingrato determina buona parte della qualità finale: un testo estratto male darà risposte sbagliate, quale che sia la potenza del modello.
Il testo viene poi suddiviso in blocchi di alcuni paragrafi, che gli addetti ai lavori chiamano chunk. La suddivisione è necessaria perché la ricerca deve indicare un passaggio preciso, non un rapporto di duecento pagine. Crea anche una trappola, ben descritta da Anthropic in una pubblicazione di settembre 2024: un blocco isolato perde il proprio contesto. L'esempio scelto è quello di un rapporto finanziario di cui un estratto indica che il fatturato è cresciuto del 3% nel trimestre, senza precisare di quale azienda né di quale trimestre si tratti.
I rimedi sono noti. Si fanno sovrapporre leggermente i blocchi, si rispettano titoli e articoli anziché spezzare a metà frase, e si aggiunge a ciascun blocco una breve descrizione del suo contesto: documento d'origine, sezione, data. Questi metadati serviranno in seguito a filtrare, a citare e a controllare gli accessi.
Fase 2: tradurre il significato in coordinate
Ogni blocco passa poi in un modello di embedding, distinto dal modello che redigerà la risposta. Il suo ruolo è trasformare un testo in un elenco di numeri, un vettore, che rappresenta il suo significato. Due passaggi che parlano della stessa cosa, anche con parole diverse, ottengono vettori vicini.
L'immagine più corretta è quella di una mappa. Ogni passaggio riceve delle coordinate, non su due assi come una latitudine e una longitudine, ma su centinaia o migliaia di dimensioni. Su questa mappa, « preavviso di dimissioni » si trova vicino a « termine da rispettare prima di lasciare l'azienda », benché le due formule non abbiano quasi nessuna parola in comune. È ciò che distingue la ricerca semantica dalla ricerca per parole chiave di un motore interno classico.
Questi vettori sembrano astratti. Lo sono meno di quanto si creda. In un articolo presentato alla conferenza EMNLP 2023, dei ricercatori hanno mostrato che era possibile ricostruire esattamente il 92% di testi brevi, di 32 token, a partire dai soli embedding, ritrovando così nomi completi in note cliniche. Un indice vettoriale va quindi protetto con la stessa cura dei documenti da cui è tratto.
Fase 3: archiviare, poi recuperare
I vettori sono conservati in un database vettoriale, insieme al testo d'origine e ai suoi metadati. Quando un utente pone una domanda, questa viene convertita in vettore dallo stesso modello di embedding, poi il database cerca i blocchi le cui coordinate sono più vicine. Il principio ricorda quello di un bibliotecario che, invece di cercare la parola esatta nei titoli, va dritto allo scaffale dove si trovano le opere che trattano l'argomento.
La sola ricerca semantica ha i suoi punti deboli. Può mancare un riferimento esatto, un numero di contratto o un codice di articolo, che una ricerca per parole chiave trova senza difficoltà. I sistemi seri combinano quindi le due, poi aggiungono spesso una fase di riordinamento: un secondo modello rilegge i candidati selezionati e li ordina in base alla loro reale pertinenza rispetto alla domanda posta.
Anthropic ha quantificato l'effetto di questi miglioramenti sui propri set di test. Con una semplice ricerca vettoriale, l'informazione giusta mancava dai primi venti risultati nel 5,7% dei casi. Aggiungendo contesto a ogni blocco, questo tasso scendeva al 3,7%. Combinato con una ricerca per parole chiave di tipo BM25, scendeva al 2,9%, poi all'1,9% con il riordinamento. Sono misure di un fornitore sui propri dati, ma l'ordine di grandezza mostra che è la ricerca, più della redazione, a fare la qualità di un RAG.
Fase 4: redigere la risposta e citare le fonti
I pochi passaggi selezionati vengono inseriti nell'istruzione inviata al modello linguistico, insieme alla domanda e a indicazioni esplicite: rispondere soltanto a partire dagli estratti forniti, indicare per ogni affermazione il documento e la pagina, e dire chiaramente quando l'informazione non è presente. Il modello redige allora una risposta in linguaggio corrente, e l'interfaccia mostra i link ai passaggi citati.
La citazione cambia la natura dello strumento. Senza di essa, l'utente deve credere alla macchina sulla parola. Con essa, può verificare con un clic, e l'organizzazione può ricostruire a posteriori l'origine di una risposta contestata. Nel caso di Air Canada il link era presente ma contraddiceva il testo; un sistema ben regolato deve produrre una risposta fedele alla fonte che cita, e l'utente deve avere il riflesso di aprirla.
Non bisogna nemmeno sommergere il modello di estratti. Uno studio pubblicato nel 2023 nelle Transactions of the Association for Computational Linguistics, con il titolo « Lost in the Middle », ha mostrato che i modelli sfruttano meglio un'informazione collocata all'inizio o alla fine del testo che viene loro fornito, e nettamente peggio quando si trova nel mezzo. Meglio pochi passaggi pertinenti che una pila di passaggi approssimativi.
Il RAG, del resto, non è sempre necessario. Anthropic osserva che al di sotto di circa 200.000 token, cioè all'incirca 500 pagine, può essere più semplice inserire l'intera base nell'istruzione, purché il modello accetti una finestra di contesto così lunga. Per un regolamento interno e alcune procedure, la domanda si pone. Per l'archivio di uno studio professionale, non si pone.
Perché quasi tutti i progetti partono da qui
Un modello linguistico, per quanto eccellente, non conosce né le procedure interne di un'azienda, né i suoi contratti, né le sue schede prodotto, né la cronologia delle sue pratiche. Il RAG è il modo più diretto di dargli accesso a questa conoscenza senza modificarlo. Aggiungere un documento equivale a indicizzarlo; rimuovere una versione obsoleta equivale a eliminarla dall'indice. L'operazione rientra nella gestione documentale, non in un nuovo addestramento.
Gli usi si assomigliano da un settore all'altro. Un ufficio risorse umane risponde alle domande ricorrenti dei dipendenti sul contratto collettivo o sulle ferie. Un servizio clienti ritrova la scheda tecnica giusta. Un ufficio legale interroga una base di contratti per individuare le clausole di recesso. Un ente locale aiuta i propri funzionari a orientarsi tra delibere e regolamenti accumulati negli anni. In ciascuno di questi casi, il valore sta meno nella redazione che nella capacità di ritrovare il passaggio giusto.
Le allucinazioni diminuiscono, non scompaiono
Il RAG viene spesso presentato come il rimedio alle risposte inventate. Uno studio del RegLab e dell'istituto HAI dell'Università di Stanford, pubblicato nel maggio 2024 e condotto su oltre 200 questioni giuridiche, ridimensiona fortemente questa promessa. Gli strumenti di ricerca giuridica di LexisNexis e Thomson Reuters, basati sul RAG e alcuni dei quali dichiaravano l'assenza di allucinazioni, producevano informazioni errate in oltre il 17% dei casi per Lexis+ AI e Ask Practical Law AI, e in oltre il 34% dei casi per Westlaw AI-Assisted Research. GPT-4 usato da solo faceva nettamente peggio, con il 58-82% di errori su questo tipo di domande.
Gli autori rilevano diverse cause: una ricerca che riporta testi non applicabili, una difficoltà propria del ragionamento giuridico, e la tendenza del modello ad assecondare la domanda, anche quando poggia su una premessa falsa. Il RAG sposta dunque il rischio più di quanto lo elimini. Se la ricerca riporta il passaggio sbagliato, il modello redige una risposta fluida a partire dal passaggio sbagliato.
Le protezioni sono soprattutto organizzative. Si costituisce un insieme di domande reali di cui si conoscono le risposte corrette, e si misura il sistema su di esso prima di distribuirlo, poi a ogni modifica. Lo si autorizza a rispondere che non sa. Si riserva una validazione umana alle risposte che impegnano l'organizzazione. Nell'accompagnare un progetto di France Travail, la CNIL insisteva su quest'ultimo punto: formare gli operatori perché individuino gli errori, e lasciare loro il tempo di discostarsi dal suggerimento dello strumento.
Diritti di accesso: l'assistente vede ciò che vede l'indice
Il rischio più sottovalutato non è l'errore, è la fuga interna. Se tutti i documenti di un'organizzazione sono indicizzati in un'unica base, un tirocinante può chiedere all'assistente lo stipendio del proprio direttore e ottenere un estratto di busta paga. Il modello non ha forzato nulla; ha letto ciò che la base gli ha trasmesso.
L'ANSSI ne fa un requisito esplicito: un sistema di IA deve rispettare, nelle sue risposte, le restrizioni di accesso proprie di ciascun utente. Precisa che è fattibile per i documenti conservati accanto al modello, in base alle capacità dello strumento di archiviazione, e raccomanda di rivedere regolarmente i diritti configurati, per esempio ogni mese. Microsoft, nella documentazione di preparazione a Copilot, lo formula a modo suo: l'assistente rispetta i permessi esistenti, il che equivale a mettere in luce tutte le condivisioni troppo ampie accumulate nel corso degli anni. L'editore ricorda del resto che le impostazioni di condivisione di SharePoint sono, per impostazione predefinita, le più permissive.
L'OWASP, fondazione di riferimento per la sicurezza delle applicazioni, dedica nell'edizione 2025 della sua classifica dei dieci principali rischi legati ai modelli linguistici una categoria alle debolezze di vettori ed embedding. Vi si trovano le fughe tra utenti o clienti che condividono uno stesso database vettoriale, l'avvelenamento della base tramite documenti trappola e l'inversione degli embedding citata in precedenza. L'esempio riportato parla da sé: un CV contenente, in testo bianco su sfondo bianco, un'istruzione destinata a far raccomandare il candidato dal sistema di selezione. Ogni documento indicizzato finirà sotto gli occhi del modello; bisogna sapere da dove proviene.
La conseguenza pratica è semplice da enunciare e lunga da attuare. Ogni blocco indicizzato deve portare i diritti del documento d'origine, la ricerca deve filtrare in base all'identità della persona che interroga, e ogni consultazione deve essere registrata.
Documenti obsoleti, risposte obsolete
Un RAG risponde a partire da ciò che gli è stato affidato. Se l'indice contiene la circolare del 2019 e quella che l'ha sostituita, può citare l'una o l'altra con la stessa sicurezza. Il caso è frequente nelle organizzazioni in cui i documenti si accumulano senza mai essere ritirati: vecchi listini, procedure abbandonate, modelli di contratto superati.
Il rimedio è documentale prima che tecnico. Bisogna designare un responsabile per ogni corpus, datare i documenti, archiviare ciò che viene sostituito, e fare in modo che l'indice segua automaticamente aggiunte, modifiche ed eliminazioni. Microsoft stessa raccomanda di archiviare i siti inattivi perché il suo assistente si basi su contenuti aggiornati. Sul fronte dell'interfaccia, mostrare la data di ogni fonte citata permette di individuare a colpo d'occhio una risposta fondata su un testo datato.
Perché eseguirlo in locale per documenti sensibili
Un RAG tratta, per costruzione, i documenti più preziosi dell'organizzazione. Con un servizio online, questi documenti, i loro vettori, le domande degli utenti e le risposte transitano o soggiornano presso il fornitore. Nelle sue domande e risposte di luglio 2024 sull'IA generativa, la CNIL raccomanda di privilegiare un'installazione in sede quando si trattano dati personali o sensibili, per limitare i rischi di estrazione da parte di terzi. L'ANSSI, nella raccomandazione R34, sconsiglia gli strumenti di IA generativa online per qualsiasi uso professionale che implichi dati sensibili.
Il servizio pubblico ne offre un esempio documentato. Nell'ambito del suo sandbox dedicato all'IA nei servizi pubblici, la CNIL ha accompagnato nel 2024 il progetto « Conseils Personnalisés » di France Travail, uno strumento che suggerisce corsi di formazione ai consulenti a partire da un RAG alimentato dal catalogo formativo e dal profilo della persona in cerca di lavoro. Il modello scelto, Mixtral di Mistral AI, era installato in sede. La CNIL sottolinea nelle sue raccomandazioni che un modello utilizzato nell'ambiente del fornitore presenta rischi di perdita di riservatezza dei dati personali.
Per alcune professioni, la questione tocca il segreto professionale. L'articolo 226-13 del Code pénal francese punisce con un anno di reclusione e 15.000 euro di ammenda la rivelazione di un'informazione di carattere segreto da parte di chi ne è depositario in ragione della propria professione. Gli studi legali e i commercialisti sono interessati in primo luogo. Un ufficio risorse umane che indicizza fascicoli individuali, un ente locale che tratta richieste di aiuto sociale, maneggiano a loro volta dati personali la cui divulgazione arrecherebbe un danno reale alle persone.
Il locale presuppone che l'intera catena resti in sede: l'estrazione del testo, il modello di embedding, il database vettoriale, il modello linguistico e i registri. Tenere il modello in casa affidando i vettori a un servizio esterno protegge poco, poiché quei vettori consentono di ricostruire una parte dei testi. In cambio, l'organizzazione si fa carico dell'esercizio: backup, aggiornamenti, sorveglianza degli accessi.
Da dove cominciare
Un primo progetto riuscito si regge su poche cose: un corpus limitato e ben tenuto, per esempio le procedure di un ufficio, diritti di accesso chiari, un insieme di domande reali per misurare la qualità, e utenti che sanno di dover aprire le fonti citate. Le difficoltà raramente vengono dal modello. Vengono dai documenti, dal loro stato, dalle loro versioni e dalla questione di chi abbia il diritto di leggerli.
È l'approccio adottato da HOMN: i documenti, l'indice e il modello restano entro le mura dell'organizzazione, e il ricorso a un servizio esterno resta una scelta esplicita. Quale che sia lo strumento scelto, la qualità delle risposte dipenderà innanzitutto da quella del corpus e dal rigore dei diritti.
Che cos'è il RAG?
Il RAG, da retrieval-augmented generation, cioè generazione aumentata dal recupero, è una tecnica che cerca per prima cosa i passaggi pertinenti in una base di documenti, poi chiede a un modello linguistico di rispondere a partire da tali passaggi. Permette di interrogare i propri documenti senza riaddestrare il modello e di citare la fonte di ogni risposta.
Il RAG elimina le allucinazioni?
No, le riduce senza eliminarle. Uno studio di Stanford pubblicato nel 2024 ha misurato oltre il 17% di risposte errate su strumenti giuridici commerciali basati sul RAG. Se la ricerca riporta un passaggio sbagliato, il modello redige una risposta fluida a partire da quel passaggio, da cui l'importanza delle citazioni e della verifica umana.
Bisogna addestrare un'IA sui propri documenti perché li conosca?
In generale no. Il RAG lascia il modello com'è e gli fornisce gli estratti utili al momento di ogni domanda, il che permette di aggiornare la base aggiungendo o rimuovendo documenti. Permette inoltre di conservare diritti di accesso per documento, cosa che l'ANSSI ritiene impossibile una volta che i dati sono integrati nell'addestramento.
Si può creare un chatbot sui propri documenti senza inviarli nel cloud?
Sì. L'estrazione del testo, il modello di embedding, il database vettoriale e il modello linguistico possono funzionare tutti su un server installato nei locali dell'organizzazione. È l'opzione che la CNIL raccomanda di privilegiare quando si trattano dati personali o sensibili.