Rag AI: Definizione, Architettura e Vantaggi



    1. Che cos’è la RAG
    2. Differenza fra RAG e altri modelli di AI
    3. Architettura della RAG
    4. I vantaggi della RAG AI
    5. Le sfide dell’implementazione della RAG AI
    6. Tecnologie complementari con la RAG
    7. Moxoff e RAG AI

Una delle tecniche più diffuse nell’ambito dell’intelligenza artificiale generativa è costituita dai Large Language Model (LLM), capaci di offrire risposte rapide e dettagliate alle richieste che vengono presentate alle applicazioni sotto forma di prompt. Ma come fanno le organizzazioni a generare valore attraverso i modelli linguistici di grandi dimensioni?

Come fanno, appunto, a generare valore dove la AI viene preventivamente addestrata senza tenere conto nello specifico dei dati aziendali?
Una risposta a questo fondamentale problema arriva dalla RAG (Retrieval-Augmented Generation).
Vediamo, attraverso l’esperienza di Moxoff, in cosa consiste questo termine sempre più popolare nell’ambito delle applicazioni AI e soprattutto perché e come implementarla nei sistemi aziendali, per valorizzare al meglio il patrimonio di dati a disposizione in un’ampia gamma di applicazioni.

Che cos’è la RAG

RAG è acronimo di Retrieval-Augmented Information e, ancor prima di essere considerata una tecnica di AI, consiste in un approccio architettonico per aumentare l’efficienza di risposta dei modelli linguistici. Un approccio che entra in gioco quando si ha l’obiettivo di estrarre informazioni a partire dai dati specifici di ogni organizzazione. Dati che non vengono inclusi nell’addestramento di base degli LLM stessi.
In altri termini, grazie alla RAG è possibile integrare a qualsiasi LLM commerciale o open source quella conoscenza specifica che rende il modello di linguaggio capace di generare una risposta ad una query in grado di prendere in considerazione anche lo scenario specifico dell’organizzazione. Il tutto ottenendo quel livello di personalizzazione necessario a supportare chatbot ed altre applicazioni che sfruttano le funzioni di linguaggio naturale.
In caso contrario, il LLM cercherebbe di generare la propria risposta sulla base dell’enorme base di dati generalista con cui è stato addestrato dal suo sviluppatore, ma rischierebbe di generare informazioni non accurate. Nella peggiore delle ipotesi potrebbe portare a vere e proprie allucinazioni, dovute alla mancanza di specificità del contesto aziendale a cui ci si riferisce quando si effettua una query.
La RAG è una tecnica di AI recente, databile nel 2020, quando Patrick Lewis pubblicò il paper Retrieval-Augmented Generation for Knoweledge-Intensive NLP Talks. Un titolo eloquente, che descrive in maniera efficace l’obiettivo di fare in modo che i LLM possano generare risposte efficaci senza procedere ad un vero e proprio processo di retraining, comprendente nello specifico i dati, strutturati e non, dell’organizzazione che li utilizza.

Differenza fra RAG e altri modelli di AI

La RAG non costituisce l’unico approccio architetturale per fornire agli LLM i dati di scenario non compresi nel training originale del modello. Ad oggi potremmo richiamarne almeno altri tre, in seguito elencati in ordine di onere crescente.

  1. Ingegneria del prompt (prompt engineering): consiste nel creare prompt personalizzati per guidare il comportamento dei LLM. Si tratta di un metodo molto rapido da implementare, che non richiede particolare addestramento, ma non consente di ottenere elevati livelli di controllo.
  2. Ottimizzazione (fine tuning): consiste nell’adattare il modello pre-addestrato del LLM a set di dati specifici, per ottenere un controllo granulare e altamente specializzato. Rispetto alla RAG può apparire più complesso ed oneroso, in quanto richiede dati etichettati e comporta costi computazionali non trascurabili.
  3. Pre-addestramento (re-traning): consiste nel ri-addestrare da zero il LLM, utilizzando grandi set di dati, per ottenere il massimo livello di controllo possibile, per soddisfare qualsiasi esigenza specifica. Si tratta di un procedimento estremamente oneroso che viene preso in considerazione soprattutto dagli sviluppatori del modello quando si tratta di rilasciare una nuova major release del software.

