RAG multimodale: espandersi oltre il testo per un'IA più intelligente
Nell’ultimo anno e mezzo, Retrieval Augmented Generation (RAG) è diventata una tecnica potente per migliorare le risposte dei large language model (LLM) con informazioni contestuali pertinenti, riducendo significativamente il rischio di allucinazioni—situazioni in cui gli LLM generano risposte che sembrano plausibili ma sono fattualmente errate.
Tuttavia, i dati del mondo reale spesso vanno ben oltre il testo: incontriamo anche immagini, video, tabelle e vari formati di documenti. È qui che Multimodal RAG diventa fondamentale, consentendo l’integrazione di diversi tipi di dati per fornire conoscenze ancora più affidabili ai modelli di IA.
In questo post parleremo di:
- L’evoluzione della RAG, dalla RAG tradizionale basata su testo alla RAG multimodale
- Come il database vettoriale Milvus consente l’archiviazione e la ricerca di diversi tipi di dati
- Il ruolo delle GPU NVIDIA nell’accelerare queste operazioni complesse
- Le potenziali applicazioni e i vantaggi di questa tecnologia
Che tu sia un appassionato di IA o uno sviluppatore che desidera aggiungere la RAG ai propri progetti, questo post fornirà preziose informazioni su una tecnologia destinata a ridefinire le capacità dei sistemi RAG.
L’evoluzione della RAG: da incentrata sul testo a multimodale
RAG tradizionale
La RAG basata su testo migliora le risposte degli LLM recuperando da una base di conoscenza il contesto testuale pertinente. Di seguito è riportata una panoramica di un tipico flusso di lavoro RAG:
- L’utente invia una query testuale al sistema.
- La query viene trasformata in un embedding vettoriale, che viene poi utilizzato per cercare in un database vettoriale , come Milvus, dove i passaggi di testo sono archiviati come embedding. Il database vettoriale recupera i passaggi che corrispondono più da vicino alla query in base alla similarità vettoriale.
- I passaggi di testo pertinenti vengono passati all’LLM come contesto supplementare, arricchendo la sua comprensione della query.
- L’LLM elabora la query insieme al contesto fornito, generando una risposta più informata e accurata.
Figura 1- Come funziona la RAG.png
Figura: Come funziona la RAG
La RAG tradizionale è stata molto efficace nel migliorare l’output degli LLM, ma rimane limitata ai dati testuali. In molte applicazioni del mondo reale, la conoscenza va ben oltre il testo, incorporando immagini, grafici e altre modalità che forniscono un contesto critico.
RAG multimodale: espandersi oltre il testo
La RAG multimodale affronta la limitazione sopra descritta consentendo l’uso di diversi tipi di dati, fornendo un contesto migliore agli LLM.
Un attore chiave in questa evoluzione è LLaVA (Large Language and Vision Assistant), un modello multimodale progettato per integrare sia il linguaggio (testo) sia la visione (immagini) per migliorare le capacità dei large language model (LLM). LLaVA estrae informazioni significative dai contenuti visivi e le converte in descrizioni testuali, che possono essere elaborate da modelli di embedding e archiviate in database vettoriali come Milvus.
Di seguito è riportato un esempio di come LlaVA funziona con modelli di embedding e database vettoriali.
Figura: Un esempio di ciò che LlaVa può produrre quando gli viene posta una domanda su un’immagine
Figura: Un esempio di ciò che LlaVa può produrre quando gli viene posta una domanda su un’immagine
Componenti chiave di una pipeline RAG multimodale
Per elaborare diversi tipi di dati, una pipeline RAG multimodale converte tutte le modalità in un formato unificato, tipicamente testo. Questa conversione viene solitamente realizzata utilizzando Vision Language Models (VLM) specializzati, che gestiscono immagini generali e dati grafici come i grafici. I VLM estraggono informazioni significative da queste fonti non testuali e le trasformano in embedding basati su testo che possono essere utilizzati dai modelli linguistici di grandi dimensioni (LLM) per la generazione del contesto.
Oltre ai VLM, diversi altri componenti critici garantiscono anche che i sistemi RAG multimodali operino in modo efficiente e su larga scala. Di seguito sono riportati i componenti chiave di tale pipeline, insieme ad alcuni esempi principali che illustrano come questi componenti vengono implementati.
Vision Language Models (VLM): Questi modelli elaborano e convertono contenuti visivi—come immagini, diagrammi e grafici—in formati testuali o incorporati che gli LLM possono utilizzare.
- Esempio: Neva 22B (NVIDIA): Una variante fine-tuned di LLaVA, ottimizzata per la comprensione generale delle immagini, capace di interpretare e generare descrizioni testuali da input visivi.
- Esempio: DePlot (Google): Specializzato nell’elaborazione e nell’analisi di dati grafici come diagrammi e grafici, rendendolo ideale per contenuti visivi più tecnici.
Database vettoriali: I database vettoriali sono un componente cruciale di un sistema RAG multimodale che memorizza e recupera embedding vettoriali per vari tipi di dati, inclusi testo, immagini e altre modalità. Eseguono ricerche di similarità, garantendo che le informazioni più rilevanti siano rapidamente accessibili all’LLM.
Esempio: Milvus è un esempio di primo piano di database vettoriali che supporta la ricerca vettoriale accelerata da GPU NVIDIA, offrendo prestazioni eccezionali per dati multimodali su larga scala.
- Accelerazione GPU: Milvus utilizza GPU NVIDIA per accelerare l’indicizzazione e l’interrogazione vettoriale.
- Scalabilità: Gestisce ricerche di similarità su scala di miliardi, rendendolo adatto ad applicazioni ad alto volume.
- Efficienza: La combinazione di indicizzazione e interrogazione su GPU garantisce il massimo throughput e risposte in tempo reale con latenza minima.
Modelli di embedding testuale: Questi modelli convertono input testuali in embedding vettoriali, essenziali per le ricerche di similarità in un sistema RAG.
- Esempio: NV Embed: Un modello di embedding accelerato da GPU che trasforma efficientemente il testo in embedding per un recupero rapido nei database vettoriali, offrendo significativi vantaggi di velocità rispetto alle soluzioni basate su CPU.
Modelli linguistici di grandi dimensioni (LLM): Gli LLM costituiscono il nucleo del sistema RAG, generando risposte basate sulla query e sui dati contestuali recuperati. Questi modelli sono spesso fine-tuned per compiti specifici al fine di migliorare l’accuratezza delle risposte.
- Esempio: Llama 3.1 (variante 70B Instruct): Sviluppata da Meta, questa versione è fine-tuned per compiti di esecuzione di istruzioni, migliorando la sua capacità di generare risposte precise e orientate al compito.
Framework di orchestrazione: Questi framework gestiscono il flusso di dati attraverso l’intera pipeline: dall’elaborazione della query iniziale, al recupero del contenuto multimodale rilevante, fino alla generazione della risposta finale.
- Esempio: LlamaIndex: Un framework che orchestra l’elaborazione delle query, il recupero del contesto e la generazione delle risposte, garantendo un coordinamento fluido tra tutti i componenti del sistema RAG multimodale
Figura: Un’architettura RAG multimodale (Credit NVIDIA)
Figura: Un’architettura RAG multimodale (Credit NVIDIA)
Il diagramma sopra illustra l'architettura di una pipeline Multimodal RAG di esempio presentata da NVIDIA, costruita su diversi componenti chiave: Llama 3 funge da modello linguistico di grandi dimensioni (LLM) fondamentale, con LlamaIndex che orchestra l'intero flusso di lavoro. NV Embed gestisce l'embedding del testo, mentre Milvus agisce come database vettoriale per un recupero rapido. NeVA 22B elabora le immagini e DePlot gestisce grafici e diagrammi, consentendo al sistema di gestire un'ampia varietà di formati di dati.
Per maggiori informazioni su come creare un RAG multimodale, consulta le risorse qui sotto:
- Video: Building Multimodal AI RAG with LlamaIndex, NVIDIA NIM, and Milvus | LLM App Development
- Tutorial: Build a Multimodal RAG with Gemini, BGE-M3, Milvus and LangChain
- Tutorial: Build Better Multimodal RAG Pipelines with FiftyOne, LlamaIndex, and Milvus
- Tutorial: Multimodal RAG locally with CLIP and Llama3
Caratteristiche chiave dei sistemi RAG multimodali
Questo sistema RAG multimodale utilizza molte funzionalità avanzate che rendono possibile elaborare e comprendere diversi tipi di dati:
- Elaborazione multi-formato: Questo sistema RAG multimodale gestisce un'ampia gamma di tipi di documenti, inclusi file di testo, PDF, presentazioni PowerPoint e immagini. Rendendolo utile per diversi scopi come ricerca, business intelligence, ecc.
- Analisi delle immagini tramite Vision Language Models: Con l'integrazione di modelli come NeVA 22B, il sistema può analizzare e descrivere contenuti visivi, come immagini e diagrammi.
- Indicizzazione e recupero efficienti: Sfruttando Milvus in combinazione con GPU NVIDIA, il sistema offre indicizzazione vettoriale e ricerca per similarità estremamente rapide. Questa capacità gli consente di elaborare in modo efficiente enormi quantità di dati, rendendolo ideale per applicazioni che richiedono il recupero in tempo reale di informazioni multimodali.
Combinando queste potenti funzionalità, questo sistema RAG multimodale offre soluzioni complete per estrarre insight da diversi tipi di dati. Che tu stia lavorando con testo, immagini o una combinazione di entrambi, il sistema ti consente di sfruttare vari formati per migliorare la comprensione e il processo decisionale.
Conclusione: promuovere la comprensione dei contenuti basata sull'IA
In questo post del blog, abbiamo spiegato come creare un'applicazione RAG multimodale utilizzando GPU NVIDIA e Milvus. Milvus, con le sue capacità di ricerca vettoriale accelerata da GPU, svolge qui un ruolo cruciale, garantendo alte prestazioni e scalabilità. Ti incoraggiamo a sperimentare consultando il Notebook su Github ed esplorare ulteriormente.
Ci piacerebbe sapere cosa ne pensi!
Se ti piace questo post del blog, apprezzeremmo davvero se potessi darci una stella su GitHub! Sei anche invitato a unirti alla nostra community Milvus su Discord per condividere le tue esperienze. Se sei interessato a saperne di più, consulta il nostro repository Bootcamp su GitHub per esempi su come creare app RAG multimodali con Milvus.
Ulteriori risorse
- I 10 migliori modelli di IA multimodale del 2024
- Valuta il tuo RAG multimodale usando Trulens
- Esplorare gli embedding multimodali con FiftyOne e Milvus
- Esplorare OpenAI CLIP: il futuro dell’apprendimento IA multimodale
- Hub di risorse sull’IA generativa | Zilliz
- Modelli di IA con le migliori prestazioni per le tue app GenAI | Zilliz
- Confronto tra database vettoriali
Continua a leggere

VDBBench Adds Cost-Aware Benchmarking for Vector Databases
Compare Zilliz Cloud, Pinecone, and turbopuffer with VDBBench cost-aware vector database benchmarks across latency, freshness, multitenancy, and cold starts.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

Balancing Precision and Performance: How Zilliz Cloud's New Parameters Help You Optimize Vector Search
Optimize vector search with Zilliz Cloud’s level and recall features to tune accuracy, balance performance, and power AI applications.



