AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Yuxi-Know: Eine wissensgraphenbasierte intelligente Q&A-Plattform

Allgemeine Einführung

Yuxi-Know ist eine Open-Source-Plattform für intelligente Fragen und Antworten, die Wissensgraphen und RAG-Technologien (Retrieval Augmented Generation) kombiniert, um Nutzern zu helfen, schnell genaue Antworten zu erhalten. Es basiert auf Neo4j, um den Wissensgraphen zu speichern, verwendet FastAPI und VueJS, um das Back-End und Front-End zu erstellen, und unterstützt eine Vielzahl von großen Modellen, wie OpenAI, DeepSeek, Beanbag und so weiter. Das System integriert Milvus VektordatenbankYuxi-Know bietet eine vernetzte Suche, ein DeepSeek-R1-Inferenzmodell und eine Werkzeugaufruffunktion, die sich für Entwickler zum Aufbau von Wissensmanagement oder intelligenten Kundendienstsystemen eignet. Das Projekt ist Open Source auf GitHub, einfach zu implementieren und zu erweitern.

Yuxi-Know: Wissensgraph-basierte intelligente Q&A-Plattform-1


Yuxi-Know: Wissensgraph-basierte intelligente Q&A-Plattform-1

 

Funktionsliste

  • Unterstützt eine Vielzahl von großen Modellanrufen, einschließlich OpenAI, DeepSeek, Beanbag, Smart Spectrum Clear Speech und mehr.
  • Bietet Wissensgraphenabfragen und speichert strukturierte Daten auf der Grundlage von Neo4j.
  • etw. unterstützen RAG Technologie, kombiniert mit Wissensdatenbank und vernetzter Suche, um präzise Antworten zu erhalten.
  • integriert (wie in integrierter Schaltung) DeepSeek-R1 Argumentationsmodelle zur Bewältigung komplexer logischer Probleme.
  • Bietet Werkzeugaufruf-Funktionalität zur Durchführung externer Aufgaben über APIs.
  • Unterstützt mehrere Dateiformate (PDF, TXT, MD, Docx) zum Aufbau einer Wissensdatenbank.
  • Verwenden Sie die Milvus-Vektordatenbank zum Speichern und Abrufen von Dokumentenvektoren.
  • Bereitstellung einer auf VueJS basierenden Weboberfläche, einfache und intuitive Bedienung.
  • Unterstützt den Einsatz lokaler Modelle durch vLLM vielleicht Ollama Bietet API-Dienste an.
  • Ermöglicht benutzerdefinierte Modell- und Vektormodellkonfigurationen für unterschiedliche Anforderungen.

 

Hilfe verwenden

Einbauverfahren

