Retrieval Augmented Generation (RAG)
Scopri come la generazione aumentata dal recupero (RAG) ottimizzi gli LLM con dati in tempo reale. Impara a creare pipeline multimodali usando Ultralytics YOLO26 per la RAG visiva.
La generazione aumentata dal recupero (RAG) è una tecnica avanzata nel campo dell'intelligenza artificiale che ottimizza l'output di un modello linguistico di grandi dimensioni (LLM) facendo riferimento a una knowledge base autorevole esterna ai suoi dati di addestramento. I modelli generativi tradizionali si basano esclusivamente sulle informazioni statiche apprese durante l'addestramento iniziale, il che può portare a risposte obsolete o a inesattezze espresse con sicurezza, note come allucinazioni. RAG colma questa lacuna recuperando informazioni pertinenti e aggiornate da fonti esterne, come database aziendali, notizie recenti o manuali tecnici, e fornendole al modello come contesto prima della generazione della risposta. Questo processo garantisce che gli output dell'IA non siano solo linguisticamente coerenti, ma anche accurati dal punto di vista fattuale e fondati su dati specifici.
Come funzionano i sistemi RAG#
L'architettura di un sistema RAG prevede generalmente due fasi principali: recupero e generazione. Questo flusso di lavoro consente agli sviluppatori di mantenere un modello di base senza doverlo riaddestrare frequentemente a costi elevati.
-
Recupero: quando un utente invia una query, il sistema esegue innanzitutto una ricerca semantica all'interno di un sistema di archiviazione specializzato chiamato database vettoriale. Questo database contiene dati convertiti in rappresentazioni numeriche note come embedding, consentendo al sistema di trovare informazioni concettualmente simili invece di limitarsi a confrontare le parole chiave.
-
Generazione: i documenti o gli estratti di dati pertinenti individuati durante il recupero vengono combinati con la domanda originale dell'utente. Questo prompt arricchito viene quindi inviato al modello generativo. Il modello utilizza il contesto fornito per sintetizzare una risposta, garantendo che la risposta si basi sui fatti recuperati. Per un'analisi più approfondita dei meccanismi, IBM fornisce una guida completa ai flussi di lavoro RAG.
RAG visivo: integrazione della computer vision#
Sebbene RAG sia tradizionalmente basato sul testo, la diffusione dell'apprendimento multimodale ha introdotto il "RAG visivo". In questo scenario, i modelli di computer vision fungono da meccanismo di recupero. Analizzano immagini o flussi video per estrarre dati testuali strutturati, come nomi degli oggetti, conteggi o attività, che vengono poi forniti a un LLM per rispondere a domande sulla scena visiva.
Ad esempio, uno sviluppatore può usare YOLO26 per rilevare gli oggetti in un'immagine e passare l'elenco degli oggetti a un modello testuale per generare un report descrittivo.
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."Applicazioni nel mondo reale#
RAG sta trasformando i settori industriali consentendo agli agenti di AI di accedere in modo sicuro a dati proprietari o in tempo reale.
- Knowledge base aziendali: le aziende usano RAG per creare chatbot interni in grado di rispondere alle domande dei dipendenti sulle politiche delle risorse umane o sulla documentazione tecnica. Collegando un LLM a un repository di documenti aggiornato, il sistema evita di fornire informazioni obsolete sulle politiche aziendali. Per ulteriori informazioni sulle implementazioni aziendali, consulta la panoramica di Google Cloud su RAG in Vertex AI.
- Supporto alle decisioni cliniche: nell'ambito dell'AI nell'assistenza sanitaria, i sistemi RAG possono recuperare l'anamnesi del paziente e articoli recenti di ricerca medica per aiutare i medici nella diagnosi, garantendo che i suggerimenti tengano conto degli studi clinici più recenti.
- Assistenti intelligenti per la vendita al dettaglio: le applicazioni che utilizzano l'AI nel retail sfruttano RAG per consultare i database delle scorte in tempo reale. Se un cliente chiede a un chatbot: "Avete queste scarpe da running nella taglia 10?", il modello recupera i livelli delle scorte in tempo reale prima di rispondere, evitando la frustrazione causata da articoli esauriti.
RAG e fine-tuning a confronto#
È fondamentale distinguere RAG dal fine-tuning, poiché risolvono problemi diversi.
- RAG (generazione aumentata dal recupero): ideale per accedere a dati dinamici e soggetti a frequenti cambiamenti, come prezzi delle azioni e notizie, o a dati privati non presenti nel set di addestramento pubblico. Si concentra sulla fornitura di nuove informazioni durante l'esecuzione.
- Fine-tuning: ideale per adattare il comportamento, lo stile o la terminologia del modello. Consiste nell'aggiornamento dei pesi del modello su un dataset specifico. Sebbene il fine-tuning aiuti un modello ad apprendere uno schema linguistico specifico, come il gergo medico, non gli garantisce l'accesso a fatti in tempo reale. Consulta la guida di OpenAI sul fine-tuning rispetto a RAG per conoscere i framework utili a prendere decisioni.
Concetti correlati#
- LangChain: un framework open source molto diffuso, progettato specificamente per semplificare la creazione di applicazioni RAG concatenando retriever e LLM.
- Knowledge Graph: un modo strutturato di rappresentare i dati che può essere utilizzato come fonte di recupero, offrendo relazioni contestualmente più ricche rispetto alla semplice similarità vettoriale.
- Prompt Engineering: l'arte di creare input per guidare il modello. RAG è essenzialmente una forma automatizzata di prompt engineering, in cui il "prompt" viene arricchito programmaticamente con dati recuperati.
- Ultralytics Platform: mentre RAG gestisce il lato della generazione testuale, piattaforme come questa sono essenziali per gestire il preprocessing dei dati e l'addestramento dei modelli di visione che forniscono dati visivi alle pipeline RAG multimodali.









