IA sui documenti dell'azienda (RAG), anche in ungherese
Secondo Mesterséges Intelligencia Központ Kft., azienda di sviluppo software con sede a Budapest, la RAG dà risposte verificabili a partire dai documenti dell'azienda: il sistema cerca prima i passaggi pertinenti, e il modello risponde da questi, con le fonti, anche in ungherese.
In sintesi: non serve addestrare il modello sui propri dati: la RAG gli fornisce i passaggi pertinenti al momento della domanda, e la risposta indica la fonte. La qualità dipende da quanto sono ordinati i documenti, dalla precisione della ricerca e dalla misurazione continua; funziona anche in ungherese, ma va misurata sulle proprie domande in ungherese.
Che cos'è la RAG, e da dove viene il termine?
RAG è l'acronimo di retrieval-augmented generation, in italiano grosso modo generazione di testo integrata da una ricerca. Il termine nasce da uno studio pubblicato nel 2020 da Patrick Lewis e coautori, intitolato «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». Gli autori hanno collegato la cosiddetta memoria parametrica di un modello linguistico preaddestrato a una memoria non parametrica: un indice vettoriale denso di Wikipedia, interrogato da un sistema di ricerca neurale.
Oggi il termine indica, in senso più ampio, la soluzione in cui il sistema, per ogni domanda, cerca prima i passaggi necessari in una raccolta di documenti, e il modello linguistico formula la risposta a partire da questi. Le conoscenze proprie del modello nel frattempo non cambiano: il materiale dell'azienda lo riceve al momento della domanda. Da qui derivano i tre vantaggi pratici della RAG: le conoscenze si possono aggiornare subito, la risposta può indicare la propria fonte, e nella ricerca si può filtrare ciò che chi pone la domanda è autorizzato a vedere.
Come funziona? Sei passi
- Raccolta: convogliamo le fonti in un unico punto (archivio documentale, wiki, sistema di ticketing, una parte selezionata della posta elettronica).
- Suddivisione: i documenti lunghi vengono scomposti in parti più piccole (chunk) di qualche paragrafo. Il servizio di ricerca di OpenAI, ad esempio, per impostazione predefinita crea frammenti di al massimo 800 token, con una sovrapposizione di 400 token.
- Embedding: un modello di embedding trasforma ogni frammento in una sequenza di numeri, un vettore. Secondo la descrizione di OpenAI, una piccola distanza tra i vettori indica una forte affinità di contenuto, una grande distanza un'affinità debole.
- Ricerca: lo stesso modello trasforma la domanda in un vettore, e il sistema cerca i frammenti più vicini. Nella sua descrizione della Contextual Retrieval, Anthropic integra la ricerca per significato con la ricerca letterale per parole chiave BM25, perché questa trova meglio i termini esatti (ad esempio gli identificativi), e poi un passo di riordinamento (reranker) passa al modello solo i frammenti più pertinenti.
- Filtro e composizione: tra i frammenti trovati restano solo quelli che anche chi pone la domanda può vedere, e questi vengono sottoposti al modello insieme alla domanda.
- Risposta con le fonti: il modello risponde a partire dai passaggi ricevuti e indica da dove ha preso ogni affermazione. La funzione citations di Anthropic rimanda al numero di pagina per i PDF e alla posizione dei caratteri per il testo semplice; la ricerca nei file di OpenAI aggiunge alla risposta un'annotazione che rimanda al file di origine.
Nella suddivisione un errore frequente è che il frammento perda il proprio contesto, come segnala Anthropic nella stessa descrizione. Da una frase come «Il termine decorre dalla data di ricevimento», presa da sola, non si capisce di quale contratto e di quale termine si tratti. Per questo conviene aggiungere a ogni frammento il titolo del documento, il titolo del capitolo e la data, così che sia la ricerca sia il modello ne vedano il contesto.
RAG o fine-tuning?
Il fine-tuning (affinamento) è l'addestramento ulteriore del modello su dati specifici del compito. Secondo la guida di OpenAI sull'accuratezza, la RAG fornisce il contesto specialistico necessario al compito, e serve quando le conoscenze del modello sono superate o quando il compito richiede informazioni proprie dell'azienda; il fine-tuning, invece, aiuta quando l'output del modello è incoerente, oppure il formato o il tono sono sbagliati. Secondo la guida, i due metodi si completano a vicenda e si possono usare anche insieme.
| Criterio | RAG | Fine-tuning |
|---|---|---|
| A che cosa serve | a trasmettere le conoscenze dell'azienda al momento della domanda | a uniformare il comportamento, il formato e il tono del modello |
| Conoscenze aggiornate | dopo la modifica del documento, valide con l'aggiornamento dell'indice | serve un nuovo addestramento |
| Indicazione delle fonti | la risposta può rimandare al passaggio trovato | alle conoscenze entrate nei pesi del modello non è associata alcuna fonte |
| Permessi | filtrabili per singolo documento | le conoscenze addestrate sono le stesse per ogni utente |
| Ritiro di un documento | il documento esce dall'indice | il suo effetto scompare solo con un nuovo addestramento |
| Quando conviene | per i documenti aziendali è quasi sempre il punto di partenza | quando il problema è la coerenza del formato o del tono, accanto alla RAG |
Per i documenti aziendali, quindi, il punto di partenza naturale è la RAG. La domanda se «bisogna addestrare il modello» il più delle volte significa in realtà: come riceve il modello le conoscenze dell'azienda? La risposta a questo è la RAG.
Anche in ungherese? Supporto linguistico e materiali in più lingue
Il modello che risponde
I modelli dei grandi fornitori capiscono e scrivono bene anche l'ungherese, ma le misurazioni che pubblicano sulle prestazioni linguistiche non sempre includono l'ungherese. La pagina sul supporto multilingue di Anthropic pubblica risultati per 14 lingue diverse dall'inglese, e l'ungherese non è tra queste (verificato il 17 ottobre 2026); la pagina sottolinea però che Claude si può usare in molte lingue oltre a quelle della tabella, raccomanda di eseguire test nelle lingue importanti per l'applicazione e di fissare la lingua della risposta nelle istruzioni di sistema. Anche la nostra esperienza è questa: l'assistente IA basato su Claude della nostra pagina iniziale conversa in ungherese e in altre 13 lingue, ma ogni nuovo utilizzo lo misuriamo su domande in ungherese.
Il modello di embedding
La qualità della ricerca dipende dal modello di embedding almeno quanto dal modello che risponde. Presso i grandi fornitori (verificato il 17 ottobre 2026):
- il modello Gemini Embedding 2 di Google, secondo la documentazione, funziona in oltre 100 lingue;
- Anthropic non offre un proprio modello di embedding, ma cita i modelli di Voyage AI, tra cui voyage-4 è ottimizzato per la ricerca generica e multilingue;
- la guida di OpenAI sugli embedding presenta i modelli text-embedding-3, ma non elenca le lingue supportate.
Per questo scegliamo il modello di embedding sulle coppie domanda–documento in ungherese dell'azienda stessa, non in base alle misurazioni generali del fornitore.
Le particolarità dell'ungherese
- Flessione: «szerződés», «szerződésben» e «szerződéseinkről» (contratto, nel contratto, sui nostri contratti) parlano della stessa cosa, ma la ricerca letterale per parole chiave, senza la riduzione alla radice (stemming), non le considera una corrispondenza. La ricerca per significato aiuta in questo, e la ricerca ibrida combina le due.
- Termini tecnici e nomi interni: le abbreviazioni, i codici prodotto e le denominazioni interne dell'azienda non fanno parte delle conoscenze generali del modello; un breve glossario migliora molto la ricerca.
- Materiale in più lingue: se la domanda è in ungherese e il manuale in inglese, serve un modello di embedding multilingue e va fissata la lingua della risposta; la citazione della fonte resta nella lingua originale.
- Formulazioni quotidiane: tra le domande di test vanno inseriti anche gli errori di battitura, le domande scritte senza accenti e le espressioni colloquiali.
Da quali documenti può lavorare?
| Fonte | A che cosa fare attenzione |
|---|---|
| PDF testuale | si elabora bene; l'indicazione della fonte può rimandare anche al numero di pagina |
| PDF scansionato | serve prima il riconoscimento del testo (OCR): secondo la documentazione di Anthropic, da un PDF scansionato senza testo estraibile non si possono ricavare citazioni |
| Word ed Excel | Anthropic consiglia di convertire in testo i file DOCX e XLSX, la ricerca nei file di OpenAI accetta il DOCX anche direttamente; la struttura delle tabelle va conservata |
| Wiki e intranet | deve valere la versione in vigore, le pagine vecchie vanno archiviate |
| Ticket, helpdesk | contengono molti dati personali e soluzioni superate, perciò vanno filtrati |
| solo in un insieme selezionato e ordinato; è la fonte più delicata dal punto di vista dei dati personali e dei permessi |
Permessi per singolo documento
Il punto più delicato della RAG è che il sistema non può rivelare un passaggio che chi pone la domanda non potrebbe aprire nemmeno nel sistema di origine. Questo non lo affidiamo al modello, ma lo integriamo nella ricerca:
- ogni frammento porta con sé, come metadati, i permessi del documento di origine;
- il filtro avviene prima o durante la ricerca (il servizio di ricerca di OpenAI, ad esempio, offre un filtro per attributi dei file prima della ricerca per significato), così ciò che chi pone la domanda non può vedere non arriva nemmeno al modello;
- le modifiche dei permessi le sincronizziamo dal sistema di origine, invece di gestirle a mano;
- registriamo chi ha chiesto che cosa e da quali documenti ha ricevuto la risposta.
Un indice sempre aggiornato
La RAG è buona solo quanto è aggiornato il suo indice. A che cosa facciamo attenzione:
- Rilevamento delle modifiche: il sistema elabora automaticamente i documenti nuovi e quelli modificati.
- Cancellazione: un documento cancellato alla fonte esce anche dall'indice; secondo la documentazione di OpenAI la rimozione diventa effettiva gradualmente, perciò un file cancellato può ancora comparire per breve tempo tra i risultati.
- Versioni: la distinzione tra la versione in vigore e quella ritirata, con la data nei metadati.
- Responsabile della fonte: ogni fonte ha un responsabile, che segnala quando qualcosa è superato.
- Scadenza: una regola di scadenza per i materiali temporanei; per gli archivi vettoriali (vector store) di OpenAI, ad esempio, si può impostare una scadenza.
Meno risposte errate: fonti, «non lo so», misurazione
Il modello linguistico può sbagliare anche con il materiale fornito. La guida di Anthropic sulla riduzione delle risposte errate raccomanda di dare al modello il permesso esplicito di rispondere «non lo so», di basarsi su citazioni letterali, di cercare per ogni affermazione una citazione che la sostenga (e, se non la trova, di ritirare l'affermazione) e di lavorare solo sui documenti forniti. La guida aggiunge che questi metodi riducono, ma non eliminano del tutto le risposte errate, perciò le informazioni importanti vanno verificate. Noi ci basiamo su questi elementi:
- Indicazione delle fonti: accanto a ogni risposta si vede da quale parte di quale documento proviene.
- «Non lo so» e trasferimento: se la risposta non è nel materiale, il sistema lo dice e passa la domanda a un collaboratore.
- Solo dal materiale fornito: sull'azienda il modello non usa le proprie conoscenze generali.
- Insieme di valutazione: domande reali con la risposta attesa e la fonte corretta. Misuriamo separatamente se la ricerca ha trovato il passaggio giusto e se la risposta vi è fedele; secondo la guida di OpenAI sulla valutazione, nei dati di test devono esserci casi tipici, casi limite e casi volutamente fuorvianti, e la valutazione va ripetuta a ogni modifica.
- Riscontri: gli utenti possono segnalare una risposta sbagliata, e dal registro nascono nuovi casi di test.
Protezione dei dati: dove vengono conservati i documenti?
In un sistema RAG il materiale dell'azienda passa per tre luoghi:
- Il sistema di origine: i documenti restano dove erano (nell'archivio documentale, nella wiki, nella casella di posta).
- L'indice: i frammenti e i vettori in un database di ricerca. Può girare nell'ambiente proprio dell'azienda oppure presso un fornitore. Nella ricerca nei file di OpenAI, ad esempio, i file caricati restano conservati finché non vengono cancellati o finché l'archivio vettoriale non scade (secondo la documentazione sul trattamento dei dati e la guida alla ricerca).
- La chiamata al modello: al modello arrivano solo i frammenti selezionati per la domanda. In questo caso valgono le condizioni del fornitore sul trattamento dei dati; che cosa dicono sull'addestramento, sulla durata della conservazione e sul luogo del trattamento lo riassume l'articolo sul collegamento dei sistemi aziendali con l'IA.
Se nei documenti ci sono anche dati personali, al trattamento si applica il GDPR, e con il fornitore che agisce come responsabile del trattamento serve un contratto ai sensi dell'articolo 28 del regolamento generale sulla protezione dei dati. Delle questioni giuridiche (la trasparenza, il trasferimento dei dati, la valutazione d'impatto) parliamo nell'articolo AI Act e GDPR in un chatbot aziendale. Si tratta di un'informazione, non di una consulenza legale.
Le fasi di un progetto RAG
- Obiettivo e ambito delle domande: chi pone le domande, su che cosa, e che cosa conta come buona risposta.
- Inventario e riordino delle fonti: l'eliminazione dei duplicati e delle versioni contraddittorie o superate.
- Modello dei permessi: chi può ricevere risposte da quale documento.
- Insieme di valutazione: domande reali in ungherese con la risposta e la fonte attese.
- Prototipo: la messa a punto della suddivisione, del modello di embedding e della ricerca in base alle misurazioni.
- Collegamento: l'interfaccia, l'indicazione delle fonti, il trasferimento a un collaboratore e la registrazione delle attività.
- Avvio pilota: con una cerchia ristretta di utenti, raccogliendo i riscontri.
- Gestione: l'aggiornamento dell'indice, la misurazione continua e la verifica dei cambi di modello.
Errori tipici
- L'archivio documentale «così com'è»: se dello stesso regolamento esistono tre versioni, il sistema può citare da una qualsiasi.
- Permessi a posteriori: nella prima dimostrazione si vede tutto, in produzione questo può essere una violazione dei dati personali.
- Risposta senza fonte: l'utente non può verificarla, e non se ne fida.
- Test con domande inventate: le domande della dimostrazione funzionano bene, quelle reali, in ungherese e con errori di battitura, no.
- Caricamento una tantum: senza aggiornamenti la base di conoscenza diventa presto obsoleta.
- PDF scansionati senza riconoscimento del testo: il sistema semplicemente non ne vede il contenuto.
Domande frequenti
Che cos'è la RAG?
La RAG (retrieval-augmented generation, generazione di testo integrata da una ricerca) è una soluzione in cui il sistema, per ogni domanda, cerca prima i passaggi pertinenti nei documenti dell'azienda, e il modello linguistico risponde a partire da questi, indicando la fonte. Il termine nasce da uno studio scientifico del 2020.
Risponde in ungherese a partire dai nostri documenti?
Sì. I grandi modelli linguistici di oggi capiscono e scrivono bene anche l'ungherese e lavorano anche con documenti in ungherese; anche l'assistente IA della nostra pagina iniziale conversa in ungherese. Poiché le misurazioni pubblicate dai fornitori non sempre includono l'ungherese, prima dell'avvio in produzione misuriamo sia il modello che risponde sia il modello di embedding sulle domande in ungherese dell'azienda stessa.
Bisogna addestrare il modello sui nostri dati?
Di norma no. La RAG fornisce al modello i passaggi necessari al momento della domanda, così le conoscenze si possono aggiornare, la fonte si può indicare e i permessi si possono filtrare per singolo documento. Il fine-tuning può entrare in gioco se il formato o il tono delle risposte non è abbastanza coerente, e anche allora accanto alla RAG, non al suo posto.
Che cosa succede se non conosce la risposta?
Lo costruiamo in modo che lo dica e passi la domanda a un collaboratore, invece di inventare qualcosa. Il modello riceve il permesso esplicito di rispondere «non lo so», può lavorare solo sul materiale fornito, e le domande rimaste senza risposta tornano dal registro per ampliare la base di conoscenza.
Dove vengono conservati i nostri documenti?
Nel sistema di origine, come finora; accanto a questo nell'indice di ricerca, che può girare nell'ambiente proprio dell'azienda oppure presso un fornitore; e al modello arrivano, per ogni domanda, solo i passaggi selezionati, secondo le condizioni del fornitore sul trattamento dei dati. Quale soluzione si addica a un'azienda dipende dalla riservatezza dei documenti e dai requisiti di protezione dei dati.
Come possiamo aiutarLa?
Mesterséges Intelligencia Központ Kft. sviluppa chatbot IA che rispondono a partire dai documenti dell'azienda, anche in ungherese, con il metodo RAG e l'indicazione delle fonti, basati sui modelli linguistici di OpenAI (ChatGPT), Anthropic (Claude) e Google (Gemini). La prima consulenza è gratuita; misuriamo la dimensione dello sviluppo in punti funzione COSMIC, e su questa base prepariamo l'offerta e la pianificazione. Su richiesta firmiamo un accordo di riservatezza (NDA) e dopo la consegna ci occupiamo anche dell'aggiornamento della base di conoscenza e del monitoraggio del funzionamento. Il codice sorgente e i diritti d'uso sono regolati dal contratto.
I dettagli sono nelle pagine Chatbot e agenti IA e Integrazione dell'IA; per capire se serve un chatbot o un agente aiuta l'articolo Chatbot o agente IA?. Se sta progettando un sistema che risponda a partire dai documenti della Sua azienda, ci scriva ai recapiti indicati nella pagina Contatti.
Fonti
- arXiv: Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- OpenAI: Vector embeddings
- OpenAI: Retrieval
- OpenAI: File search
- OpenAI: Data controls in the OpenAI platform
- OpenAI: Optimizing LLM Accuracy
- OpenAI: Evaluation best practices
- Anthropic: Embeddings
- Anthropic: Multilingual support
- Anthropic: Citations
- Anthropic: Reduce hallucinations
- Anthropic: Contextual Retrieval
- Google: Gemini API, Embeddings
- EUR-Lex: regolamento (UE) 2016/679 (regolamento generale sulla protezione dei dati, GDPR)