Englisch | 简体中文 | 日本語 | 한국어
? Was ist RAGFlow?
? Demo
? Neueste Updates
? Hauptmerkmale
? Systemarchitektur
? Legen Sie los
? Konfigurationen
? Erstellen Sie ein Docker-Image, ohne Modelle einzubetten
? Erstellen Sie ein Docker-Image einschließlich der Einbettung von Modellen
? Startservice von der Quelle für die Entwicklung
? Dokumentation
? Roadmap
? Gemeinschaft
? Mitwirken
RAGFlow ist eine Open-Source-RAG-Engine (Retrieval-Augmented Generation), die auf tiefem Dokumentenverständnis basiert. Es bietet einen optimierten RAG-Workflow für Unternehmen jeder Größe und kombiniert LLM (Large Language Models), um wahrheitsgetreue Fragen-Antwortfunktionen bereitzustellen, die durch fundierte Zitate aus verschiedenen komplex formatierten Daten gestützt werden.
Probieren Sie unsere Demo unter https://demo.ragflow.io aus.
04.11.2024 Aktualisiert DLA-Modelle (Document Layout Analyze) in Deepdoc.
01.11.2024 Fügt dem analysierten Block die Schlüsselwortextraktion und die Generierung zugehöriger Fragen hinzu, um die Genauigkeit des Abrufs zu verbessern.
13.09.2024 Fügt einen Suchmodus für Fragen und Antworten zur Wissensdatenbank hinzu.
09.09.2024 Fügt eine Vorlage für medizinische Berater hinzu.
22.08.2024 Unterstützung von Text für SQL-Anweisungen durch RAG.
02.08.2024 Unterstützt GraphRAG, inspiriert von Graphrag und Mind Map.
⭐️ Markieren Sie unser Repository, um über aufregende neue Funktionen und Verbesserungen auf dem Laufenden zu bleiben! Erhalten Sie sofortige Benachrichtigungen über Neuerscheinungen! ?
Tiefgreifende Wissensextraktion auf Basis des Dokumentverständnisses aus unstrukturierten Daten mit komplizierten Formaten.
Findet die „Nadel im Datenheuhaufen“ mit buchstäblich unbegrenzten Token.
Intelligent und erklärbar.
Zahlreiche Vorlagenoptionen zur Auswahl.
Visualisierung von Text-Chunking, um menschliches Eingreifen zu ermöglichen.
Schneller Überblick über die wichtigsten Referenzen und nachvollziehbaren Zitate zur Unterstützung fundierter Antworten.
Unterstützt Word, Folien, Excel, TXT, Bilder, gescannte Kopien, strukturierte Daten, Webseiten und mehr.
Optimierte RAG-Orchestrierung für Privatpersonen und große Unternehmen.
Konfigurierbare LLMs sowie Einbettungsmodelle.
Mehrfacher Rückruf gepaart mit zusammengefasster Neubewertung.
Intuitive APIs für eine nahtlose Integration mit dem Unternehmen.
CPU >= 4 Kerne
RAM >= 16 GB
Festplatte >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
Wenn Sie Docker nicht auf Ihrem lokalen Computer (Windows, Mac oder Linux) installiert haben, lesen Sie „Installieren der Docker Engine“.
Stellen Sie sicher, dass vm.max_map_count
>= 262144 ist:
So überprüfen Sie den Wert von
vm.max_map_count
:$ sysctl vm.max_map_countSetzen Sie
vm.max_map_count
auf einen Wert von mindestens 262144 zurück, wenn dies nicht der Fall ist.# In diesem Fall setzen wir es auf 262144:$ sudo sysctl -w vm.max_map_count=262144Diese Änderung wird nach einem Systemneustart zurückgesetzt. Um sicherzustellen, dass Ihre Änderung dauerhaft bleibt, fügen Sie den Wert
vm.max_map_count
in /etc/sysctl.conf entsprechend hinzu oder aktualisieren Sie ihn:vm.max_map_count=262144
Klonen Sie das Repo:
$ Git-Klon https://github.com/infiniflow/ragflow.git
Erstellen Sie die vorgefertigten Docker-Images und starten Sie den Server:
Der folgende Befehl lädt das Docker-Image der Entwicklungsversion für RAGFlow Slim (
dev-slim
) herunter. Beachten Sie, dass RAGFlow Slim Docker-Images keine eingebetteten Modelle oder Python-Bibliotheken enthalten und daher etwa 1 GB groß sind.
$ cd ragflow/docker $ docker compose -f docker-compose.yml up -d
HINWEIS: Ein RAGFlow Docker-Image, das eingebettete Modelle und Python-Bibliotheken enthält, ist etwa 9 GB groß und kann deutlich länger zum Laden dauern.
Um ein RAGFlow Slim Docker-Image einer bestimmten Version herunterzuladen, aktualisieren Sie die Variable RAGFlow_IMAGE
in * docker/.env * auf die gewünschte Version. Beispiel: RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. Nachdem Sie diese Änderung vorgenommen haben, führen Sie den obigen Befehl erneut aus, um den Download zu starten.
Um die Entwicklungsversion des RAGFlow Docker-Images einschließlich eingebetteter Modelle und Python-Bibliotheken herunterzuladen, aktualisieren Sie die Variable RAGFlow_IMAGE
in docker/.env auf RAGFLOW_IMAGE=infiniflow/ragflow:dev
. Nachdem Sie diese Änderung vorgenommen haben, führen Sie den obigen Befehl erneut aus, um den Download zu starten.
Um eine bestimmte Version des RAGFlow Docker-Images einschließlich eingebetteter Modelle und Python-Bibliotheken herunterzuladen, aktualisieren Sie die Variable RAGFlow_IMAGE
in docker/.env auf die gewünschte Version. Beispiel: RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
. Nachdem Sie diese Änderung vorgenommen haben, führen Sie den obigen Befehl erneut aus, um den Download zu starten.
Überprüfen Sie den Serverstatus, nachdem der Server betriebsbereit ist:
$ docker logs -f ragflow-server
Die folgende Ausgabe bestätigt einen erfolgreichen Start des Systems:
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * Läuft auf allen Adressen (0.0.0.0) * Läuft auf http://127.0.0.1:9380 * Läuft auf http://xxxx:9380 INFO:werkzeug:Drücken Sie STRG+C zum Beenden
Wenn Sie diesen Bestätigungsschritt überspringen und sich direkt bei RAGFlow anmelden, meldet Ihr Browser möglicherweise einen
network abnormal
, da Ihr RAGFlow zu diesem Zeitpunkt möglicherweise noch nicht vollständig initialisiert ist.
Geben Sie in Ihrem Webbrowser die IP-Adresse Ihres Servers ein und melden Sie sich bei RAGFlow an.
Mit den Standardeinstellungen müssen Sie nur
http://IP_OF_YOUR_MACHINE
( ohne Portnummer) eingeben, da der Standard-HTTP-Server-Port80
bei Verwendung der Standardkonfigurationen weggelassen werden kann.
Wählen Sie in service_conf.yaml die gewünschte LLM-Factory in user_default_llm
aus und aktualisieren Sie das Feld API_KEY
mit dem entsprechenden API-Schlüssel.
Weitere Informationen finden Sie unter llm_api_key_setup.
Die Show ist eröffnet!
Wenn es um Systemkonfigurationen geht, müssen Sie die folgenden Dateien verwalten:
.env: Behält die grundlegenden Einstellungen für das System bei, z. B. SVR_HTTP_PORT
, MYSQL_PASSWORD
und MINIO_PASSWORD
.
service_conf.yaml: Konfiguriert die Back-End-Dienste.
docker-compose.yml: Das System verlässt sich zum Starten auf docker-compose.yml.
Sie müssen sicherstellen, dass die Änderungen an der .env-Datei mit denen in der Datei service_conf.yaml übereinstimmen.
Die Datei ./docker/README enthält eine detaillierte Beschreibung der Umgebungseinstellungen und Dienstkonfigurationen. Sie müssen sicherstellen, dass alle in der Datei ./docker/README aufgeführten Umgebungseinstellungen mit den entsprechenden Konfigurationen in der Datei service_conf.yaml übereinstimmen .
Um den standardmäßigen HTTP-Serving-Port (80) zu aktualisieren, gehen Sie zu docker-compose.yml und ändern Sie 80:80
in <YOUR_SERVING_PORT>:80
.
Aktualisierungen der oben genannten Konfigurationen erfordern einen Neustart aller Container, damit sie wirksam werden:
$ docker compose -f docker/docker-compose.yml up -d
Dieses Image ist etwa 1 GB groß und basiert auf externen LLM- und Einbettungsdiensten.
Git-Klon https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 Huggingface-Hub NLTK installieren python3 download_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
Dieses Bild ist ca. 9 GB groß. Da es Einbettungsmodelle umfasst, ist es ausschließlich auf externe LLM-Dienste angewiesen.
Git-Klon https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 Huggingface-Hub NLTK installieren python3 download_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev .
Installieren Sie Poetry oder überspringen Sie diesen Schritt, wenn es bereits installiert ist:
curl -sSL https://install.python-poetry.org | python3 -
Klonen Sie den Quellcode und installieren Sie Python-Abhängigkeiten:
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # RAGFlow-abhängige Python-Module installieren
Starten Sie die abhängigen Dienste (MinIO, Elasticsearch, Redis und MySQL) mit Docker Compose:
docker compose -f docker/docker-compose-base.yml up -d
Fügen Sie die folgende Zeile zu /etc/hosts
hinzu, um alle in docker/service_conf.yaml angegebenen Hosts in 127.0.0.1
aufzulösen:
127.0.0.1 es01 mysql minio redis
Aktualisieren Sie in docker/service_conf.yaml den MySQL-Port auf 5455
und den E-Port auf 1200
, wie in docker/.env angegeben.
Wenn Sie nicht auf HuggingFace zugreifen können, legen Sie die Umgebungsvariable HF_ENDPOINT
so fest, dass eine Spiegel-Site verwendet wird:
Exportieren Sie HF_ENDPOINT=https://hf-mirror.com
Backend-Dienst starten:
Quelle .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
Frontend-Abhängigkeiten installieren:
CD-Web npm install --force
Konfigurieren Sie das Frontend, um proxy.target
in .umirc.ts auf http://127.0.0.1:9380
zu aktualisieren:
Frontend-Dienst starten:
npm run dev
Die folgende Ausgabe bestätigt einen erfolgreichen Start des Systems:
Schnellstart
Benutzerhandbuch
Referenzen
FAQ
Siehe die RAGFlow Roadmap 2024
Zwietracht
GitHub-Diskussionen
RAGFlow floriert durch Open-Source-Zusammenarbeit. In diesem Sinne begrüßen wir vielfältige Beiträge aus der Community. Wenn Sie dabei sein möchten, lesen Sie zunächst unsere Beitragsrichtlinien.