R2R V2 - produktionsreife Open-Source-RAG-Engine
(github.com/SciPhi-AI)- Entwickelt, um die Lücke zwischen lokalen LLM-Experimenten und Retrieval-Augmented-Generation-(RAG)-Systemen auf Produktionsniveau zu schließen
- Bietet ein umfassendes, modernes RAG-System, das mit Fokus auf eine RESTful API für Entwickler einfach nutzbar aufgebaut ist
Hauptfunktionen
- Multimodale Unterstützung: Unterstützt verschiedene Dateiformate wie
.txt,.pdf,.json,.png,.mp3usw. - Hybride Suche: Kombiniert semantische Suche und Keyword-Suche, um die Relevanz zu verbessern.
- Graph RAG: Extrahiert automatisch Beziehungen und erstellt einen Wissensgraphen.
- App-Management: Verwaltet Dokumente und Nutzer effizient und bietet umfassende Observability- und Analysefunktionen.
- Client-Server: Unterstützung für eine RESTful API.
- Konfigurierbar: Anwendungen können mit intuitiven Konfigurationsdateien bereitgestellt werden.
- Erweiterbar: Anwendungen lassen sich über das Builder- + Factory-Pattern einfach erweitern.
- Dashboard: Bietet das R2R-Dashboard, eine Open-Source-App auf Basis von React+Next.js für benutzerfreundliche Interaktion.
R2R-Dashboard
Mit dem Open-Source-Dashboard auf Basis von React+Next.js kann mit R2R interagiert werden. Zum Einstieg kann das Dashboard-Cookbook herangezogen werden.
1 Kommentare
Hacker-News-Kommentar
Genauigkeit und Effizienz der Datenextraktion: Der Datenextraktionsprozess ist in RAG-Systemen eine wichtige Herausforderung. Da traditionelle OCR-Ansätze unzureichend sind, wird ein multimodaler LLM+OCR-Ansatz verwendet, um Genauigkeit und Konsistenz zu erhöhen.
Erfahrung mit dem Betrieb eines ähnlichen Stacks: Seit 2 Jahren wird ein ähnlicher Stack betrieben, wobei Technologien wie Pgvector, HyDe, Websuche + Dokumentensuche verwendet werden. Es gibt ein gutes Dashboard mit Logs und Analysen.
Schwierigkeiten beim Schnellstart: Der Schnellstart ist in Wirklichkeit nicht schnell. Es sollte eine Konfiguration mit Docker Compose und einem Postgres-Image bereitgestellt werden. Um das Dashboard zu nutzen, muss umständlicherweise ein separates Repo geklont werden.
Komplexität des Projekts: Das Projekt enthält viele Elemente, macht die Entwicklung aber nicht einfacher. Es ist unklar, ob es sich um ein SDK oder eine Sammlung von Apps handelt. Es sollte eine „1-Klick“-Installations-Erfahrung geben, damit man alle Funktionen vorab ansehen kann.
Validierung der Genauigkeit: Eine Frage dazu, wie sich die Genauigkeit von Antworten validieren lässt. Es besteht Interesse daran, ob es eine Möglichkeit gibt, den Entstehungsprozess einer Antwort nachzuverfolgen.
Schwierigkeiten bei der Datenerfassung: Bei vielen RAG-Projekten ist die Datenerfassung nicht richtig gelöst. Es wird gefragt, wie sich große Mengen an HTML-Dokumenten gesammelt ins System übernehmen lassen.
Multimodale Datenerfassung: Es wird um eine ausführliche Erklärung des multimodalen Datenerfassungsprozesses gebeten. Außerdem gibt es Fragen dazu, welche Datentypen R2R derzeit verarbeiten kann und wie Embeddings für nicht textuelle Datentypen erstellt werden.
Optimierung für Entwicklungsteams: Es wird um eine Erklärung gebeten, wie der Prozess für Entwicklungsteams schneller und optimierter geworden ist. Das Potenzial zur Beschleunigung der MVP-Entwicklung ist groß.
Arbeit mit Quellcode: Es wird nach einer RAG-Lösung gesucht, die Quellcode verstehen kann. Gewünscht ist zum Beispiel eine Funktion, die nachvollziehen kann, „welches Analyse-Event aufgerufen wird, wenn auf den Submit-Button geklickt wird“.
Ablehnung der Nutzung von Neo4j: Neo4j soll nicht verwendet werden, da es zu ressourcenintensiv ist.
Integration mit beliebten Chat-Frontends: Es wird gefragt, ob eine Integration mit beliebten Chat-Frontends wie OpenWebUI möglich ist.