In termini di complessità, la RAG è collocabile tra il prompt engineering e il fine tuning del modello. Tuttavia, tali tecniche non si escludono a priori, anzi, trovano la loro efficacia proprio mediante un utilizzo combinato, capace di valorizzare al meglio i punti di forza in funzione degli obiettivi aziendali. Nella maggioranza dei casi si tratta di trovare un buon bilanciamento tra RAG e fine-tuning, a seconda delle esigenze specifiche, conoscendo nel dettaglio entrambe le tecniche AI.
La configurazione dei pattern architettonici in grado di potenziare la capacità informativa dei LLM rappresenta un’operazione complessa, che richiede un notevole know-how sia dal punto di vista tecnologico che nel saper valutare, caso per caso, l’allineamento con gli obiettivi di business.
Sulla base di questi presupposti, Moxoff assiste ogni giorno decine di aziende italiane nell’integrazione di applicazioni RAG e basate su altri modelli, per trovare la risposta più efficace a qualsiasi esigenza pratica.

Architettura della RAG

La RAG consente di utilizzare i dati specifici fornendoli come parte del prompt con cui si interroga il LLM. Questo approccio architetturale consente di combinare la concezione statica del LLM preaddestrato con i dati provenienti in tempo reale dai sistemi aziendali, per creare applicazioni in grado di generare risposte strettamente pertinenti al contenuto della richiesta.
La RAG si basa su una tecnologia di base piuttosto complessa, che coinvolge varie tecniche riconducibili al machine learning, e si basa sull’impiego di database vettoriali (con tecnologie vector search index, ecc.), ma concettualmente è possibile schematizzarla attraverso i componenti fondamentali che ne definiscono l’architettura.

I Componenti

L’architettura della RAG comprende almeno quattro componenti fondamentali.

    1. Preparazione dei dati (data preparation): è in primo luogo necessario un adeguato processo di gestione documentale, che consenta di elaborare i dati in modo da renderli fruibili all’applicazione RAG, tenendo conto delle specifiche necessarie (metadati, lunghezza, ecc.)
    2. Indicizzazione dei dati (index data): la RAG si avvale dell’impiego di database vettoriali, per cui si rende necessario un embedding capace di sintetizzare i dati in un indice vector search
    3. Recupero delle informazioni (information retrieval): l’applicazione riconosce i dati rilevanti sulla base della richiesta specifica dell’utente e li traduce in parte del prompt con cui viene effettuata la richiesta al LLM.
    4. Inferenza LLM (LLM inference): utilizzo di tipologie di deployment come ML Model Serving, per rendere il modello LLM disponibile sulle applicazioni degli endpoint tramite API, con varie funzioni aggiuntive per gestire le richieste.

Esempi di implementazione

La RAG viene oggi utilizzata con successo in molte applicazioni, tra cui:

    1. Chatbot e sistemi di FAQ: l’integrazione dei LLM nelle applicazioni chatbot, grazie alla RAG, consente di offrire risposte accurate ed aggiornate sulla base dei dati resi disponibili dall’organizzazione, per soddisfare in maniera puntuale le richieste degli utenti. Molto utilizzati nell’ambito del customer care.
    2. Motori di ricerca interni: la RAG consente di ricercare e generare rapidamente insight a partire dai dati aziendali, affinché i dipendenti possano ottenere rapidamente le informazioni di cui necessitano.
    3. Motori di ricerca esterni: l’integrazione di LLM, RAG e motori di ricerca consente a tutti gli utenti di ottenere risposte molto dettagliate, a partire da basi di conoscenza generaliste e specifiche dell’organizzazione.

I vantaggi della RAG AI

