RAG di OpenAI vs. il tuo RAG personalizzato: qual è migliore?
Questo post è stato originariamente pubblicato su The New Stack ed è ripubblicato qui con autorizzazione.
La recente introduzione della funzionalità di retrieval di OpenAI Assistants ha suscitato discussioni significative nella comunità AI. Questa funzionalità integrata incorpora le capacità di Retrieval Augmented Generation (RAG) per il question-answering, consentendo ai modelli linguistici GPT di attingere a conoscenza aggiuntiva per generare risposte più accurate e pertinenti. In un post precedente, abbiamo esplorato i limiti del retrieval RAG integrato di OpenAI e discusso le situazioni in cui potrebbe essere vantaggioso creare una soluzione di retrieval personalizzata.
In questo post, approfondiremo questo argomento confrontando le prestazioni del RAG di OpenAI con un RAG personalizzato basato su un database vettoriale come Milvus. Valuteremo i punti di forza, le debolezze e le sfumature di ciascun approccio, rispondendo infine alla domanda cruciale: quale è migliore?
Che cos'è la Retrieval Augmented Generation (RAG)?
Prima di valutare i sistemi RAG integrati di OpenAI rispetto ai RAG personalizzati, iniziamo comprendendo che cos'è RAG.
RAG, o Retrieval Augmented Generation, è un framework di AI che recupera fatti da una base di conoscenza esterna per garantire che i large language models (LLMs) siano ancorati alle informazioni più accurate e aggiornate. Un tipico sistema RAG comprende un LLM, un database vettoriale come Milvus e alcuni prompt come codice.
Strumento di valutazione RAG: Ragas
Valutare le prestazioni RAG è un compito complesso. Abbiamo bisogno di uno strumento di valutazione RAG equo e obiettivo per valutare più metriche su un dataset adatto, garantendo risultati riproducibili.
Ragas è un framework open-source dedicato alla valutazione delle prestazioni dei sistemi RAG. Fornisce una gamma di metriche di punteggio che misurano diversi aspetti di un sistema RAG per offrire una valutazione completa e da più angolazioni della qualità delle applicazioni RAG.
Questo post utilizzerà faithfulness, answer relevancy, context precision, answer similarity e answer correctness come metriche principali per valutare OpenAI RAG e i nostri sistemi RAG personalizzati.
Faithfulness: Valutazione dell'accuratezza fattuale della risposta generata nel contesto dato.
Answer Relevancy: Valutazione della pertinenza della risposta generata rispetto alla domanda.
Context Precision: Rapporto segnale-rumore nel contesto recuperato.
Answer Correctness: Valutazione dell'accuratezza della risposta generata rispetto alla ground truth.
Answer Similarity: Valutazione della somiglianza semantica tra la risposta generata e la ground truth.
Consulta la documentazione di Ragas per informazioni più dettagliate su Ragas e tutte le metriche.
Dataset di valutazione RAG: FiQA
Abbiamo selezionato il dataset Financial Opinion Mining and Question Answering (FiQA) per la nostra valutazione. Questo dataset ha diverse caratteristiche che lo rendono ideale per la nostra valutazione, tra cui:
Contiene conoscenze finanziarie altamente specializzate che difficilmente saranno presenti nei dati di addestramento dei modelli GPT.
È stato inizialmente progettato per valutare le capacità di Information Retrieval e quindi fornisce snippet di conoscenza ben annotati che fungono da risposte standard (ground truth).
Ragas e la sua community hanno ampiamente riconosciuto FiQA come un dataset di test introduttivo standard.
Configurazione dei sistemi RAG
Ora, costruiamo i due sistemi RAG per il confronto: un RAG OpenAI e un RAG personalizzato basato sul database vettoriale Milvus.
Configurazione del RAG OpenAI
Costruiremo un sistema RAG utilizzando OpenAI Assistants seguendo la documentazione ufficiale di OpenAI, inclusa la creazione degli Assistants, il caricamento della conoscenza esterna, il recupero delle informazioni contestuali e la generazione delle risposte. Tutte le altre impostazioni rimarranno predefinite.
Configurazione di un RAG personalizzato usando Milvus
Dobbiamo configurare manualmente il sistema RAG personalizzato utilizzando il database vettoriale Milvus per archiviare la conoscenza esterna. Useremo `BAAI/bge-base-en` di HuggingFace come modello di embedding, con vari componenti LangChain per l’importazione dei documenti e la costruzione dell’agente.
Per informazioni dettagliate, consulta questa guida passo passo.
Confronto della configurazione
Riassumiamo i dettagli di configurazione dei due sistemi RAG nella tabella seguente. Per maggiori informazioni, consulta il nostro codice di implementazione.
| RAG OpenAI | RAG personalizzato | |
|---|---|---|
| Modello LLM | gpt-4-1106-preview | gpt-4-1106-preview |
| DB vettoriale | Non divulgato | milvus |
| Modello di embedding | Non divulgato | BAAI/bge-base-en |
| Dimensione chunk | Non divulgato | 1000 |
| Sovrapposizione chunk | Non divulgato | 40 |
| topk | Non divulgato | 5 |
| Usa Agent | Sì | Sì |
Tabella: Confronto della configurazione di RAG OpenAI e RAG personalizzato
Come mostrato nella tabella sopra, entrambi i sistemi RAG utilizzano `gpt-4-1106-preview` come modello LLM. Il RAG personalizzato utilizza Milvus come database vettoriale. Tuttavia, OpenAI RAG non divulga il suo database vettoriale integrato né altri parametri di configurazione.
Risultati e analisi della valutazione
Utilizzando Ragas, abbiamo valutato entrambi i sistemi RAG su più metriche, tra cui precisione del contesto, fedeltà, rilevanza della risposta, somiglianza e correttezza. Il grafico qui sotto mostra i punteggi sperimentali ottenuti da Ragas.
Sebbene il sistema RAG OpenAI abbia leggermente superato il sistema RAG personalizzato basato su Milvus nella somiglianza delle risposte, è rimasto indietro in altre metriche cruciali, tra cui precisione del contesto, fedeltà, rilevanza della risposta e correttezza della risposta.
Ragas ci consente anche di confrontare due sistemi RAG usando i Ragas Scores, un valore medio generato calcolando la media armonica di varie metriche. La media armonica viene usata per penalizzare gli elementi con punteggi bassi. Più alti sono i punteggi Ragas, migliori sono le prestazioni complessive di un sistema RAG. Il grafico qui sotto mostra i punteggi Ragas dei due sistemi RAG.
Come mostrato nel grafico, il sistema RAG personalizzato basato su Milvus ha Ragas Scores più alti rispetto al sistema RAG OpenAI.
In conclusione, il sistema RAG personalizzato basato su Milvus ha superato il sistema RAG OpenAI per quanto riguarda i Ragas Scores e altre metriche cruciali, tra cui precisione del contesto, fedeltà, rilevanza e correttezza della risposta.
Perché il RAG personalizzato supera il RAG integrato di OpenAI?
Attraverso molti confronti individuali, abbiamo scoperto che la pipeline RAG personalizzata basata su un database vettoriale offre prestazioni migliori rispetto al sistema RAG basato su OpenAI Assistants. Perché? Ecco alcuni dei motivi più importanti.
Gli OpenAI Assistants si basano sulla conoscenza interna pre-addestrata piuttosto che sulla conoscenza esterna.
A causa della loro configurazione interna degli agenti, gli assistenti OpenAI fanno più affidamento sul pre-addestramento che sulla conoscenza caricata. Per esempio, quando è stato chiesto loro delle lezioni di finanza personale alle scuole superiori, il sistema RAG di OpenAI ha fornito una risposta che si basava su qualcosa di diverso dalla verità di riferimento.
| Domanda | Le lezioni di finanza personale/gestione del denaro vengono insegnate alle scuole superiori, da qualche parte? |
|---|---|
| Risposta del sistema RAG di OpenAI | Le lezioni di finanza personale e gestione del denaro vengono effettivamente insegnate in alcune scuole superiori, anche se la disponibilità e l’obbligatorietà di tali corsi possono variare notevolmente a seconda del Paese e persino all’interno delle regioni di un Paese. Negli Stati Uniti, per esempio, il Council for Economic Education (CEE) conduce sondaggi e pubblica rapporti sull’educazione finanziaria nelle scuole K-12. I loro risultati suggeriscono che, al mio ultimo aggiornamento, un numero crescente di Stati ha integrato la finanza personale nei propri standard educativi, e alcuni hanno imposto agli studenti di seguire un corso di finanza personale per diplomarsi. Anche se non ho accesso a un database in tempo reale o agli studi più recenti, spesso puoi trovare informazioni sull’educazione finanziaria nelle scuole: 1. Consultando i siti web governativi sull’istruzione. 2. Esaminando i rapporti di organizzazioni non profit e consigli di educazione finanziaria. 3. Contattando i consigli scolastici locali o i dipartimenti dell’istruzione. Se sei interessato a località specifiche o hai in mente un focus particolare, potresti specificarlo così potrei fornire informazioni più dirette, se disponibili. |
| Risposta del sistema RAG personalizzato | Le lezioni di finanza personale e gestione del denaro vengono effettivamente insegnate in alcune scuole superiori, ma la disponibilità e i requisiti di tali corsi possono variare notevolmente. Per esempio, a Houston, Texas, una scuola superiore privata offriva un corso opzionale di mezzo semestre in finanza personale che non forniva crediti per il diploma. La Staples High School di Westport, Connecticut, ha introdotto un corso di gestione finanziaria personale incentrato sull’uso della matematica per sviluppare competenze di alfabetizzazione finanziaria, trattando argomenti come guadagni, banche, carte di credito, prestiti, tasse, assicurazioni, investimenti, budgeting e acquisto di beni personali. Le scuole pubbliche di Ann Arbor, Michigan, offrivano un corso di “educazione civica” che includeva argomenti di base sulla gestione del denaro. Inoltre, nel Regno Unito, il framework “Every Child Matters” include il “raggiungimento del benessere economico” come elemento importante, e alcune scuole utilizzano un School Rewards System per insegnare ai ragazzi la finanza e l’economia. Sebbene questi esempi mostrino che tali corsi esistono, non sono universalmente obbligatori o standardizzati, e la profondità e il focus del curriculum possono variare. |
| Verità di riferimento nel dataset | A Houston, Texas, USA, dove ho frequentato una scuola superiore privata, c’era un corso di mezzo semestre in finanza personale, ma era opzionale e non dava alcun credito per il diploma. Hai ragione però, dovrebbe essere un corso standard. Dopotutto, chi non ha bisogno di quelle informazioni nella vita adulta, e non tutti vanno all’università." ... Avevamo un corso di “educazione civica” quando ero al primo anno di scuola superiore. Questo era nelle scuole pubbliche di Ann Arbor, MI. Copriva proprio le basi (come bilanciare il libretto degli assegni, cosa sono le azioni, come funzionano le imposte sul reddito, cos’è l’interesse, ecc.) della gestione del denaro insieme a una panoramica della politica e del sistema legale. Era però un corso davvero leggero e non approfondiva molto la finanza personale e la gestione del denaro. Sono d’accordo sul fatto che un corso del genere sarebbe molto prezioso, così come cucina, nutrizione e riparazioni di base della casa e dell’auto. |
Sebbene la risposta del sistema RAG di OpenAI non sia sbagliata, manca di specificità e il suo riconoscimento di non accedere agli studi più recenti suggerisce un utilizzo incompleto della conoscenza del documento caricato. Al contrario, il sistema RAG Personalizzato fornisce una risposta più accurata integrando perfettamente informazioni specifiche dalla ground truth. Questo confronto evidenzia la superiore capacità del RAG personalizzato di sfruttare efficacemente dati esterni, distinguendolo come una soluzione più affidabile e competente.
Il RAG Personalizzato è migliore nella segmentazione dei documenti e nel recupero dei dati rispetto al RAG di OpenAI
La strategia di segmentazione della conoscenza e di richiamo di OpenAI potrebbe richiedere un'ottimizzazione. A volte, lo snippet recuperato è inadeguato, ad esempio fornendo solo 'PROS: CONS' per una domanda sugli investimenti IRA. Al contrario, la Pipeline RAG Personalizzata eccelle nel richiamare snippet rilevanti, offrendo una risposta più completa.
| Domanda | Pro/contro di essere più coinvolti negli investimenti IRA |
|---|---|
| Snippet recuperato da OpenAI RAG | ['PROS: CONS'] |
| Snippet recuperato da Customized RAG | ['nell'aliquota fiscale, c'è anche una differenza significativa nell'importo tassato. Pertanto, prelevare dall'IRA generalmente non è una buona idea, e non starai mai meglio prelevando dall'IRA rispetto a liquidare investimenti tassabili (dal punto di vista fiscale). È così per progettazione."' "Sembra una cattiva idea. L'IRA si basa sul potere dell'interesse composto. Rimuovere i contributi danneggerà i tuoi risparmi pensionistici, e non sarai mai in grado di recuperarli. Considera invece investimenti esentasse. Obbligazioni statali, obbligazioni federali, obbligazioni municipali, ecc. Per esempio, investo in un fondo di obbligazioni municipali della California che mi dà circa il 3-4% di reddito annuo da dividendi - completamente esentasse. Inoltre - c'è l'apprezzamento del capitale delle partecipazioni del tuo fondo. Ci sono rischi, naturalmente, per esempio le variazioni dei tassi influenzeranno i rendimenti e l'apprezzamento del capitale, quindi consulta qualcuno competente in quest'area (o fai un'altra domanda qui, per le basi). Questo ti darà lo stesso risultato che ti aspetti dal tuo trucco con il Roth IRA, senza danneggiare il potenziale dei tuoi risparmi pensionistici." "Oltre all'eccellente consiglio di George Marian, aggiungerò che se stai raggiungendo i limiti dei contributi IRA, allora torneresti al tuo 401(k). Quindi, versa abbastanza nel tuo 401(k) per ottenere il contributo corrispondente, poi massimizza i contributi IRA per darti accesso a opzioni di investimento maggiori e migliori, poi torna al tuo 401(k) finché non raggiungi anche quel limite, supponendo che tu abbia così tanto disponibile da investire per la pensione." "Sebbene il differimento fiscale sia una caratteristica interessante, il 401k non è il Santo Graal. Ho visto molti 401k in cui le opzioni di investimento sono terribili: performance inferiori alla media, commissioni elevate, opzioni limitate. È fantastico che tu abbia massimizzato il tuo Roth IRA. Ti faccio i complimenti per questo. Finché le opzioni di investimento nel tuo 401k sono buone, allora io continuerei con quello." "piani pensionistici che offrono loro buoni fondi indicizzati economici. Queste persone probabilmente non devono preoccuparsi altrettanto. Infine, avere due conti è più complicato. Per favore contatta qualcuno che sappia più di tasse di quanto ne sappia io per capire quali limitazioni si applicano al contribuire sia agli IRA sia ai 401(k) nello stesso anno."] |
OpenAI Assistants ha recuperato uno snippet falso. Al contrario, il RAG Personalizzato ha recuperato snippet più rilevanti, offrendo una risposta più completa che si allinea con le sfumature della domanda.
Altri motivi
OpenAI Assistants non consente agli utenti di regolare i parametri nella pipeline RAG per la personalizzazione o l'ottimizzazione. Tuttavia, con il RAG personalizzato, gli utenti possono avere completa flessibilità per la regolazione e l'ottimizzazione.
OpenAI Assistants presenta limitazioni nell’archiviazione dei file, mentre il RAG personalizzato basato su Milvus può scalare rapidamente senza un limite massimo, rendendolo un’opzione migliore per gli utenti che richiedono una maggiore capacità di archiviazione.
Conclusione
In conclusione, il nostro confronto e la nostra analisi completi utilizzando lo strumento di valutazione Ragas evidenziano i punti di forza e di debolezza del RAG di OpenAI e di un RAG personalizzato basato su un database vettoriale come Milvus. Sebbene il RAG di OpenAI offra buone prestazioni nel recupero, il RAG personalizzato eccelle nella qualità e pertinenza delle risposte, nelle prestazioni di richiamo e in molti altri aspetti. Gli sviluppatori alla ricerca di applicazioni RAG potenti ed efficaci troveranno preferibile la flessibilità e le capacità di una soluzione RAG basata su database vettoriale per ottenere risultati migliori.
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 Zilliz CLI and Agent Skills for Zilliz Cloud
Manage your vector database from your terminal or AI coding agent. Zilliz CLI and Agent Skills work with Claude Code, Cursor, Codex, and Copilot.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.



