Retrieval Augmented Generation (RAG)
Scopri come il Retrieval Augmented Generation (RAG) migliora i modelli di IA integrando dati esterni affidabili e in tempo reale per risposte accurate e aggiornate.
La Retrieval Augmented Generation (RAG) è un framework avanzato progettato per ottimizzare l'output di
modelli linguistici di grandi dimensioni (LLM)
di una base di conoscenza autorevole al di fuori dei dati di addestramento originali. Nei sistemi di
sistemi di intelligenza artificiale generativa standard, il modello si affida esclusivamente alle informazioni
informazioni statiche apprese durante l'addestramento, il che può portare a risposte non aggiornate o a errori di fatto noti come
allucinazioni. RAG colma questa lacuna
recupera informazioni rilevanti e aggiornate da fonti esterne affidabili e le fornisce al modello come contesto prima di generare una risposta.
prima di generare una risposta. Questo processo mette efficacemente a terra l'IA, garantendo un'elevata
accuratezza e pertinenza senza dover ricorrere a costosi
costosa riqualificazione del modello.
Come funziona la Generazione Aumentata di Recupero
Il flusso di lavoro RAG integra due componenti principali: un sistema di reperimento e un modello di generazione. Questa sinergia trasforma
come
elaborazione del linguaggio naturale (NLP)
NLP (Natural Language Processing).
-
Recupero: Quando un utente invia una domanda, il sistema cerca prima in una base di conoscenza specializzata, in genere memorizzata in un
base di conoscenza specializzata, in genere memorizzata in un
database vettoriale. Questo database contiene
rappresentazioni numerichedel testo o dei dati ,che consentono una
dati, che consentono un'efficiente ricerca semantica.
Il retriever identifica i documenti o i frammenti di dati che sono semanticamente più simili alla richiesta dell'utente.
-
Aumento: Le informazioni recuperate vengono poi combinate con l'interrogazione originale dell'utente, utilizzando tecniche di
tecniche di prompt engineering. Questo prompt "aumentato" fornisce al modello il contesto fattuale necessario
Questo prompt "aumentato" fornisce al modello il contesto fattuale necessario che inizialmente mancava.
-
Generazione: Infine, il prompt arricchito viene passato al LLM. Il modello utilizza il contesto fornito
per generare una risposta coerente e fondata sui fatti. Per orchestrare queste fasi senza soluzione di continuità si ricorre spesso a framework leader come
LangChain sono spesso utilizzati per orchestrare queste fasi senza soluzione di continuità.
Applicazioni nel mondo reale
Il RAG è essenziale nei settori in cui i dati cambiano frequentemente o in cui la precisione è fondamentale.
-
Gestione della conoscenza aziendale: Le organizzazioni utilizzano RAG per alimentare i chatbot interni
chatbot interni che assistono i dipendenti. Ad esempio, un assistente alle risorse umane
può recuperare gli ultimi documenti sulle politiche da un server aziendale per rispondere alle domande sui benefit. In questo modo
garantisce che l'intelligenza artificiale si attenga a protocolli aziendali specifici piuttosto che a conoscenze generiche su Internet.
-
Supporto alle decisioni cliniche: In campo medico,
l 'IA in ambito sanitario trae notevoli vantaggi dalla
RAG. Un sistema può recuperare i più recenti documenti di ricerca medica o specifiche anamnesi dei pazienti per aiutare i medici nella diagnosi, assicurando che la diagnosi sia corretta.
medici nella diagnosi, assicurando che la
modelli predittivi siano basati sulle ultime
scienza più recente piuttosto che sulla data di scadenza del modello.
RAG nella Computer Vision
Pur essendo tradizionalmente basati sul testo, i concetti di RAG si stanno espandendo alla
visione artificiale (CV). In un modello
modello multimodale, un sistema potrebbe recuperare
immagini simili o metadati visivi per aiutare a
di rilevamento o classificazione degli oggetti. Ad esempio,
l'identificazione di un esemplare biologico raro potrebbe essere migliorata recuperando immagini di riferimento da un database scientifico per
l'analisi visiva eseguita da modelli come
Ultralytics YOLO11.
RAG vs. messa a punto
È importante distinguere il RAG dalla regolazione fine, in quanto
risolvere problemi diversi:
-
RAG collega un modello a fatti dinamici esterni. È la soluzione migliore per le applicazioni che richiedono
informazioni aggiornate e verificabilità. Non modifica i parametri interni del modello.
-
La messa a punto comporta un ulteriore addestramento del
modello su un set di dati specifico per regolare i pesi del modello.
pesi del modello. Questo è ideale per insegnare a un modello uno
stile, il tono o il comportamento di un compito specializzato, ma è meno efficace per mantenere una base di conoscenza di
fatti in rapida evoluzione. Spesso gli sviluppatori utilizzano
l 'apprendimento per trasferimento per combinare entrambi gli approcci
per ottenere prestazioni ottimali.
Esempio: Aumento di un prompt con i dati di rilevamento
In questo esempio Python , simuliamo un flusso di lavoro RAG di base, utilizzando un modello di rilevamento degli oggetti per "recuperare" i fatti di un'immagine.
fatti su un'immagine. Questi fatti completano una richiesta di testo, fondando la descrizione su dati visivi verificati.
from ultralytics import YOLO
# Load the YOLO11 model acting as our 'retrieval' mechanism for visual facts
model = YOLO("yolo11n.pt")
# Run inference to retrieve content information from the image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detected classes to augment the prompt
detected_objects = [model.names[int(cls)] for cls in results[0].boxes.cls]
context_string = ", ".join(set(detected_objects))
# Construct the augmented prompt (RAG concept)
prompt = f"Based on the verified presence of {context_string} in the scene, describe the traffic situation."
print(f"Augmented Prompt: {prompt}")