OpenAI RAG vs. Ihr maßgeschneidertes RAG: Welches ist besser?
Dieser Beitrag wurde ursprünglich auf The New Stack veröffentlicht und wird hier mit Genehmigung erneut veröffentlicht.
Die kürzliche Einführung der OpenAI Assistants Retrieval-Funktion hat in der KI-Community erhebliche Diskussionen ausgelöst. Diese integrierte Funktion umfasst die Fähigkeiten der Retrieval Augmented Generation (RAG) für die Beantwortung von Fragen und ermöglicht es GPT-Sprachmodellen, auf zusätzliches Wissen zuzugreifen, um genauere und relevantere Antworten zu generieren. In einem früheren Beitrag haben wir die Einschränkungen der integrierten RAG-Retrieval-Funktion von OpenAI untersucht und Situationen besprochen, in denen die Erstellung einer angepassten Retrieval-Lösung vorteilhaft sein könnte.
In diesem Beitrag gehen wir tiefer auf dieses Thema ein, indem wir die Leistung von OpenAIs RAG mit einem angepassten RAG vergleichen, das auf einer Vektordatenbank wie Milvus basiert. Wir bewerten die Stärken, Schwächen und Nuancen jedes Ansatzes und beantworten letztlich die entscheidende Frage: Welcher ist besser?
Was ist Retrieval Augmented Generation (RAG)?
Bevor wir OpenAIs integriertes RAG mit angepassten RAG-Systemen vergleichen, beginnen wir damit zu verstehen, was RAG ist.
RAG, oder Retrieval Augmented Generation, ist ein KI-Framework, das Fakten aus einer externen Wissensbasis abruft, um sicherzustellen, dass große Sprachmodelle (LLMs) auf den genauesten und aktuellsten Informationen basieren. Ein typisches RAG-System besteht aus einem LLM, einer Vektordatenbank wie Milvus und einigen Prompts als Code.
RAG-Bewertungstool: Ragas
Die Bewertung der RAG-Leistung ist eine komplexe Aufgabe. Wir benötigen ein faires und objektives RAG-Bewertungstool, um mehrere Metriken auf einem geeigneten Datensatz zu bewerten und reproduzierbare Ergebnisse sicherzustellen.
Ragas ist ein Open-Source-Framework, das der Bewertung der Leistung von RAG-Systemen gewidmet ist. Es bietet eine Reihe von Bewertungsmetriken, die verschiedene Aspekte eines RAG-Systems messen, um eine umfassende und mehrperspektivische Bewertung der Qualität von RAG-Anwendungen zu ermöglichen.
In diesem Beitrag werden Treue, Antwortrelevanz, Kontextpräzision, Antwortähnlichkeit und Antwortkorrektheit als primäre Metriken verwendet, um OpenAI RAG und unsere angepassten RAG-Systeme zu bewerten.
Treue: Bewertung der faktischen Genauigkeit der generierten Antwort im gegebenen Kontext.
Antwortrelevanz: Bewertung der Relevanz der generierten Antwort für die Frage.
Kontextpräzision: Signal-Rausch-Verhältnis im abgerufenen Kontext.
Antwortkorrektheit: Bewertung der Genauigkeit der generierten Antwort im Vergleich zur Ground Truth.
Antwortähnlichkeit: Bewertung der semantischen Ähnlichkeit zwischen der generierten Antwort und der Ground Truth.
Weitere detaillierte Informationen über Ragas und alle Metriken finden Sie in der Ragas-Dokumentation.
RAG-Evaluierungsdatensatz: FiQA
Wir haben den Datensatz Financial Opinion Mining and Question Answering (FiQA) für unsere Bewertung ausgewählt. Dieser Datensatz weist mehrere Eigenschaften auf, die ihn ideal für unsere Bewertung machen, darunter:
Er enthält hochspezialisiertes Finanzwissen, das wahrscheinlich nicht in den Trainingsdaten von GPT-Modellen vorhanden ist.
Er wurde ursprünglich entwickelt, um Information-Retrieval-Fähigkeiten zu bewerten, und bietet daher gut annotierte Wissensschnipsel, die als Standardantworten (Ground Truth) dienen.
Ragas und seine Community haben FiQA weithin als standardmäßigen einführenden Testdatensatz anerkannt.
Einrichten der RAG-Systeme
Erstellen wir nun die beiden RAG-Systeme zum Vergleich: ein OpenAI-RAG und ein benutzerdefiniertes RAG, das auf der Milvus-Vektordatenbank basiert.
Einrichtung von OpenAI RAG
Wir erstellen ein RAG-System mit OpenAI Assistants, indem wir der offiziellen Dokumentation von OpenAI folgen, einschließlich der Erstellung der Assistants, des Hochladens des externen Wissens, des Abrufens kontextueller Informationen und der Generierung von Antworten. Alle anderen Einstellungen bleiben auf den Standardwerten.
Einrichtung eines benutzerdefinierten RAG mit Milvus
Wir müssen das benutzerdefinierte RAG-System manuell mit der Milvus-Vektordatenbank einrichten, um das externe Wissen zu speichern. Wir verwenden `BAAI/bge-base-en` von HuggingFace als Embedding-Modell, mit verschiedenen LangChain-Komponenten für den Dokumentenimport und die Agentenkonstruktion.
Ausführliche Informationen finden Sie in dieser Schritt-für-Schritt-Anleitung.
Konfigurationsvergleich
Wir fassen die Konfigurationsdetails der beiden RAG-Systeme in der folgenden Tabelle zusammen. Weitere Informationen finden Sie in unserem Implementierungs-Code.
| OpenAI RAG | Benutzerdefiniertes RAG | |
|---|---|---|
| LLM-Modell | gpt-4-1106-preview | gpt-4-1106-preview |
| Vektordatenbank | Nicht offengelegt | milvus |
| Embedding-Modell | Nicht offengelegt | BAAI/bge-base-en |
| Chunk-Größe | Nicht offengelegt | 1000 |
| Chunk-Überlappung | Nicht offengelegt | 40 |
| topk | Nicht offengelegt | 5 |
| Agent verwenden | Ja | Ja |
Tabelle: Konfigurationsvergleich von OpenAI RAG und benutzerdefiniertem RAG
Wie in der obigen Tabelle gezeigt, verwenden beide RAG-Systeme `gpt-4-1106-preview` als LLM-Modell. Das benutzerdefinierte RAG verwendet Milvus als Vektordatenbank. OpenAI RAG legt jedoch weder seine integrierte Vektordatenbank noch andere Konfigurationsparameter offen.
Evaluationsergebnisse und Analyse
Mithilfe von Ragas haben wir beide RAG-Systeme anhand mehrerer Metriken bewertet, darunter Kontextpräzision, Faktentreue, Antwortrelevanz, Ähnlichkeit und Korrektheit. Die folgende Grafik zeigt die experimentellen Bewertungen, die wir von Ragas erhalten haben.
Während das OpenAI-RAG-System das Milvus-gestützte benutzerdefinierte RAG-System bei der Antwortähnlichkeit leicht übertraf, lag es bei anderen entscheidenden Metriken zurück, darunter Kontextpräzision, Faktentreue, Antwortrelevanz und Antwortkorrektheit.
Ragas ermöglicht es uns außerdem, zwei RAG-Systeme mithilfe von Ragas Scores zu vergleichen, einem Durchschnittswert, der durch die Berechnung des harmonischen Mittels verschiedener Metriken erzeugt wird. Das harmonische Mittel wird verwendet, um Elemente mit niedrigen Bewertungen zu bestrafen. Je höher die Ragas Scores, desto besser die Gesamtleistung eines RAG-Systems. Die folgende Grafik zeigt die Ragas Scores von zwei RAG-Systemen.
Wie in der Grafik gezeigt, hat das Milvus-gestützte benutzerdefinierte RAG-System höhere Ragas Scores als das OpenAI-RAG-System.
Zusammenfassend lässt sich sagen, dass das Milvus-gestützte benutzerdefinierte RAG-System das OpenAI-RAG-System in Bezug auf Ragas Scores und andere entscheidende Metriken übertroffen hat, darunter Kontextpräzision, Faktentreue, Antwortrelevanz und Korrektheit.
Warum übertrifft das benutzerdefinierte RAG OpenAIs integriertes RAG?
Durch viele Einzelvergleiche haben wir festgestellt, dass die benutzerdefinierte RAG-Pipeline auf Basis einer Vektordatenbank besser abschneidet als das RAG-System auf Basis von OpenAI Assistants. Warum? Hier sind einige der wichtigsten Gründe.
OpenAI Assistants verlassen sich eher auf internes Vortrainingswissen als auf externes Wissen.
Aufgrund ihres internen Agenten-Setups verlassen sich OpenAI-Assistenten stärker auf Vortraining als auf hochgeladenes Wissen. Als sie beispielsweise nach Kursen zu persönlichen Finanzen in der Highschool gefragt wurden, lieferte das OpenAI-RAG-System eine Antwort, die sich auf etwas anderes als die Grundwahrheit stützte.
| Frage | Werden irgendwo Kurse zu persönlichen Finanzen/Geldmanagement in der Highschool unterrichtet? |
|---|---|
| Antwort des OpenAI-RAG-Systems | Kurse zu persönlichen Finanzen und Geldmanagement werden tatsächlich an einigen Highschools unterrichtet, obwohl die Verfügbarkeit und die Verpflichtung zu solchen Kursen je nach Land und sogar innerhalb von Regionen eines Landes stark variieren können. In den Vereinigten Staaten führt beispielsweise der Council for Economic Education (CEE) Umfragen durch und berichtet über Finanzbildung an K-12-Schulen. Ihre Ergebnisse deuten darauf hin, dass nach meinem letzten Stand eine wachsende Zahl von Bundesstaaten persönliche Finanzen in ihre Bildungsstandards integriert hat und einige vorgeschrieben haben, dass Schüler einen Kurs zu persönlichen Finanzen belegen müssen, um ihren Abschluss zu machen. Obwohl ich keinen Zugriff auf eine Live-Datenbank oder die neuesten Studien habe, finden Sie Informationen über Finanzbildung an Schulen häufig durch: 1. Überprüfung staatlicher Bildungswebsites. 2. Einsicht in Berichte von gemeinnützigen Organisationen und Räten für Finanzbildung. 3. Kontaktaufnahme mit lokalen Schulbehörden oder Bildungsministerien. Wenn Sie an bestimmten Orten interessiert sind oder einen bestimmten Schwerpunkt im Sinn haben, könnten Sie das angeben, damit ich, falls verfügbar, direktere Informationen liefern kann. |
| Antwort des angepassten RAG-Systems | Kurse zu persönlichen Finanzen und Geldmanagement werden tatsächlich an einigen Highschools unterrichtet, aber die Verfügbarkeit und die Anforderungen solcher Kurse können stark variieren. In Houston, Texas, bot beispielsweise eine private Highschool einen optionalen halbsemestrigen Kurs zu persönlichen Finanzen an, der keine Credits für den Abschluss einbrachte. Die Staples High School in Westport, Connecticut, führte einen Kurs in persönlichem Finanzmanagement ein, der darauf ausgerichtet war, Mathematik zur Entwicklung finanzieller Kompetenzen zu nutzen, und Themen wie Einkommen, Bankwesen, Kreditkarten, Kredite, Steuern, Versicherungen, Investieren, Budgetierung und den Kauf von persönlichem Eigentum abdeckte. Öffentliche Schulen in Ann Arbor, Michigan, boten einen „civics“-Kurs an, der grundlegende Themen des Geldmanagements umfasste. Darüber hinaus enthält im Vereinigten Königreich der Rahmen „Every Child Matters“ „das Erreichen wirtschaftlichen Wohlergehens“ als wichtiges Element, und einige Schulen nutzen ein School Rewards System, um Kindern etwas über Finanzen und die Wirtschaft beizubringen. Während diese Beispiele zeigen, dass solche Kurse existieren, sind sie nicht überall vorgeschrieben oder standardisiert, und Tiefe und Schwerpunkt des Lehrplans können variieren. |
| Grundwahrheit im Datensatz | In Houston, Texas, USA, wo ich auf eine private Highschool ging, hatten sie einen halbsemestrigen Kurs zu persönlichen Finanzen, aber er war optional und brachte keine Credits für den Abschluss. Du hast aber recht, es sollte ein Standardkurs sein. Schließlich: Wer braucht diese Informationen nicht im Erwachsenenleben, und nicht jeder geht aufs College." ... Wir hatten einen „civics“-Kurs, als ich in der neunten Klasse der Highschool war. Das war an den öffentlichen Schulen in Ann Arbor, MI. Er behandelte die absoluten Grundlagen (wie man sein Scheckbuch ausgleicht, was Aktien sind, wie Einkommenssteuern funktionieren, was Zinsen sind usw.) des Geldmanagements zusammen mit einem Überblick über Politik und das Rechtssystem. Es war allerdings ein wirklich leichter Kurs und ging nicht tief auf persönliche Finanzen und Geldmanagement ein. Ich stimme zu, dass ein solcher Kurs sehr wertvoll wäre, ebenso wie Kochen, Ernährung und grundlegende Haus- und Autoreparaturen. |
Während die Antwort des OpenAI-RAG-Systems nicht falsch ist, mangelt es ihr an Spezifität, und das Eingeständnis, nicht auf die neuesten Studien zuzugreifen, deutet auf eine unvollständige Nutzung des Wissens aus dem hochgeladenen Dokument hin. Im Gegensatz dazu liefert das benutzerdefinierte RAG-System eine genauere Antwort, indem es spezifische Informationen aus der Ground Truth nahtlos integriert. Dieser Vergleich zeigt die überlegene Fähigkeit des benutzerdefinierten RAG, externe Daten effektiv zu nutzen, und zeichnet es als zuverlässigere und kompetentere Lösung aus.
Benutzerdefiniertes RAG ist bei der Dokumentensegmentierung und dem Datenabruf besser als OpenAI RAG
Die Wissenssegmentierungs- und Abrufstrategie von OpenAI könnte optimiert werden müssen. Manchmal ist der abgerufene Ausschnitt unzureichend, etwa wenn für eine Frage zu IRA-Investitionen nur „PROS: CONS“ bereitgestellt wird. Im Gegensatz dazu zeichnet sich die benutzerdefinierte RAG-Pipeline dadurch aus, relevante Ausschnitte abzurufen und eine umfassendere Antwort zu bieten.
| Frage | Vor-/Nachteile einer stärkeren Beteiligung an IRA-Investitionen |
|---|---|
| Von OpenAI RAG abgerufener Ausschnitt | ['PROS: CONS'] |
| Von benutzerdefiniertem RAG abgerufener Ausschnitt | ['beim Steuersatz gibt es auch einen erheblichen Unterschied bei dem Betrag, der besteuert wird. Daher ist eine Entnahme aus einer IRA im Allgemeinen keine gute Idee, und Sie werden mit einer Entnahme aus einer IRA niemals besser dastehen als mit der Veräußerung steuerpflichtiger Investitionen (aus steuerlicher Sicht). Das ist so beabsichtigt."' "Klingt nach einer schlechten Idee. Die IRA basiert auf der Kraft des Zinseszinses. Das Entnehmen von Beiträgen wird Ihre Altersvorsorge beeinträchtigen, und Sie werden das niemals wieder aufholen können. Ziehen Sie stattdessen steuerfreie Anlagen in Betracht. Staatsanleihen, Bundesanleihen, Kommunalanleihen usw. Ich investiere zum Beispiel in einen kalifornischen Muni-Bonds-Fonds, der mir etwa 3–4 % jährliche Dividendenerträge bringt – völlig steuerfrei. Hinzu kommt eine Wertsteigerung Ihrer Fondsbestände. Natürlich gibt es Risiken, zum Beispiel wirken sich Zinsänderungen auf Renditen und Wertsteigerungen aus; konsultieren Sie daher jemanden, der sich in diesem Bereich auskennt (oder stellen Sie hier eine weitere Frage zu den Grundlagen). Dies wird Ihnen dasselbe Ergebnis liefern, das Sie von Ihrem Roth-IRA-Trick erwarten, ohne Ihr Potenzial für die Altersvorsorge zu schädigen." "Zusätzlich zu George Marians ausgezeichnetem Rat möchte ich hinzufügen: Wenn Sie die Grenzen für IRA-Beiträge erreichen, würden Sie wieder zu Ihrem 401(k) zurückkehren. Zahlen Sie also genug in Ihren 401(k) ein, um den Arbeitgeberzuschuss zu erhalten, schöpfen Sie dann die IRA-Beiträge aus, um Zugang zu mehr und besseren Anlageoptionen zu bekommen, und kehren Sie anschließend zu Ihrem 401(k) zurück, bis Sie auch dort das Maximum erreicht haben, sofern Ihnen so viel zur Verfügung steht, um für den Ruhestand zu investieren." "Auch wenn Steuerstundung ein nettes Merkmal ist, ist der 401k nicht der Heilige Gral. Ich habe viele 401k-Pläne gesehen, bei denen die Anlageoptionen schrecklich sind: unterdurchschnittliche Performance, hohe Gebühren, begrenzte Optionen. Es ist großartig, dass Sie Ihre Roth IRA ausgeschöpft haben. Dafür spreche ich Ihnen Anerkennung aus. Solange die Anlageoptionen in Ihrem 401k gut sind, würde ich dabei bleiben." "Altersvorsorgepläne, die ihnen gute, günstige Indexfonds bieten. Diese Personen müssen sich wahrscheinlich nicht ganz so viele Sorgen machen. Schließlich ist es komplizierter, zwei Konten zu haben. Bitte wenden Sie sich an jemanden, der sich mit Steuern besser auskennt als ich, um herauszufinden, welche Einschränkungen für Beiträge zu IRAs und 401(k)s im selben Jahr gelten."] |
OpenAI Assistants rief einen falschen Ausschnitt ab. Im Gegensatz dazu rief das benutzerdefinierte RAG relevantere Ausschnitte ab und bot eine umfassendere Antwort, die den Nuancen der Frage entspricht.
Weitere Gründe
OpenAI Assistants erlaubt es Nutzern nicht, Parameter in der RAG-Pipeline zur Anpassung oder Optimierung zu verändern. Mit benutzerdefiniertem RAG hingegen haben Nutzer vollständige Flexibilität bei Anpassung und Optimierung.
OpenAI Assistants hat Dateispeicherbeschränkungen, wohingegen das Milvus-gestützte angepasste RAG schnell und ohne Obergrenze skalieren kann, was es zu einer besseren Option für Nutzer macht, die eine größere Speicherkapazität benötigen.
Fazit
Zusammenfassend heben unser umfassender Vergleich und unsere Analyse mit dem Ragas-Evaluierungstool die Stärken und Schwächen des OpenAI RAG und eines angepassten RAG auf Basis einer Vektordatenbank wie Milvus hervor. Während OpenAIs RAG bei der Retrieval gut abschneidet, überzeugt das angepasste RAG bei der Antwortqualität und Relevanz, der Recall-Leistung und vielen anderen Aspekten. Entwickler, die leistungsstarke und effektive RAG-Anwendungen suchen, werden die Flexibilität und Fähigkeiten einer RAG-Lösung auf Basis einer Vektordatenbank bevorzugen, um bessere Ergebnisse zu erzielen.
Weiterlesen

Why and How to Migrate from Self-Hosted Milvus to Zilliz Cloud
A simple, step-by-step guide to migrating from Milvus to Zilliz Cloud. Learn both endpoint and backup methods for a smooth, scalable vector database migration.

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

DeepSeek Always Busy? Deploy It Locally with Milvus in Just 10 Minutes—No More Waiting!
Learn how to set up DeepSeek-R1 on your local machine using Ollama, AnythingLLM, and Milvus in just 10 minutes. Bypass busy servers and enhance AI responses with custom data.