Una corretta e consapevole integrazione della RAG con i large language model consente alle organizzazioni di ottenere importanti benefici. Per raggiungere in tempi brevi tali risultati senza rischiare scriteriate sperimentazioni è opportuno avvalersi di consulenti e system integrator qualificati come Moxoff, dotati di una comprovabile esperienza sul campo delle applicazioni AI in ambito aziendale.

Miglioramento dell’accesso alle informazioni

L’integrazione dell’intelligenza artificiale generativa nei processi aziendali rischierebbe di risultare parzialmente inefficace, qualora non si rendessero disponibili i dati effettivamente rilevanti e utili alle applicazioni. Approcci come la RAG da un lato facilitano, dall’altro obbligano a ripensare il data management in maniera più efficiente, per garantire un livello di data quality adeguato alle applicazioni analitiche, ivi comprese quelle non basate sulla generative AI. A cominciare dalla scelta dei sistemi di gestione dei dati (database vettoriali, ecc.).

Riduzione dei costi di training

La personalizzazione dei LLM costituisce un’onere al di fuori della portata della maggior parte delle aziende, soprattutto se si prendono in considerazione le PMI. La RAG offre pertanto un contributo determinante nella democratizzazione delle applicazioni basate sui modelli di linguaggio, limitando le situazioni in cui si rende necessario effettuare il fine-tuning del modello.

Precisione e affidabilità delle risposte

Grazie ai dati rilevanti che la RAG inserisce nel prompt di richiesta, i LLM su cui si basano applicazioni come i chatbot possono generare risposte più informate, aggiornate ed accurate, per garantire la miglior soddisfazione agli utenti finali dei servizi. Lo stesso concetto si dimostra efficace in molti altri ambiti, tra cui le ricerche documentali interne.

Applicazioni pratiche in diversi settori

A prescindere dagli ambiti applicativi (chatbot, gestione documentale, ecc.) la RAG viene oggi adottati in molti settori di impiego, tra cui:

    1. Customer care: chatbot basati su RAG consentono di sfruttare le informazioni più aggiornate per rispondere con successo ai clienti.
    2. Supporto decisionale: la RAG offre in tempo reale dati di contesto per analisi predittive (es. previsione domanda di mercato, ecc.)
    3. Didattica su misura: la RAG consente di estendere la base di knoweledge dei LLM per applicazioni di training personalizzate.
    4. Consulenze mediche: la RAG è utilizzata in ambito healthcare per sfruttare basi dati generiche e informazioni di dettaglio ottenibili dalle cartelle cliniche dei pazienti, continuamente aggiornate.
    5. Proposte di viaggi: il settore turismo impiega la RAG per suggerire itinerari basati sulle informazioni comportamentali dei potenziali viaggiatori.
    6. Analisi finanziaria: La RAG fornisce dati contestuali aggiornati per realizzare un’ampia gamma di report utili a descrivere l’andamento dei mercati finanziari.
    7. Marketing e comunicazione – Dati rilevanti sull’offerta aziendale per la generazione di contenuti di comunicazione (blog, report, white paper, ecc.) funzionali al content marketing.

Le sfide dell’implementazione della RAG AI

A fronte di evidenti vantaggi, la RAG presenta alcuni elementi di criticità, che si possono superare grazie al supporto tecnico e alla consulenza metodologica di player esperti sul campo come Moxoff. Vediamo alcuni delle principali sfide che l’implementazione della RAG nei sistemi esistenti attualmente comporta.

Privacy e sicurezza

Trattando nello specifico i dati proprietari dell’organizzazione, le applicazioni RAG devono risultare pienamente conformi ai disposti del GDPR e delle normative di settore in merito all’utilizzo dei dati, anche in funzione della possibile interazione con sistemi sviluppati e gestiti da terzi, come nel caso di LLM commerciali.

Integrazioni con sistemi esistenti

