Retrieval augmented generation

Versione del 29 apr 2025 alle 10:40 di Ppong.it (discussione | contributi) (WIP)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

La Retrieval Augmented Generation (abbreviato RAG, in italiano: generazione potenziata da ricerca) è una tecnica che si propone di migliorare i risultati di uno strumento di intelligenza artificiale generativa tramite la ricerca in tempo reale di dati che si vanno ad aggiungere all'input utente.

In particolare, si parla di RAG nel caso di IA generativa testuali[1] (come ad esempio ChatGPT) questo risponderebbe in base alle sole informazioni che sono state immagazzinate all'interno della rete neurale durante il suo addestramento, il che significa che qualsiasi informazione posteriore all'addestramento o estranea ai dati di addestramento sarebbe sconosciuta al modello. Tuttavia, ChatGPT è fornito di una componente di retrieval che cerca informazioni rilevanti su internet e le fornisce al modello perché le usi per rispondere meglio agli utenti. Questo è un esempio tipico di Retrieval Augmented Generation, altri esempi attingono a banche dati specializzate per fornire alla AI generativa informazioni settoriali o relative a una certa azienda o organizzazione.

Cenni storici

L'espressione Retrieval Augmented Generation è stata coniata dai ricercatori di Meta (al tempo chiamata Facebook) in un contesto di crescente interesse per i modelli linguistici di grandi dimensioni. Si era osservato come questi modelli fossero capaci di immagazzinare al proprio interno conoscenze fattuali, ma non c'era metodo noto per inculcare efficacemente nel modello nuove conoscenze a piacere. La RAG proponeva di aggirare questo problema mantenendo un database esterno al modello, dal quale le informazioni ricercare le informazioni necessarie e fornirle al modello allegate ai messaggi dell'utente[1].

Fin dall'articolo originale, la RAG è stata spessissimo associata ai database vettoriali, semplice strumento di ricerca semantica basato su un modello di intelligenza artificiale non generativa, capace di proiettare documenti di testo all'interno di uno spazio vettoriale (chiamato embedding) in modo tale da poter facilmente applicare un algoritmo di ricerca di prossimità per trovare documenti che abbiano tra loro un contenuto semanticamente affine[2]. Questo è semplicemente uno dei metodi con cui, a partire da una richiesta dell'utente, si possono trovare documenti rilevanti per questa richiesta, da un corpo complessivo di documenti da cui attingere. Di fatto, si è osservato che la ricerca tramite solo database vettoriale non è ottimale nel caso generale, e che sono più efficaci sistemi ibridi che integrano il DB vettoriale con una ricerca più convenzionale per parole chiave[3].

  1. ^ a b (EN) What is retrieval-augmented generation (RAG)?, su IBM Research, 9 febbraio 2021. URL consultato il 29 aprile 2025.
  2. ^ (EN) Rick Merritt, What Is Retrieval-Augmented Generation aka RAG?, su NVIDIA Blog, 31 gennaio 2025. URL consultato il 29 aprile 2025.
  3. ^ (EN) Introducing Contextual Retrieval, su www.anthropic.com, 19 settembre 2024. URL consultato il 29 aprile 2025.