Yuxi-Know verwendet Docker Deployment, um den Installationsprozess zu vereinfachen. Hier sind die detaillierten Schritte:

  1. Vorbereiten der Umgebung
    Stellen Sie sicher, dass Docker und Docker Compose installiert sind. Empfohlen für Linux oder macOS, Windows-Benutzer müssen WSL2 aktivieren. überprüfen Sie, ob Docker ordnungsgemäß ausgeführt wird:

    docker --version
    

    Stellen Sie sicher, dass Git für das Klonen von Code installiert ist.

  2. Klonprojekt
    Führen Sie den folgenden Befehl im Terminal aus, um die Yuxi-Know-Codebasis zu klonen:

    git clone https://github.com/xerrors/Yuxi-Know.git
    

    Rufen Sie den Projektkatalog auf:

    cd Yuxi-Know
    
  3. Umgebungsvariablen konfigurieren
    Yuxi-Know muss den API-Schlüssel und die Modellparameter konfigurieren. Kopieren Sie die Vorlagendatei:

    cp src/.env.template src/.env
    

    Öffnen mit einem Texteditor src/.envund geben Sie den erforderlichen Schlüssel ein. Zum Beispiel:

    SILICONFLOW_API_KEY=sk-你的密钥
    DEEPSEEK_API_KEY=你的密钥
    TAVILY_API_KEY=你的密钥
    

    Wenn Sie andere Modelle verwenden (z. B. OpenAI, Beanbag), fügen Sie den entsprechenden Schlüssel hinzu:

    OPENAI_API_KEY=你的密钥
    ARK_API_KEY=你的密钥
    

    Standardmäßige Verwendung SiliconFlow Dienstes, müssen Sie den SILICONFLOW_API_KEY. Wenn Sie ein lokales Modell verwenden, müssen Sie den Modellpfad konfigurieren:

    MODEL_DIR=/path/to/your/models
    
  4. Neue Dienste
    Starten Sie alle Dienste, indem Sie den folgenden Befehl im Stammverzeichnis des Projekts ausführen:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build
    

    Dadurch werden Neo4j, Milvus, FastAPI-Backend und VueJS-Frontend gestartet. Der erste Start kann ein paar Minuten dauern. Bei Erfolg wird das Terminal angezeigt:

    [+] Running 7/7
    ✔ Network docker_app-network       Created
    ✔ Container graph-dev              Started
    ✔ Container milvus-etcd-dev        Started
    ✔ Container milvus-minio-dev       Started
    ✔ Container milvus-standalone-dev  Started
    ✔ Container api-dev                Started
    ✔ Container web-dev                Started
    

    Wenn Sie im Hintergrund laufen müssen, fügen Sie -d Parameter:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build -d
    
  5. Zugangssystem
    Öffnen Sie Ihren Browser und besuchen Sie http://localhost:5173/Sie können auf die Yuxi-Know-Schnittstelle zugreifen. Wenn sie nicht zugänglich ist, überprüfen Sie den Status des Docker-Containers:

    docker ps
    

    Stellen Sie sicher, dass alle Container ausgeführt werden. Wenn es einen Portkonflikt gibt, ändern Sie die docker-compose.dev.yml Die Anschlusskonfiguration in der

  6. Schließung des Dienstes
    Stoppen Sie den Dienst und löschen Sie den Container:

    docker compose -f docker/docker-compose.dev.yml --env-file src/.env down
    

Verwendung der Hauptfunktionen

Yuxi-Know bietet Funktionen für die Abfrage von Wissensgraphen, die Suche in Wissensdatenbanken, die Suche in Netzwerken und den Aufruf von Tools. Im Folgenden finden Sie eine detaillierte Beschreibung der Arbeitsweise:

  1. Wissensgraphen-Abfrage
    Yuxi-Know verwendet Neo4j, um Wissensgraphen zu speichern, die für die Abfrage strukturierter Daten geeignet sind. Zum Beispiel die Abfrage "Was ist die Hauptstadt von Peking?" Das System wird die Antwort aus dem Wissensgraphen extrahieren.

    • Importieren des Knowledge GraphJSONL-Format: Bereiten Sie eine Datei im JSONL-Format vor, in der jede Zeile den Kopfknoten, den Endknoten und die Beziehung enthält, zum Beispiel:
      {"h": "北京", "t": "中国", "r": "首都"}
      

      Navigieren Sie in der Schnittstelle zu "Atlas Management" und laden Sie die JSONL-Datei hoch. Sie wird automatisch in Neo4j geladen.

    • Neo4j besuchenBeim Starten wird die http://localhost:7474/ Für den Zugriff auf das Neo4j-Panel ist das Standardkonto neo4jDas Kennwort lautet 0123456789.
    • zur Kenntnis nehmen: Der Knoten muss enthalten Entity Tag, sonst kann der Index nicht ausgelöst werden.
  2. Wissensdatenbank-Suche
    Das System unterstützt das Hochladen von PDF-, TXT-, MD- und Docx-Dateien, die automatisch in Vektoren umgewandelt und in der Milvus-Datenbank gespeichert werden. Arbeitsschritte:

    • Navigieren Sie zu "Knowledge Base Management" und klicken Sie auf "Dateien hochladen".
    • Bei der Auswahl der Datei wandelt das System den Inhalt in reinen Text um, wobei ein Vektormodell (wie das BAAI/bge-m3) erzeugt Vektoren und speichert sie.
    • Zur Abfrage geben Sie eine Frage ein, z. B. "Welche KI-Trends werden in dem Dokument erwähnt?" Das System ruft die relevanten Inhalte ab und generiert die Antwort.
    • auf etw. aufmerksam machenGroße Dateien können langsam verarbeitet werden, daher wird empfohlen, sie in mehreren Teilen hochzuladen.
  3. Netzwerksuche
    Wenn die lokale Wissensdatenbank nicht in der Lage ist, eine Antwort zu geben, ermöglicht das System den Abruf über das Netz. Stellen Sie sicher, dass die Konfiguration der TAVILY_API_KEY. Arbeitsweise:

    • Geben Sie eine Frage in die Schnittstelle ein, z. B. "Was ist die neueste KI-Technologie im Jahr 2025?"
    • Das System funktioniert wie folgt Tavily Die API sammelt Informationen aus dem Internet und kombiniert sie mit einem großen Modell, um Antworten zu generieren.
    • Die Ergebnisse werden mit einem Link zur Quelle versehen, so dass Sie die Informationen leicht überprüfen können.
  4. Werkzeug Aufruf
    Yuxi-Know unterstützt den Aufruf externer Tools über die API, wie z.B. die Überprüfung des Wetters oder die Ausführung von Skripten. Verfahren:

    • existieren src/static/models.yaml Fügen Sie die Werkzeugkonfiguration in der Datei
      tools:
      - name: weather
      url: https://api.weather.com/v3
      api_key: 你的密钥
      
    • Geben Sie in die Schnittstelle ein: "Wie ist das Wetter in Shanghai heute?" Das System ruft das Tool auf und gibt das Ergebnis zurück.

