Tecniche RAG avanzate: collegare testo e immagini per risposte più accurate
I modelli linguistici di grandi dimensioni (LLM) hanno dimostrato capacità eccezionali nel comprendere e generare vari tipi di contenuti, testuali o visivi, rendendoli ampiamente adottati in diversi settori. Nonostante la loro versatilità, gli LLM spesso producono informazioni inaccurate o inventate—note come allucinazioni—a causa di una conoscenza di dominio limitata e di dati obsoleti.
La Retrieval-Augmented Generation (RAG) è una tecnica che affronta queste sfide combinando le capacità generative degli LLM con sistemi di recupero che reperiscono informazioni pertinenti da fonti esterne. Ancorando le risposte degli LLM a dati reali e aggiornati, la RAG migliora l’accuratezza e la rilevanza contestuale delle risposte e aumenta l’efficienza complessiva del sistema. Questa combinazione di generazione e recupero guida l’innovazione, trasforma l’elaborazione dei dati e rende gli LLM più affidabili nelle applicazioni reali.
In un recente Unstructured Data Meetup ospitato da Zilliz, Yi Ding, in precedenza Head of Typescript and Partnerships presso LlamaIndex, ha condiviso approfondimenti su un nuovo approccio alla RAG: Small to Slide. Questo metodo migliora le prestazioni degli LLM multimodali quando gestiscono dati visivi come presentazioni o documenti con immagini. In questo blog, esploreremo come funziona la RAG, le sfide della RAG e tecniche RAG avanzate come Small to Slide RAG.
Comprendere la RAG
La RAG combina la potenza degli LLM con la capacità di recuperare informazioni specifiche da una base di conoscenza alimentata da database vettoriali. Quando un utente pone una domanda, il sistema RAG cerca nel database informazioni pertinenti e utilizza queste informazioni per generare una risposta più accurata. Vediamo come funziona il processo RAG.
Figura: Come funziona la RAG
Un sistema RAG è composto da tre componenti chiave: un modello di embedding, un database vettoriale e un LLM.
Il modello di embedding converte i documenti in embedding vettoriali, che vengono memorizzati in un database vettoriale come Milvus.
Quando un utente pone una domanda, il sistema trasforma la query in un vettore utilizzando lo stesso modello di embedding.
Il database vettoriale esegue quindi una ricerca di similarità per recuperare le informazioni più pertinenti. Queste informazioni recuperate vengono combinate con la domanda originale per formare una "domanda con contesto", che viene poi inviata all’LLM.
L’LLM elabora questo input arricchito per generare una risposta più accurata e contestualmente rilevante.
Questo metodo è particolarmente prezioso per gestire conoscenze specialistiche o informazioni dinamiche e aggiornate di frequente, garantendo che i sistemi di IA forniscano risposte precise e affidabili.
Ad esempio, una grande piattaforma di e-commerce potrebbe utilizzare questo approccio per alimentare il suo sistema di raccomandazione dei prodotti. Il sistema potrebbe elaborare milioni di descrizioni di prodotti, recensioni dei clienti e dati di utilizzo e archiviarli come vettori. Quando un utente cerca un prodotto, il sistema recupera rapidamente gli articoli più pertinenti, considerando non solo le parole chiave ma anche il significato semantico della query.
Sfide della RAG e tecniche RAG avanzate
Sebbene la RAG offra potenti capacità, deve anche affrontare sfide che possono influire sulla sua efficacia, soprattutto quando i dati diventano grandi e complessi.
Velocità: La ricerca in database più grandi richiede più tempo. Questo può essere mitigato sfruttando il calcolo accelerato dall’hardware, ad esempio ottimizzando per GPU o altri sistemi ad alte prestazioni.
Accuratezza: Garantire che vengano recuperate le informazioni più pertinenti è impegnativo. Gli sviluppatori hanno bisogno di modi per bilanciare prestazioni e accuratezza dei dati in base alle proprie esigenze.
Dati multimodali: Una RAG di base fatica con dati non testuali come immagini o grafici. Gestire diversi tipi di dati vettoriali diventa cruciale in questi casi.
Nelle sezioni seguenti, esploreremo diverse tecniche RAG avanzate—Small to Big RAG, Small to Slide RAG e ColPali—che affrontano queste sfide, migliorando la velocità, l’accuratezza e la versatilità dei sistemi RAG.
Small to Big RAG
Small to Big RAG è un metodo per migliorare l’accuratezza dei sistemi RAG. L’idea centrale è suddividere i documenti in blocchi più piccoli, focalizzati sull’intento, per ricerche precise, ma recuperare sezioni di contesto più ampie anziché restituire solo i frammenti esatti corrispondenti, per garantire che gli LLM possano generare risposte significative e complete. Questo perché, sebbene i blocchi più piccoli migliorino la precisione della ricerca concentrandosi su dettagli specifici, possono anche perdere contesto critico, portando a risposte incomplete o inaccurate.
Diamo un’occhiata a un esempio.
Considera la query: “Dove lavora la Sig.ra Churilo?”
Quando viene elaborata, il modello di embedding potrebbe dare priorità alla parola meno comune “Churilo” rispetto a termini più importanti come “lavora.” Di conseguenza, il sistema potrebbe recuperare frasi che menzionano “Churilo” ma non riuscire a fornire l’informazione chiave: “Chris è attualmente VP of Marketing presso Zilliz.”
Small to Big RAG affronta questa limitazione recuperando l’intero paragrafo in cui viene menzionato il suo ruolo, fornendo all’LLM il contesto completo necessario per offrire una risposta corretta e completa.
Figura: Recupero errato nella RAG tradizionale
Small to Big RAG è particolarmente efficace per gestire dati testuali complessi o multilivello. In un sistema di supporto tecnico, ad esempio, recuperare una singola frase con una parola chiave pertinente potrebbe tralasciare dettagli circostanti che sono critici per la comprensione. Invece, Small to Big RAG recupera tutte le sezioni correlate alla query. Per esempio, quando un utente chiede, “Come faccio a reimpostare la mia password?” il sistema potrebbe recuperare il paragrafo con la risposta diretta e includere contesto aggiuntivo, come raccomandazioni di sicurezza, rendendo la risposta più completa e utile.
Combinando la precisione di embedding più piccoli con la profondità contestuale di un recupero più ampio, Small to Big RAG garantisce un equilibrio tra accuratezza e completezza. Questo approccio consente ai sistemi di AI di fornire risposte che non sono solo precise, ma anche ricche di contesto, migliorandone l’affidabilità nelle applicazioni reali.
Small to Slide RAG
Sebbene Small to Big RAG eccella nella gestione di dati basati su testo, fatica a catturare le informazioni incorporate in elementi visivi come slide, grafici o diagrammi. Small to Slide RAG è un metodo RAG migliorato che risolve questo problema incorporando il testo proveniente da elementi visivi come le slide, ma recuperando l’intera immagine della slide. Questo risultato recuperato viene poi fornito a ed elaborato da un LLM multimodale capace di analizzare sia testo sia immagini.
Ecco come funziona:
Embedding del testo: Il sistema estrae e incorpora il testo dalle slide.
Recupero visivo: Invece di recuperare solo il testo, recupera l’intera immagine della slide contenente le informazioni rilevanti.
Elaborazione multimodale: Le immagini delle slide recuperate vengono inviate a un LLM multimodale (ad es., GPT-4 con capacità visive) in grado di elaborare simultaneamente sia le componenti visive sia quelle testuali.
Questo metodo è particolarmente utile per gestire documenti complessi in cui le informazioni cruciali vengono comunicate tramite elementi visivi. Ad esempio, nei report finanziari trimestrali, gli insight chiave si trovano spesso in grafici o diagrammi che i sistemi RAG tradizionali basati su testo potrebbero non rilevare. Recuperando e analizzando l’intera immagine della slide, Small to Slide RAG garantisce che nessun dettaglio critico venga trascurato, fornendo una risposta più accurata e completa.
Per dimostrare la potenza di Small to Slide RAG, Yi Ding ha presentato una demo di un esempio pratico utilizzando un mazzo di slide Nvidia. Puoi guardare la demo qui.
Figura: Un confronto tra il contesto recuperato da un RAG tradizionale e da Small to Slide RAG
In questa demo, Yi Ding ha confrontato il contesto recuperato da un sistema RAG tradizionale con Small to Slide RAG nel rispondere alla stessa domanda: "Quali piattaforme SaaS supporta NVIDIA AI Enterprise?"
RAG tradizionale: Il sistema RAG tradizionale basato su testo ha faticato a fornire una risposta completa. Si basava esclusivamente sul testo estratto dalle slide, perdendo informazioni critiche incorporate in grafici e diagrammi. Questa limitazione ha portato a una risposta incompleta e meno informativa.
Small to Slide RAG: Al contrario, Small to Slide RAG ha fornito risultati di gran lunga migliori. Il sistema ha recuperato le immagini effettive delle slide contenenti le informazioni rilevanti e le ha inviate a un LLM multimodale (ad es., GPT-4 con capacità visive). Questo ha permesso al modello di interpretare sia il testo sia gli elementi visivi, generando una risposta molto più completa e accurata.
Questo esempio illustra il punto di forza unico di Small to Slide RAG: la sua capacità di gestire documenti complessi in cui le informazioni chiave sono distribuite tra testo ed elementi visivi, rendendolo uno strumento inestimabile per elaborare contenuti visivamente ricchi.
Affinché questi metodi RAG funzionino senza problemi, richiedono un’infrastruttura per gestire query complesse e operazioni di recupero.
ColPali: Spingere i confini
Alla fine del suo intervento, Yi ha introdotto una tecnica emergente chiamata ColPali, un nuovo modello di recupero documentale che spinge i confini della Retrieval-Augmented Generation (RAG). A differenza dei metodi tradizionali che convertono documenti con dati visivi (come slide e PDF) in testo, ColPali lavora direttamente con le caratteristiche visive dei documenti, consentendogli di indicizzare e recuperare informazioni senza il passaggio soggetto a errori dell’estrazione del testo.
Come funziona ColPali
Sebbene sia ancora nelle sue fasi iniziali, ColPali cambia il modo in cui di solito conduciamo il recupero documentale concentrandosi sui dati visivi:
I documenti vengono trattati come immagini, evitando completamente la conversione in testo.
Vengono generati più embedding, simili ai visual n-grams, per ogni immagine, per catturare caratteristiche visive dettagliate.
Le ricerche vengono condotte confrontando gli embedding visivi con la query, identificando le aree più rilevanti del documento.
Figura: documento francese sulla produzione di petrolio in Kazakistan, con alcune aree evidenziate
Esaminiamo l’esempio mostrato nell’immagine sopra: un documento francese sulla produzione di petrolio in Kazakistan. Quando viene posta una domanda sulla produzione petrolifera offshore, ColPali evidenzia aree specifiche del documento—come grafici e diagrammi—che sono più rilevanti per la query. Questo garantisce che vengano presi in considerazione sia gli elementi testuali sia quelli visivi, offrendo una comprensione completa del contenuto.
Perché ColPali è entusiasmante
ColPali offre diversi vantaggi chiave rispetto ai sistemi RAG tradizionali:
Lavorando direttamente con le immagini, evita le imprecisioni introdotte dalla conversione di documenti complessi (ad es., PDF) in testo.
Cattura informazioni visive, come layout, diagrammi e formattazione, che spesso vengono perse nei metodi basati sul testo.
ColPali consente il recupero e la ricerca di dati visivi, aprendo possibilità in campi come la progettazione tecnica, la documentazione legale e altro ancora.
Un’applicazione pratica di ColPali potrebbe essere nelle revisioni di progettazione architettonica. Immagina un sistema di IA che analizzi direttamente planimetrie e disegni tecnici. Quando interrogato su elementi di progettazione specifici, il sistema potrebbe evidenziare le parti rilevanti dei disegni, incorporando sia annotazioni testuali sia caratteristiche visive.
Sfide e limitazioni di ColPali
Sebbene ColPali sia promettente, è ancora nelle sue fasi iniziali e presenta alcune sfide:
Elevata richiesta computazionale: La generazione e il confronto di più embedding per immagine sono computazionalmente intensivi, rendendo l’accelerazione GPU essenziale per un uso pratico.
Ecosistema limitato: Rispetto a tecniche RAG più consolidate, sono disponibili meno strumenti e risorse per implementare ColPali.
Modelli specifici per lingua e addestramento: I modelli ColPali attualmente si basano su dataset di addestramento specifici, il che può limitare la generalizzazione tra domini diversi.
Pro e contro di ciascuna tecnica RAG
Ognuna delle tecniche che abbiamo discusso sopra offre vantaggi e limitazioni distinti.
Figura: confronto tra diverse tecniche RAG
RAG basato sul testo è il più semplice da implementare, beneficiando di un ampio supporto di strumenti. Tuttavia, ha difficoltà a mantenere informazioni multimodali e non gestisce sempre perfettamente il chunking. D’altra parte, Small to Slide migliora l’acquisizione di dati multimodali, sebbene richieda una configurazione più complessa e funzioni al meglio con tipi di dati specifici. Infine, ColPali semplifica il processo evitando la necessità di conversione in testo e integrando l’attribuzione incorporata, ma richiede GPU e modelli personalizzati, il che può limitarne l’accessibilità per alcuni progetti.
Implementare RAG avanzato: considerazioni pratiche
Se stai valutando di implementare queste tecniche RAG avanzate nei tuoi progetti, ecco alcuni punti da tenere a mente.
Valutazione dei dati
Esamina i tipi di dati con cui stai lavorando. Se hai molti documenti con grafici, immagini o layout complessi, approcci come Small to Slide RAG potrebbero essere particolarmente vantaggiosi. Ad esempio, se stai costruendo un sistema per analizzare report finanziari, che spesso contengono una combinazione di testo, tabelle e grafici, Small to Slide RAG potrebbe fornire insight più completi rispetto a un approccio solo testuale.
Risorse computazionali
Metodi come Small to Slide RAG e ColPali possono essere più intensivi dal punto di vista computazionale rispetto al RAG tradizionale. Assicurati di disporre delle risorse necessarie, in particolare quando lavori con dataset di grandi dimensioni.
Selezione del modello
Queste tecniche avanzate spesso richiedono tipi specifici di modelli. Per Small to Slide RAG, avrai bisogno di un LLM multimodale in grado di elaborare testo e immagini. Assicurati di scegliere un modello adatto alle tue esigenze e di disporre delle risorse per eseguirlo.
Capacità del database vettoriale
Scegliere il database vettoriale giusto è fondamentale per implementare un sistema RAG su misura per le tue esigenze. Ad esempio, se stai implementando un Small to Big RAG, avrai bisogno di un database vettoriale in grado di recuperare in modo efficiente chunk di testo più grandi utilizzando embedding generati da chunk più piccoli. La scalabilità diventa fondamentale se la tua applicazione gestisce enormi quantità di dati vettoriali, come dataset su scala di miliardi. Soluzioni come Milvus e il suo servizio gestito, Zilliz Cloud, sono progettate per questi scenari, offrendo un recupero vettoriale altamente scalabile ed efficiente.
Metriche di valutazione
Definisci metriche chiare per valutare le prestazioni del tuo sistema RAG, inclusa la pertinenza delle informazioni recuperate, l’accuratezza delle risposte generate e la velocità di recupero e generazione.
Sviluppo iterativo
Il RAG si sta evolvendo rapidamente. Pianifica un processo di sviluppo iterativo che ti consenta di testare e confrontare facilmente approcci diversi. Inizia con un’implementazione RAG di base, quindi introduci gradualmente tecniche più avanzate come Small to Big RAG o Small to Slide RAG. Valuta continuamente le prestazioni e il feedback degli utenti per guidare il processo di sviluppo.
Conclusione
Le tecniche RAG continuano a evolversi, offrendo approcci diversi come RAG basato su testo, Small to Slide RAG e ColPali per rispondere a esigenze diverse. Sebbene il RAG basato su testo fornisca un solido punto di partenza per applicazioni generiche, casi più specializzati, in particolare quelli che gestiscono dati visivi, possono beneficiare di metodi avanzati come Small to Slide RAG o ColPali.
La scelta del metodo giusto dipende dai tuoi dati e dalle risorse disponibili. Ogni approccio offre un modo per migliorare l’efficienza e l’accuratezza dei sistemi di IA, consentendo un migliore equilibrio tra complessità, velocità e costo. Allineando il tuo approccio ai tuoi requisiti specifici, puoi sfruttare il RAG per creare sistemi che offrano agli utenti le informazioni giuste al momento giusto nel formato giusto.
Ulteriori risorse
Continua a leggere

How Zilliz Saw the Future of Vector Databases—and Built for Production
An inside look at how Zilliz built vector databases for real-world use, focusing on scalability, stability, and running them reliably at scale.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.

Proactive Monitoring for Vector Database: Zilliz Cloud Integrates with Datadog
we're excited to announce Zilliz Cloud's integration with Datadog, enabling comprehensive monitoring and observability for your vectorDB deployments.



