I modelli linguistici di grandi dimensioni (LLM) generati su larga scala hanno trasformato le applicazioni di AI; tuttavia, presentano ancora diversi inconvenienti in quanto la loro conoscenza è statica e può derivare solo dai loro dati di addestramento. È qui che entra in scena la retrieval-augmented generation (RAG).
La RAG potenzia i modelli di AI generativa intervallando il recupero dei dati in tempo reale e assicurando che il processo di recupero produca un output più accurato e tempestivo. Tuttavia, i modelli RAG sono disponibili in diverse forme, adatte principalmente a diverse applicazioni1.
In questo articolo, esploriamo varie tecniche RAG insieme al loro funzionamento, ai punti di forza e ai limiti di ciascun tipo, così come alla loro usabilità nei vari casi d'uso.
Per migliorare l'efficacia e la sostenibilità complessive dei modelli RAG, i sistemi di recupero si sono evoluti da RAG naive a RAG avanzata e RAG modulare per affrontare le sfide in termini di prestazioni, costi ed efficienza. Esploriamo in modo approfondito ogni tecnica RAG.
La RAG naive è un'implementazione di base della retrieval-augmented generation, in cui il recupero delle informazioni e la generazione delle risposte avvengono senza ottimizzazioni o feedback. In questa impostazione semplice, il sistema recupera i dati rilevanti in base a una query, inserendoli poi semplicemente in un modello linguistico (come GPT) per generare la risposta finale2.
La RAG naive si basa su un processo piuttosto semplice in tre fasi, per il recupero e la generazione di contenuti. I seguenti passaggi spiegano come funziona il processo di recupero:
La figura 1 illustra il processo in tre fasi (codifica, recupero e generazione della risposta) del funzionamento della RAG naive.
La RAG naive è più adatta agli scenari in cui semplicità, velocità e facilità di implementazione sono fondamentali rispetto alla precisione e alla flessibilità avanzate. La semplicità dell'architettura la rende ideale per creare applicazioni proof-of-concept e consentire un rapido test delle idee senza l'onere di pesanti aggiustamenti del modello. Ad esempio, può essere efficacemente utilizzata in:
a. Chatbot per il supporto clienti: gestione degli scenari di domande e risposte ripetitive e frequenti utilizzando le risposte LLM.
b. Riepilogo e recupero delle informazioni: fornire un livello base di riepilogo utilizzando tecniche di elaborazione del linguaggio naturale.
c. Sistemi AI per le imprese: recupero rapido dei dati pertinenti dai repository per rispondere alle domande più comuni.
Sebbene la RAG naive sia semplice e veloce, la RAG avanzata offre maggiore flessibilità, scalabilità e prestazioni, il che la rende adatta per applicazioni complesse e reali.
Comprendiamo ora cos'è la RAG avanzata e quali soluzioni chiave offre.
La RAG avanzata combina la potenza un migliore recupero e di una migliore generazione attraverso algoritmi sofisticati (una serie di idee, come reranker, LLM ottimizzati e loop di feedback). Questi miglioramenti aumentano la precisione, l'adattabilità e le prestazioni, rendendo questi modelli la scelta migliore per applicazioni più complesse e adatte alla produzione5.
La RAG avanzata funziona come un processo sequenziale basato sulle seguenti fasi:
1. Elaborazione delle query: alla ricezione di una query dell'utente, questa viene trasformata in un vettore ad alta dimensione, utilizzando il modello di embedding che cattura il significato semantico della query.
2. Recupero di documenti: la query codificata attraversa un enorme knowledge base che supporta il recupero ibrido utilizzando sia la ricerca vettoriale densa che quella sparsa, ovvero la somiglianza semantica e la ricerca basata su parole chiave. I risultati introducono quindi corrispondenze semantiche di parole chiave nei documenti recuperati.
3. Riclassificazione dei documenti recuperati: il retriever fornisce un punteggio finale in base al contesto e in relazione alla query che recupera i documenti.
4. Fusione contestuale per la generazione: poiché ogni documento è codificato in modo diverso, il decodificatore fonde tutti i contesti codificati per garantire che le risposte generate siano coerenti con la query codificata.
5. Generazione di risposte: il generatore di RAG avanzata, solitamente un LLM, come il modello IBM Granite o Llama, fornisce la risposta in base ai documenti recuperati.
6. Ciclo di feedback: la RAG avanzata utilizza varie tecniche come l'apprendimento attivo, l'apprendimento per rinforzo e il co-apprendimento retriever-generator per migliorare continuamente le sue prestazioni. Durante questa fase si verificano segnali impliciti, come clic sui documenti recuperati che ne deducono la pertinenza, dando vita a un feedback esplicito che include correzioni o valutazioni per ulteriori applicazioni durante la generazione. Quindi, nel corso degli anni, queste strategie migliorano il recupero e i processi di generazione delle risposte in modo da poter produrre risposte più accurate e pertinenti 6.
La figura 2 illustra il processo graduale di funzionamento della RAG avanzata.
La RAG avanzata è estremamente versatile per una varietà di applicazioni in tutti i settori, grazie alla funzionalità di recupero delle informazioni in tempo reale e alle risposte dinamiche, accurate e basate sul contesto. La sua applicazione varia, dal supporto al servizio clienti alla fornitura di informazioni pertinenti, migliorando così il processo decisionale e le esperienze di apprendimento personalizzate. Il recupero e la generazione migliorati tramite RAG avanzata la rendono pratica per le applicazioni in tempo reale, tuttavia la scalabilità e l'usabilità sono inferiori per i casi d'uso a livello di produzione.
La RAG modulare è la variante più avanzata della RAG, in cui il recupero delle informazioni e il modello generativo lavorano in un'architettura lineare aperta e componibile. Questo approccio consente a diversi casi d'uso di ottenere prestazioni migliori in termini di personalizzazione e scalabilità.
Disaggregando l'azione della RAG in moduli, è possibile adattare, eseguire il debug e ottimizzare meglio ogni componente in modo indipendente. Vediamo ora come funziona la RAG modulare nel mondo reale7.
1. Elaborazione delle richieste degli utenti: il primo passo consiste nell'invio di una richiesta da parte dell'utente, ad esempio: "Qual è il libro più di tendenza sul mercato in questi giorni?" Un modulo di elaborazione delle query trasforma quindi l'input che potrebbe includere la riformulazione della query, la rimozione delle ambiguità e l'esecuzione dell'analisi semantica per fornire un contesto più informato prima che dell'invio per il recupero.
2. Modulo di recupero: il modulo di recupero elabora la query sul database vettoriale o sulla knowledge base per ottenere i documenti pertinenti. Esegue il recupero utilizzando il paradigma di somiglianza basato sull'embedding.
3. Modulo di filtraggio e classificazione: i documenti recuperati vengono poi filtrati utilizzando i metadati, la ricorrenza o la rilevanza. Un modello di reranking assegna punteggi e assegna una priorità alle informazioni più utili.
4. Modulo di aumento del contesto: questo modulo alimenta le informazioni recuperate con grafici di conoscenza, incorpora dati strutturati provenienti da database e API e applica la compressione del recupero per ottenere il miglior recupero possibile dei contenuti.
5. Generazione di risposte: il modello LLM elabora la richiesta dell'utente insieme al contesto recuperato per generare una risposta coerente e accurata, riducendo al minimo le allucinazioni e garantendo la pertinenza.
6. Modulo di post-elaborazione: questo modulo garantisce l'accuratezza attraverso la verifica dei fatti, migliora la leggibilità con una formattazione strutturata e aumenta la credibilità generando citazioni.
7. Output e ciclo di feedback: l'output finale della risposta viene presentato all'utente mentre dalla sua interazione viene creato un ciclo di feedback per aiutare a perfezionare il recupero e le prestazioni del modello nel tempo.
La figura 3 illustra il processo graduale di funzionamento della RAG modulare.
La RAG avanzata si adatta ai casi d'uso in cui l'applicazione richiede un'immensa personalizzazione, ad esempio tecniche di recupero e classificazione specifiche del dominio. La scalabilità e la facilità di manutenzione sono importanti per le applicazioni che coinvolgono sistemi su larga scala e vi è una sperimentazione continua con diversi modelli e strategie di recupero8.
Sebbene la RAG naive sia semplice e veloce, la RAG modulare, spesso creata con framework come LangChain, offre maggiore flessibilità, scalabilità e prestazioni, il che la rende più adatta per applicazioni complesse e reali. La RAG avanzata migliora l'accuratezza recuperando informazioni specifiche del contesto in tempo reale, riducendo così al minimo gli errori. Si adatta dinamicamente, incorporando il feedback degli utenti attraverso l'apprendimento attivo e l'apprendimento per rinforzo (RLHF). Inoltre, rafforza le conoscenze specifiche del dominio integrando database specializzati. Ottimizza anche la finestra di contesto dell'LLM recuperando solo i dati più pertinenti e migliorando così l'efficienza. Tuttavia, i sistemi RAG avanzati incontrano sfide come le richieste di elaborazione e latenza più elevate dovute ai processi di recupero e generazione. Richiedono risorse significative per gestire ampie knowledge base e comportano un'implementazione e una manutenzione complesse, in particolare per la messa a punto di retriever, modelli di classificazione e generatori di risposte. In questo spazio eccellono le architetture RAG modulari sviluppate utilizzando LangChain. Il loro design modulare consente una personalizzazione flessibile e la messa a punto o la sostituzione dei singoli componenti, come retriever, ranker e generatori, in modo indipendente. Questo metodo migliora la facilità di manutenzione, semplificando il debug e gli aggiornamenti senza interrompere l'intero sistema. La scalabilità si ottiene distribuendo i moduli su varie risorse, mentre i costi vengono gestiti ottimizzando i processi di recupero e riducendo al minimo l'utilizzo di LLM 9, 10.
È in corso lo sviluppo attivo di sistemi di recupero che utilizzano tecniche avanzate di prompt engineering e metodi di messa a punto per migliorare i modelli RAG per la generazione di contenuti ad alta precisione, al fine di garantire prestazioni e scalabilità migliori.
I futuri progressi negli approcci self-RAG, nei modelli AI multimodali e nelle metriche migliorate continueranno a perfezionare il processo di recupero, garantendo una migliore gestione del contesto aggiuntivo nelle interazioni in linguaggio naturale.
1. Gao, Y., Zhang, Z., Peng, M., Wang, J., & Huang, J. (2023). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv preprint arXiv:2312.10997.
2. Wu, S., Wang, D., Lin, Z., Yang, Y., Li, H., & Li, Z. (2024). Retrieval-Augmented Generation for Natural Language Processing: A Survey. arXiv preprint arXiv:2407.13193.
3. Huang, Y., & Huang, J. (2024). A Survey on Retrieval-Augmented Text Generation for Large Language Models. arXiv preprint arXiv:2404.10981.
4. Li, S., Stenzel, L., Eickhoff, C., & Bahrainian, S. A. (2025). Enhancing Retrieval-Augmented Generation: A Study of Best Practices. Proceedings of the 31st International Conference on Computational Linguistics, 6705–6717.
5. Sakar, T., & Emekci, H. (2024). Maximizing RAG Efficiency: A Comparative Analysis of RAG Methods. Natural Language Processing, 1–15.
6. Su, W., Tang, Y., Ai, Q., Wu, Z., & Liu, Y. (2024). DRAGIN: Dynamic Retrieval Augmented Generation based on the Information Needs of Large Language Models. arXiv preprint arXiv:2403.10081.
7. Gao, Y., Xiong, Y., Wang, M., & Wang, H. (2024). Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks. arXiv preprint arXiv:2407.21059.
8. Shi, Y., Zi, X., Shi, Z., Zhang, H., Wu, Q., & Xu, M. (2024). Enhancing Retrieval and Managing Retrieval: A Four-Module Synergy for Improved Quality and Efficiency in RAG Systems. arXiv preprint arXiv:2407.10670.
9. Zhu, Y., Yang, X., Zhang, C., & Dou, Z. (2024). Future Trends and Research Directions in Retrieval-Augmented Generation. Computational Intelligence and Neuroscience, 2024, 1–15.
10. Atos. 2024. A Practical Blueprint for Implementing Generative AI Retrieval-Augmented Generation. Atos. Consultato il 12 febbraio 2025.
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.