Allgemeine Einführung
DeepSeek-RAG-Chatbot ist ein Open-Source-Chatbot-Projekt, das auf dem DeepSeek R1-Modell basiert, auf GitHub gehostet und vom Entwickler SaiAkhil066 erstellt wurde. Es kombiniert die Retrieval Augmented Generation (RAG)-Technologie, um Benutzer beim Hochladen von Dokumenten (z. B. PDF-, DOCX- oder TXT-Dateien) über die lokale Laufzeit zu unterstützen, um eine effiziente Dokumentensuche und intelligente Fragen und Antworten zu erreichen. Das Projekt nutzt fortschrittliche Funktionen wie die hybride Suche (BM25 + FAISS), neuronale Neuordnung und Wissensgraphen (GraphRAG), um sicherzustellen, dass kontextgenaue und relevante Informationen aus Dokumenten extrahiert werden. Es eignet sich für Szenarien, die den Schutz der Privatsphäre oder die Offline-Nutzung erfordern, wie z. B. persönliches Wissensmanagement und die Verarbeitung von Unternehmensdokumenten. Das Projekt bietet Unterstützung für die Docker- und Streamlit-Schnittstelle, die einfach zu installieren ist und den Benutzern einen leichten Einstieg ermöglicht.
Funktionsliste
- Hochladen und Verarbeitung von DokumentenUnterstützung für das Hochladen von Dateien in den Formaten PDF, DOCX, TXT usw., automatische Aufteilung der Dokumente und Erzeugung von Vektoreinbettungen.
- Hybrider SuchmechanismusKombinieren Sie BM25 und FAISS-Technologie, um schnell relevante Inhalte aus Dokumenten zu finden.
- Unterstützung von Wissensgraphen (GraphRAG)Erstellen Sie einen Wissensgraphen von Dokumenten, um die Beziehungen zwischen Entitäten zu verstehen und die kontextuelle Genauigkeit der Antworten zu verbessern.
- neuronale UmstrukturierungNeuordnung der Suchergebnisse anhand eines Cross-Coder-Modells, um sicherzustellen, dass die relevantesten Informationen zuerst angezeigt werden.
- Abfrage-Erweiterung (HyDE)Generierung hypothetischer Antworten zur Erweiterung von Benutzeranfragen und zur Verbesserung der Abfrageerinnerung.
- Lokale ModellläufeUnterstützung des lokalen Einsatzes von Modellen wie DeepSeek R1 durch Ollama zur Gewährleistung des Datenschutzes.
- Antwort-Streaming in EchtzeitStreaming-Output: Es wird eine Streaming-Ausgabe bereitgestellt, so dass die Benutzer die generierten Ergebnisse sofort sehen können.
- Docker-UnterstützungVereinfachung von Installation und Betrieb mit Docker-Container-Bereitstellung.
- Streamlit-SchnittstelleIntuitive grafische Oberfläche für einfaches Hochladen von Dateien und interaktiven Chat.
Hilfe verwenden
Ablauf der Installation
DeepSeek-RAG-Chatbot unterstützt den lokalen Betrieb und erfordert eine gewisse Konfiguration der Umgebung. Nachfolgend finden Sie die detaillierten Installationsschritte:
Vorbedingungen
- BetriebssystemWindows, macOS oder Linux.
- Hardware-VoraussetzungMindestens 8 GB RAM (16 GB empfohlen) und eine CUDA-fähige Grafikkarte, wenn Sie die GPU-Beschleunigung verwenden.
- Software-AbhängigkeitPython 3.8+, Git, Docker (optional).
Schritt 1: Klonen Sie das Projekt
- Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um Ihr GitHub-Repository zu klonen:
git clone https://github.com/SaiAkhil066/DeepSeek-RAG-Chatbot.git
- Rufen Sie den Projektkatalog auf:
cd DeepSeek-RAG-Chatbot
Schritt 2: Einrichten der Python-Umgebung
- Erstellen Sie eine virtuelle Umgebung:
python -m venv venv
- Aktivieren Sie die virtuelle Umgebung:
- Fenster:
venv\Scripts\aktivieren
- macOS/Linux:
Quelle venv/bin/activate
- Aktualisieren Sie pip und installieren Sie die Abhängigkeiten:
pip install --upgrade pip
pip install -r anforderungen.txt
Zu den Abhängigkeiten gehören streamlit
, undlangchain
, undfaiss-gpu
(falls es eine GPU gibt) usw.
Schritt 3: Ollama installieren und konfigurieren
- Laden Sie Ollama herunter und installieren Sie es (besuchen Sie ollama.com für das Installationspaket).
- Ziehen Sie das Modell DeepSeek R1 (Standardparameter 7B, andere Versionen wie 1,5B oder 32B sind je nach Bedarf verfügbar):
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
- Vergewissern Sie sich, dass der Ollama-Dienst läuft und dass die Standard-Listening-Adresse
localhost:11434
.
Schritt 4: (Optional) Docker-Bereitstellung
Wenn Sie Ihre Umgebung nicht manuell konfigurieren möchten, können Sie Docker verwenden:
- Installieren Sie Docker (siehe docker.com).
- Führen Sie es im Stammverzeichnis des Projekts aus:
docker-compose aufwärts
- Docker ruft automatisch die Ollama- und Chatbot-Dienste ab, führt sie aus und greift dann auf die
http://localhost:8501
.
Schritt 5: Starten Sie die Anwendung
- Führen Sie Streamlit in einer virtuellen Umgebung aus:
streamlit run app.py
- Der Browser öffnet automatisch die
http://localhost:8501
rufen Sie den Chat-Bildschirm auf.
Betriebsfunktionen
Funktion 1: Hochladen von Dokumenten
- Zugang zur SchnittstelleSobald die Streamlit-Oberfläche gestartet ist, befindet sich auf der linken Seite des Bildschirms eine Seitenleiste "Dokumente hochladen".
- Datei auswählenKlicken Sie auf die Schaltfläche "Dateien durchsuchen", um eine lokale PDF-, DOCX- oder TXT-Datei auszuwählen.
- Bearbeitung von DokumentenNach dem Hochladen teilt das System das Dokument automatisch in kleinere Teile auf, generiert Vektoreinbettungen und speichert sie in FAISS. Die Verarbeitungszeit hängt von der Größe der Datei ab und beträgt in der Regel zwischen einigen Sekunden und einigen Minuten.
- auf etw. aufmerksam machenEine Bestätigungsmeldung "Dateiverarbeitung abgeschlossen" wird in der Seitenleiste angezeigt.
Funktion 2: Hinterfragen und Suchen
- Probleme bei der EingabeGeben Sie eine Frage in das Chat-Feld auf Chinesisch oder Englisch ein, z. B. "Was ist der Zweck von GraphRAG, wie er in der Dokumentation erwähnt wird?". in der Dokumentation.
- Abrufvorgang::
- Das System verwendet BM25 und FAISS, um relevante Dokumentfragmente zu finden.
- GraphRAG analysiert Entitätsbeziehungen zwischen Fragmenten.
- Die neuronale Neuordnung optimiert die Reihenfolge der Ergebnisse.
- HyDE erweitert die Abfrage, um mehr relevante Inhalte zu erfassen.
- Antworten generierenDeepSeek R1 generiert Antworten auf der Grundlage der Suchergebnisse. Die Antworten werden in einem Streaming-Format ausgegeben und Schritt für Schritt auf der Benutzeroberfläche angezeigt.
- typisches BeispielWenn Sie fragen: "Was ist eine hybride Suche?" kann die Antwort lauten: "Die hybride Suche kombiniert BM25 und FAISS, wobei BM25 für den Abgleich von Schlüsselwörtern zuständig ist und FAISS Inhalte durch Vektorähnlichkeit schnell auffindet".
Funktion 3: Anwendung des Wissensgraphen
- GraphRAG einschaltenStandardmäßig aktiviert, keine weiteren Maßnahmen erforderlich.
- Komplexe Fragen stellen: z.B. "Wie sieht die kooperative Beziehung zwischen Unternehmen A und Unternehmen B aus?". .
- Ergebnisse ShowcaseDas System gibt nicht nur Text zurück, sondern liefert auch relationale Antworten auf der Grundlage des Wissensgraphen, z. B. "Unternehmen A und Unternehmen B haben im Jahr 2023 eine technische Kooperationsvereinbarung unterzeichnet".
Funktion 4: Anpassung von Modellen und Parametern
- Ersatzmodell: in
.env
Ändern Sie in der DateiMODELL
Parameter, z.B. aufdeepseek-r1:1.5b
. - Leistung optimierenFalls von der Hardware unterstützt, installieren Sie die
faiss-gpu
Mit aktivierter GPU-Beschleunigung kann die Abrufgeschwindigkeit um das Dreifache erhöht werden.
Tipps & Tricks
- Multi-Dokumenten-UnterstützungMehrere Dateien können gleichzeitig hochgeladen werden und das System integriert den Inhalt, um die Fragen zu beantworten.
- Klarheit der ThemenFragen Sie so konkret wie möglich und vermeiden Sie vage Aussagen, um die Genauigkeit Ihrer Antworten zu erhöhen.
- Protokolle prüfenWenn ein Fehler auftritt, können Sie die Terminalprotokolle überprüfen, um das Problem zu beheben, z. B. weil das Modell nicht heruntergeladen wurde oder der Anschluss belegt ist.
caveat
- DatenschutzFür den lokalen Betrieb ist keine Internetverbindung erforderlich und die Daten werden nicht in die Cloud hochgeladen.
- RessourcenbelegungDa große Modelle und hochdimensionale Vektorberechnungen viel Speicherplatz benötigen, empfiehlt es sich, nicht relevante Programme zu schließen.
- Aktualisierung des Modells: Regelmäßiger Betrieb
Ollama ziehen
Holen Sie sich die neueste Version des DeepSeek-Modells.
Sobald die oben genannten Schritte abgeschlossen sind, können die Benutzer mit dem DeepSeek-RAG-Chatbot über ihren Browser interagieren und ein effizientes Dokumenten-Quiz erleben.