Allgemeine Einführung
XRAG (eXamining the Core) ist ein Benchmarking-Rahmen, der für die Bewertung der zugrundeliegenden Komponenten von fortgeschrittenen Retrieval Augmentation Generation (RAG)-Systemen entwickelt wurde. Durch die Erstellung von Profilen und die Analyse jedes Kernmoduls gibt XRAG Aufschluss darüber, wie verschiedene Konfigurationen und Komponenten die Gesamtleistung eines RAG-Systems beeinflussen. Das Framework unterstützt mehrere Retrievalmethoden und Bewertungsmetriken und soll Forschern und Entwicklern helfen, alle Aspekte von RAG-Systemen zu optimieren und zu verbessern.
XRAG unterstützt ein umfassendes RAG-Benchmark und Toolkit, das mehr als 50+ Testmetriken und eine umfassende RAG-Bewertung und Fehlerpunktoptimierung abdeckt, unterstützt den Vergleich von 4 Arten von fortgeschrittenen RAG-Modulen (Query Reconstruction, Advanced Retrieval, Question and Answer Models und Post-Processing), integriert mehrere spezifische Implementierungen innerhalb der Module und unterstützt OpenAI Big Model API. XRAG Version 1.0 bietet außerdem eine einfache Web-UI-Demo, leichten interaktiven Daten-Upload und ein einheitliches Standardformat und integriert RAG-Fehlererkennungs- und Optimierungsmethoden. Der Artikel und der Code sind jetzt Open Source.
Funktionsliste
- Integrierter BewertungsrahmenUnterstützung mehrdimensionaler Beurteilungen, einschließlich LLM-basierter Beurteilungen, eingehender Beurteilungen und traditioneller Metriken.
- Flexible ArchitekturModularer Aufbau zur Unterstützung mehrerer Suchmethoden und individueller Suchstrategien.
- Multi-LLM-UnterstützungNahtlose Integration mit OpenAI-Modellen und Unterstützung für native Modelle (z.B. Qwen, LLaMA, etc.).
- Reiche Palette von Bewertungsindikatoren:: Umfasst herkömmliche Metriken (F1, EM, MRR, usw.) und LLM-basierte Metriken (Wahrheitsgehalt, Relevanz, usw.).
- Erweiterte SuchmethodenBM25, semantische Vektorsuche, Baumstruktursuche und andere Suchmethoden unterstützen.
- benutzerfreundliche SchnittstelleBietet eine Befehlszeilenschnittstelle und eine Web-UI zur Unterstützung der interaktiven Auswertung und Visualisierung.
Hilfe verwenden
Ablauf der Installation
- Klon-Lager::
git clone https://github.com/DocAILab/XRAG.git
cd XRAG
- Installation von Abhängigkeiten::
pip install -r anforderungen.txt
- Konfiguration der UmgebungModifiziert nach Bedarf
config.toml
Datei, um Modellparameter und API-Einstellungen zu konfigurieren.
Richtlinien für die Verwendung
- Starten der Web-UI::
xrag-cli webui
Hochladen und Konfigurieren von Datensätzen über die Web-UI mit Unterstützung für mehrere Benchmark-Datensätze (z. B. HotpotQA, DropQA, NaturalQA).
- Operative Bewertung: Führen Sie die Bewertung mit dem Befehlszeilentool durch:
xrag-cli evaluate --datensatz --config
Für die Bewertungsergebnisse werden detaillierte Berichte und Visualisierungsgrafiken erstellt.
- Maßgeschneiderte SuchstrategienModifikation
src/xrag
Verzeichniscode, um Suchstrategien und Bewertungsmodelle hinzuzufügen oder anzupassen.
Hauptfunktionen
- Hochladen und Konfiguration von DatensätzenUpload des Datensatzes über die Web-UI und Konfiguration nach Bedarf.
- Bewertung läuftAuswahl der Bewertungsindikatoren und Suchmethoden, Durchführung der Bewertung und Anzeige der Ergebnisse.
- Analyse der ErgebnisseAnalyse der Bewertungsergebnisse und Optimierung der Systemleistung durch erstellte Berichte und visuelle Diagramme.
Das Ollama-Framework: Effiziente lokalisierte Retrieval-Reasoning in XRAG ermöglichen
Ollama spielt eine entscheidende Rolle im XRAG-Ollama-Framework für lokalisierte Abfrageinferenzen. Als benutzerfreundliches Open-Source-Framework für die Ausführung lokaler großer Modelle bietet Ollama XRAG leistungsstarke lokalisierte Retrieval-Inferenzfähigkeiten, die es XRAG ermöglichen, die Vorteile seiner Retrieval-Erweiterung voll auszuschöpfen.
Warum sollte die XRAG-Einführung lokal erfolgen?
- Geringeres externes Risiko: Die lokale Bereitstellung verringert die Abhängigkeit von externen Diensten und reduziert die potenziellen Risiken im Zusammenhang mit instabilen Diensten Dritter oder Datenlecks.
- Offline-VerfügbarkeitDas lokalisierte RAG-System ist nicht von einer Internetverbindung abhängig und kann auch bei einem Netzausfall normal funktionieren, wodurch die Kontinuität und Stabilität des Dienstes gewährleistet wird.
- Autonome Verwaltung von DatenLokaler Einsatz: Der Benutzer hat die volle Kontrolle darüber, wie Daten gespeichert, verwaltet und verarbeitet werden, z. B. durch die Einbettung privater Daten in lokale Vektordatenbanken, wodurch sichergestellt wird, dass die Daten im Einklang mit den Sicherheitsstandards und Geschäftsanforderungen des Unternehmens verarbeitet werden.
- Datenschutz und DatensicherheitDer Betrieb eines RAG-Systems in einer lokalen Umgebung vermeidet das Risiko, dass sensible Daten durch die Übertragung über das Netz kompromittiert werden, und gewährleistet, dass die Daten stets unter lokaler Kontrolle sind. Dies ist besonders wichtig für Organisationen, die mit vertraulichen Informationen arbeiten.
Warum Ollama?
Ollama ist ein leichtgewichtiges, erweiterbares Framework für den Aufbau und die Ausführung großer Sprachmodelle (LLMs) auf dem lokalen Rechner. Es bietet eine einfache API zum Erstellen, Ausführen und Verwalten von Modellen sowie eine Bibliothek mit vorgefertigten Modellen, die problemlos in einer Vielzahl von Anwendungen verwendet werden können. Ollama unterstützt nicht nur eine breite Palette von Modellen wie DeepSeek, Llama 3.3, Phi 3, Mistral, Gemma 2 usw., sondern ist auch in der Lage, die Vorteile moderner hardwarebeschleunigter Berechnungen zu nutzen und bietet somit eine hochleistungsfähige Inferenzunterstützung für XRAG. Darüber hinaus bietet Ollama Unterstützung für die Modellquantisierung, die den Grafikspeicherbedarf erheblich reduzieren kann. Die 4-Bit-Quantisierung komprimiert beispielsweise Gewichtsparameter mit FP16-Präzision auf 4-Bit-Ganzzahlpräzision, wodurch das Volumen der Modellgewichte und der für die Inferenz erforderliche Grafikspeicher erheblich reduziert werden. Dadurch ist es möglich, große Modelle auf einem durchschnittlichen Heimcomputer auszuführen.
Durch die Kombination mit Ollama ist XRAG in der Lage, große Sprachmodelle effizient lokal auszuführen, ohne auf komplexe Umgebungskonfigurationen und große Mengen an Rechenressourcen angewiesen zu sein, was die Bereitstellungs- und Betriebskosten erheblich reduziert. Gleichzeitig gibt die lokale Bereitstellungslösung den Entwicklern die vollständige Kontrolle über die Datenverarbeitung und unterstützt die gesamte Anpassungskette von der Rohdatenbereinigung über die vektorisierte Verarbeitung (z. B. Aufbau einer privaten Wissensdatenbank über ChromaDB) bis zur endgültigen Anwendungsimplementierung. Die auf der lokalen Infrastruktur basierende Bereitstellungsarchitektur ist selbstverständlich offline-fähig, was nicht nur die Kontinuität des Dienstes gewährleistet, sondern auch die strengen Anforderungen an die Systemzuverlässigkeit in speziellen Umgebungen (z. B. klassifizierte Netzwerke usw.) erfüllt.