Integrare con successo e in maniera effettivamente utile alle esigenze aziendali un’architettura RAG su un LLM, se non adottare simultaneamente entrambe le tecnologie, comporta una serie di complessità non trascurabili, che per essere risolte richiedono competenze di non semplice reperibilità sul mercato, come quelle offerte da Moxoff.

Identificazione e riduzione di Bias nei dati

La RAG mira a mitigare uno dei difetti più noti dei LLM: la produzione di risultati non accurati e di allucinazioni. Tale obiettivo non può prescindere da una profonda conoscenza dei modelli di machine learning e dei processi di preparazione dei dati, ai fini di selezionare con successo quelli più rilevanti nello specifico scenario di utilizzo.

Tecnologie complementari con la RAG

La natura architetturale della RAG la rende nativamente complementare alle applicazioni basate sul machine learning e il deep learning, ai fini di accelerare e rendere più efficiente la loro portata informativa, derivante da una miglior conoscenza del contesto specifico.

Integrazione con Machine Learning

La RAG e, più genericamente l’adozione dei LLM, risulta perfettamente complementare alle attività di advanced analytics, che utilizzano applicazioni basate sul machine learning per effettuare analisi descrittive e predittive a partire dai dati di scenario. La RAG può infatti attingere dai dati generati dai sistemi di business intelligence e business analytics per istruire a sua volta i LLM e renderli più accurati nel loro risultato creativo.

Integrazione con Deep Learning

La RAG nasce per integrarsi nativamente con sistemi di deep learning (DL) come i large language model, potenziandoli soltanto grazie all’impiego dei cosiddetti dati rilevanti, senza obbligare il modello AI ad un vero e proprio re-training. La RAG facilita inoltre l’innovazione dei processi basati sul DL, grazie alla propria capacità di estendere il LLM e altri foundation model con nuove funzioni.
Non è un caso che molti esperti considerino la RAG un passaggio fondamentale nel raggiungimento dell’intelligenza artificiale generale, anche se al momento si è ancora decisamente distanti da questo risultato.

Moxoff e RAG AI

La novità tecnologica della RAG va a rendere ancor più vario lo scenario di applicazioni basate sull’intelligenza artificiale che le aziende possono implementare nei loro processi. Si tratta di uno scenario incredibilmente dinamico, laddove gli sviluppatori sono chiamati ogni giorno ad acquisire nuove conoscenze per creare soluzioni capaci di risolvere nel modo più efficace i problemi dei loro clienti.
In questo contesto, Moxoff vanta di una comprovabile esperienza al fianco di decine di aziende italiane nello sviluppo e nella gestione di applicazioni basate sull’intelligenza artificiale e sulla gestione dei dati.
Oltre alle competenze certificate e alla continua ricerca sulle soluzioni dei principali vendor del settore, Moxoff è in grado di garantire ai propri clienti l’effettiva capacità di analizzare gli obiettivi aziendali e tradurli in applicazioni capaci di soddisfare le esigenze operative di tutte le linee di business impegnate a raggiungerli nei tempi e nei modi prefissati.
Una caratteristica che distingue Moxoff sul mercato dell’intelligenza artificiale generativa è data dalla capacità di sviluppare per ciascuna azienda cliente un LLM proprietario, senza basarsi su chat-GPT o altre soluzioni di terze parti. Questo approccio consente di offrire la massima capacità di personalizzazione, in condizioni di totale sicurezza ed esclusività.
Moxoff è in grado di consigliare le aziende circa l’approccio più conveniente in merito alla personalizzazione di tutte le applicazioni, che si tratti di una chatbot, di un motore di ricerca interno o di un generatore di contenuti per la comunicazione, giusto per citare alcuni esempi ricorrenti.
Occorrono infatti molte competenze, che spaziano dalla capacità di modellare i dati strutturati e non nei database vettoriali, fino alla capacità di rendere progressivamente sempre più efficienti i LLM combinando la RAG stessa con altre tecniche AI, come il già citato fine-tuning. Il tutto tendendo conto della scalabilità di un workflow destinato a variare nel tempo, in funzione della crescita del business.