Featured Function Bedienung

  1. DeepSeek-R1-Inferenzmodell
    DeepSeek-R1 ist das Highlight von Yuxi-Know für komplexe Schlussfolgerungsaufgaben. Arbeitsweise:

    • sicher DEEPSEEK_API_KEY vielleicht SILICONFLOW_API_KEY Konfiguriert.
    • In der Auswahl des Schnittstellenmodells wechseln Sie zu deepseek-r1-250120.
    • Geben Sie eine Frage ein wie: "Ein Apfel kostet 2 $ mehr als eine Orange, drei Äpfel und zwei Orangen kosten zusammen 16 $. Wie viel kosten die Orangen?" Das System schlussfolgert und antwortet: "Die Orangen kosten 2 $."
    • SchneidkanteKann mehrstufige logische Probleme mit zuverlässigeren Antworten lösen.
  2. Unterstützung mehrerer Modelle
    Das System unterstützt das Umschalten mehrerer Modelle, um sich an verschiedene Szenarien anzupassen. Arbeitsweise:

    • Wählen Sie das Modell aus dem Dropdown-Menü in der oberen rechten Ecke der Benutzeroberfläche aus, z. B. Qwen2.5-7B-Instruct(SiliconFlow),gpt-4o(OpenAI) oder doubao-1-5-pro(Sitzsack).
    • Jedes Modell hat unterschiedliche Vorteile. Doubao eignet sich zum Beispiel für das semantische Verständnis von Chinesisch, OpenAI für komplexe Aufgaben.
    • Neues Modell hinzufügen:: Leitartikel src/static/models.yamlfügen Sie z. B. Anbieterkonfigurationen hinzu:
      zhipu:
      name: 智谱清言
      url: https://api.zhipuai.com/v1
      default: glm-4-flash
      env:
      - ZHIPUAI_API_KEY
      

      Nach dem Neustart des Dienstes ist das neue Modell einsatzbereit.

  3. Einsatz des lokalen Modells
    Wenn Sie ein lokales Modell (z. B. LLaMA) verwenden müssen, können Sie es über vLLM oder Ollama bereitstellen. Verfahren:

    • Starten Sie den vLLM-Dienst:
      vllm serve /path/to/model --host 0.0.0.0 --port 8000
      
    • Fügen Sie ein lokales Modell in der Schnittstelle "Einstellungen" hinzu, geben Sie eine URL ein (z.B. http://localhost:8000/v1).
    • Nach dem Speichern bevorzugt das System die Verwendung des lokalen Modells für netzlose Umgebungen.
  4. Konfiguration des Vektormodells
    Standardmäßige Verwendung BAAI/bge-m3 Vektoren generieren. Wenn Sie sie ersetzen müssen, bearbeiten Sie die src/static/models.yaml::

    local/nomic-embed-text:
    name: nomic-embed-text
    dimension: 768
    

    Das lokale Modell wird automatisch heruntergeladen; falls dies nicht gelingt, kann es über die HF-Spiegelstation abgerufen werden.

caveat

  • Netzanforderung: Ein stabiles Netz ist für die Netzabfrage und den Modellaufruf erforderlich, es wird empfohlen, die .env Schlüssel in der Datei.
  • Neo4j-KonfigurationWenn Sie bereits einen Neo4j-Dienst haben, können Sie die docker-compose.yml den Nagel auf den Kopf treffen NEO4J_URIIm Folgenden sind einige der wichtigsten Merkmale des Programms aufgeführt, die für den Erfolg des Programms wichtig sind.
  • Mirror DownloadWenn das Ziehen des Docker-Images fehlschlägt, können Sie die DaoCloud-Spiegelstation verwenden:
    docker pull m.daocloud.io/docker.io/library/neo4j:latest
    docker tag m.daocloud.io/docker.io/library/neo4j:latest neo4j:latest
    
  • Log-AnsichtWenn der Dienst abnormal ist, überprüfen Sie das Containerprotokoll:
    docker logs api-dev
    

 

Anwendungsszenario

  1. Wissensmanagement im Unternehmen
    Unternehmen können interne Dokumente (z.B. Bedienungsanleitungen, technische Spezifikationen) in die Wissensbasis hochladen oder in einem Wissensgraphen organisieren. Mitarbeiter nutzen Yuxi-Know, um Fragen zu stellen, z. B. "Wie konfiguriere ich einen Server?". Das System liefert schnell Antworten und verkürzt so die Einarbeitungszeit.
  2. Unterstützung der akademischen Forschung
    Forscher können Dokumente hochladen oder Wissenskarten zu einem Thema erstellen. Erstellen Sie beispielsweise eine Karte mit den Beziehungen zwischen chemischen Molekülen und fragen Sie: "Was sind die chemischen Bindungen der Kohlenstoffatome?" Das System kombiniert Karten und Dokumente, um detaillierte Antworten zu liefern, und kann vernetzt werden, um die neuesten Forschungsergebnisse hinzuzufügen.
  3. Intelligentes Kundenservicesystem
    Händler können Produktinformationen und häufig gestellte Fragen in das System eingeben. Wenn ein Kunde fragt: "Wie kann ich ein Produkt zurückgeben?" zieht Yuxi-Know die Antwort aus der Wissensdatenbank oder prüft die neuesten Richtlinien online, um eine genaue Antwort zu geben.

 

QA

  1. Wie kann ich eine Wissensdatenbank-Datei hochladen?
    Navigieren Sie in der Benutzeroberfläche zu "Knowledge Base Management", klicken Sie auf "Hochladen" und wählen Sie PDF-, TXT-, MD- oder Docx-Dateien aus. Das System wird sie automatisch verarbeiten und in der Milvus-Datenbank speichern.
  2. Welche Konfigurationen sind für den vernetzten Abruf erforderlich?
    müssen sein bei .env Datei zur Konfiguration der TAVILY_API_KEYWenn Sie noch keinen Schlüssel haben, können Sie sich über SiliconFlow oder Tavily registrieren lassen. Wenn Sie keinen Schlüssel haben, können Sie sich über SiliconFlow oder die Tavily-Website für einen Schlüssel registrieren.
  3. Wie debuggt man ein lokales Modell?
    Sicherstellen, dass der vLLM- oder Ollama-Dienst zuhört 0.0.0.0Fügen Sie nach dem Start die korrekte URL in den Abschnitt "Einstellungen" der Benutzeroberfläche ein. docker logs api-dev Überprüfen Sie den Verbindungsstatus.
  4. Was soll ich tun, wenn der Knowledge-Graph-Import fehlschlägt?
    Überprüfen Sie das JSONL-Dateiformat, um sicherzustellen, dass jede Zeile das hundtundr Felder. Starten Sie nach dem Hochladen den Neo4j-Dienst neu und bestätigen Sie, dass der Knoten die Entity Tags.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Yuxi-Know: Eine wissensgraphenbasierte intelligente Q&A-Plattform
de_DEDeutsch