Multimodal RAG
Il RAG multimodale recupera immagini, frame video, audio e scansioni di pagine insieme al testo, poi chiede a un modello visione-linguaggio di rispondere in base ai risultati.
La RAG multimodale è la generazione aumentata dal recupero (RAG) su una base di conoscenza che contiene immagini, video, audio e documenti acquisiti tramite scansione o generati, oltre al testo. Una domanda recupera gli elementi più pertinenti da una qualsiasi di queste modalità e un modello visione-linguaggio (VLM) genera la risposta a partire da essi. È così possibile recuperare e leggere direttamente uno schema elettrico, una foto di prodotto o un grafico contenuto in un PDF, anziché basarsi soltanto su una descrizione testuale scritta in precedenza da qualcuno.
Come vengono indicizzati i dati non testuali#
L'approccio più semplice converte tutto in testo. La generazione di didascalie per immagini, il riconoscimento ottico dei caratteri (OCR), le trascrizioni ottenute con la conversione del parlato in testo e le etichette del rilevamento di oggetti descrivono ciascun elemento con parole ricercabili tramite un normale indice testuale. In questo modo si riutilizza senza modifiche una pipeline RAG testuale e si perde tutto ciò che la descrizione tralascia.
Il secondo approccio incorpora immagini e testo in uno stesso spazio condiviso. I modelli addestrati con apprendimento contrastivo, come CLIP di OpenAI e SigLIP di Google, mappano una foto e una frase che la descrive in embedding vicini, così una domanda testuale recupera direttamente le immagini da un database vettoriale. Per i documenti, ColPali (2024) incorpora lo screenshot di ogni pagina come griglia di vettori di patch e lo confronta con i token della domanda usando un'interazione tardiva in stile ColBERT, evitando il riconoscimento ottico dei caratteri e l'analisi del layout nei PDF ricchi di tabelle e grafici.
La generazione passa quindi gli elementi recuperati, spesso un insieme di immagini e passaggi testuali, al VLM insieme alla domanda. Ancorare la risposta alle immagini recuperate riduce le allucinazioni sui dettagli visivi che il modello non ha mai visto durante l'addestramento, come la disposizione del pannello di controllo di una determinata azienda.
Recupero in uno spazio di embedding condiviso#
Questo esempio usa il checkpoint CLIP ViT-B/32 per selezionare, da una base di conoscenza con due immagini, quella che risponde a ogni domanda:
import requests
from PIL import Image
from transformers import CLIPModel, CLIPProcessor
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
# Image knowledge base: CLIP embeds images and text into one shared vector space
urls = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
images = [Image.open(requests.get(url, stream=True, timeout=10).raw) for url in urls]
questions = ["What color is the man's tie?", "How many people are standing next to the bus?"]
# Retrieve: score each question against every image and keep the best match for the VLM
inputs = processor(text=questions, images=images, return_tensors="pt", padding=True)
scores = model(**inputs).logits_per_text
for question, row in zip(questions, scores):
print(f"{question} -> {urls[row.argmax()].split('/')[-1]}")La domanda sulla cravatta recupera zidane.jpg e quella sull'autobus recupera bus.jpg, perché CLIP colloca l'embedding testuale di ciascuna domanda più vicino alla foto a cui si riferisce. L'interfaccia LLM di Ultralytics gestisce la fase di generazione successiva: llm(question, image=...) invia con una sola chiamata la domanda e l'immagine recuperata a qualsiasi modello visione-linguaggio compatibile con OpenAI e restituisce la risposta del provider.
RAG multimodale a confronto con termini correlati#
- Risposta a domande visive (VQA): Risponde a una domanda su un'immagine fornita dall'utente. La RAG multimodale individua prima quali immagini, pagine o clip esaminare tra migliaia.
- Modelli multimodali: I generatori, come i modelli GPT di OpenAI o Gemini di Google, che elaborano insieme immagini e testo. Il RAG multimodale è il sistema di recupero che decide cosa vedono questi modelli.
- Ricerca semantica: La sola componente di recupero, che restituisce risultati ordinati a una persona anziché a un modello.
Applicazioni nel mondo reale#
- Manutenzione industriale: Un tecnico fotografa un componente guasto e il sistema recupera la pagina del manuale con il relativo schema esploso, oltre alle foto di riparazioni precedenti dello stesso gruppo.
- Ricerca e assistenza per il commercio al dettaglio: La foto di un cliente recupera articoli simili visivamente nel catalogo e l'assistente risponde a domande su vestibilità o compatibilità consultando le schede prodotto.
- Risposta a domande sui documenti: Relazioni annuali, articoli scientifici e presentazioni conservano dati importanti in grafici e tabelle, che il recupero di immagini delle pagine individua senza bisogno di un parser di tabelle separato.
- Comprensione video: L'indicizzazione di fotogrammi campionati o clip brevi tramite embedding permette a una domanda come «Quando è arrivato il furgone delle consegne?» di recuperare i minuti di ripresa pertinenti, così il VLM legge una manciata di fotogrammi anziché ore di video.
Compromessi progettuali#
Le immagini occupano molto contesto: un VLM trasforma ogni immagine in centinaia o migliaia di token, quindi le pipeline di solito passano solo poche immagini recuperate ai primi posti e le affiancano a passaggi testuali più brevi. Anche i sistemi di recupero basati su embedding condivisi ereditano i limiti dell'addestramento. L'encoder testuale di CLIP legge al massimo 77 token, quindi le domande più lunghe vengono troncate prima del confronto; inoltre, gli embedding dell'intera immagine catturano meglio il contenuto complessivo della scena che i piccoli dettagli, come il numero di serie su un'etichetta. Quando il riconoscimento ottico dei caratteri riesce a leggerli, la conversione in testo mantiene questi dettagli ricercabili: molti sistemi indicizzano quindi sia il testo OCR sia gli embedding delle immagini e uniscono i due elenchi di risultati con la ricerca ibrida.










