AI Personal Learning
und praktische Anleitung
豆包Marscode1

DeepSeek-RAG-Chatbot: ein lokal laufender DeepSeek-RAG-Chatbot

Allgemeine Einführung

Der DeepSeek-RAG-Chatbot ist ein System, das auf dem DeepSeek R1 Modell gebaut Open-Source-Chatbot-Projekt, gehostet auf GitHub, erstellt von Entwickler SaiAkhil066. 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 hybride Suchfunktionen (BM25 + FAISS), neuronale Neuordnung und Wissensgraphen. Das Projekt nutzt fortschrittliche Funktionen wie hybride Suche (BM25 + FAISS), neuronale Neuordnung und Wissensgraphen (GraphRAG), um sicherzustellen, dass kontextuell genaue 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.

DeepSeek-RAG-Chatbot:本地运行的 DeepSeek RAG 聊天机器人-1


 

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 Suchmechanismus: in Verbindung mit BM25 und FAISS-Technologien zum schnellen Auffinden relevanter Inhalte in Dokumenten.
  • 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äufe: durch Ollama etw. unterstützen DeepSeek R1 und andere Modelle werden lokal eingesetzt, um den Datenschutz zu gewährleisten.
  • 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

Einbauverfahren

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

  1. Ö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
  1. Rufen Sie den Projektkatalog auf:
cd DeepSeek-RAG-Chatbot

Schritt 2: Einrichten der Python-Umgebung

  1. Erstellen Sie eine virtuelle Umgebung:
python -m venv venv
  1. Aktivieren Sie die virtuelle Umgebung:
  • Fenster:venv\Scripts\activate
  • macOS/Linux:source venv/bin/activate
  1. Aktualisieren Sie pip und installieren Sie die Abhängigkeiten:
pip install --upgrade pip
pip install -r requirements.txt

Zu den Abhängigkeiten gehören streamlitundlangchainundfaiss-gpu(falls es eine GPU gibt) usw.

Schritt 3: Ollama installieren und konfigurieren

  1. Laden Sie Ollama herunter und installieren Sie es (besuchen Sie ollama.com für das Installationspaket).
  2. 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
  1. 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:

  1. Installieren Sie Docker (siehe docker.com).
  2. Führen Sie es im Stammverzeichnis des Projekts aus:
docker-compose up
  1. 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

  1. Führen Sie Streamlit in einer virtuellen Umgebung aus:

streamlit run app.py

  1. Der Browser öffnet automatisch die http://localhost:8501rufen Sie den Chat-Bildschirm auf.

Betriebsfunktionen

Funktion 1: Hochladen von Dokumenten

  1. Zugang zur SchnittstelleSobald die Streamlit-Oberfläche gestartet ist, befindet sich auf der linken Seite des Bildschirms eine Seitenleiste "Dokumente hochladen".
  2. Datei auswählenKlicken Sie auf die Schaltfläche "Dateien durchsuchen", um eine lokale PDF-, DOCX- oder TXT-Datei auszuwählen.
  3. 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

  1. 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.
  2. 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.
  1. 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

  1. GraphRAG einschaltenStandardmäßig aktiviert, keine weiteren Maßnahmen erforderlich.
  2. Komplexe Fragen stellen: z.B. "Wie sieht die kooperative Beziehung zwischen Unternehmen A und Unternehmen B aus?". .
  3. 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

  1. Ersatzmodell: in .env Ändern Sie in der Datei MODEL Parameter, z.B. auf deepseek-r1:1.5b.
  2. 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 und 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.
  • RessourcenbelegungGroße Modelle und hochdimensionale Vektorberechnungen benötigen viel Speicherplatz, es wird empfohlen, nicht relevante Programme zu schließen.
  • Aktualisierung des Modells: Regelmäßiger Betrieb ollama pull 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.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " DeepSeek-RAG-Chatbot: ein lokal laufender DeepSeek-RAG-Chatbot
de_DEDeutsch