Allgemeine Einführung
SimGRAG (SimGRAG: Leveraging Similar Subgraphs for Knowledge Graphs Driven Retrieval-Augmented Generation) ist ein auf Knowledge Graphs Driven Retrieval-Augmented Generation (RAG) basierender Ansatz. Das Projekt zielt darauf ab, die Leistung von Wissensgraphen bei Aufgaben wie Fragen und Antworten und Faktenüberprüfung durch die Nutzung ähnlicher Teilgraphen zu verbessern. SimGRAG unterstützt die Plug-and-Play-Nutzung und kombiniert große Sprachmodelle, Einbettungsmodelle und Vektordatenbanken, um effiziente Ähnlichkeitssuche und -generierung zu ermöglichen. Das Projekt stützt sich auf Open-Source-Lösungen wie Ollama, Nomic-Einbettungsmodelle und Milvus-Vektordatenbanken, und die Benutzer können diese Komponenten nach Bedarf ersetzen.
Funktionsliste
- Generierung großer SprachmodelleGenerierungsaufgabe unter Verwendung des Modells Llama 3 70B.
- Einbettung von Knoten und BeziehungenEinbettung von Knoten und Beziehungen unter Verwendung des Nomic-Einbettungsmodells.
- VektordatenbankUnterstützung einer effizienten Ähnlichkeitssuche unter Verwendung von Milvus zur Speicherung von Einbettungen von Knoten und Beziehungen.
- Vorbereitung der DatenMetaQA: Unterstützt den Download und die Vorbereitung von MetaQA- und FactKG-Datensätzen.
- Konfigurationsdatei: Bieten Sie modifizierbare Profile an, um verschiedenen Bedürfnissen gerecht zu werden.
- Betrieb von PipelinesBereitstellung von Skripten zur Ausführung von Pipelines, Unterstützung von MetaQA- und FactKG-Indizierung und Abfragen.
Hilfe verwenden
Ablauf der Installation
- Installation von Ollama::
- Besuchen Sie die offizielle Ollama-Website und folgen Sie den Anweisungen zur Installation von Ollama.
- Nachdem die Installation abgeschlossen ist, führen Sie den folgenden Befehl aus, um das Modell Llama 3 70B zu starten:
ollama Lama3:70b ausführen
- Starten Sie die von SimGRAG benötigten Dienste:
bash ollama_server.sh
- Installation von Nomic Embedded-Modellen::
- Klonen von Nomic Embedding Models:
mkdir -p data/raw cd daten/raw git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1
- Installation von Milvus::
- Besuchen Sie die Milvus-Website und folgen Sie der Dokumentation zur Installation von Milvus.
- Sobald die Installation abgeschlossen ist, starten Sie den Milvus-Dienst.
Vorbereitung der Daten
- MetaQA-Datensatz::
- Laden Sie den MetaQA-Datensatz herunter und legen Sie ihn im
Daten/Rohdaten
Ordner.
- Laden Sie den MetaQA-Datensatz herunter und legen Sie ihn im
- FactKG Datensatz::
- Laden Sie den FactKG-Datensatz herunter und legen Sie ihn im
Daten/Rohdaten
Ordner.
- Laden Sie den FactKG-Datensatz herunter und legen Sie ihn im
Laufende Rohre
- MetaQA::
- Führen Sie die folgenden Befehle zur Indizierung und Abfrage aus:
cd pipeline python metaQA_index.py python metaQA_abfrage1hop.py python metaQA_abfrage2hop.py python metaQA_abfrage3hop.py
- FaktKG::
- Führen Sie die folgenden Befehle zur Indizierung und Abfrage aus:
bash
cd-pipeline
python factKG_index.py
python factKG_query.py
- Führen Sie die folgenden Befehle zur Indizierung und Abfrage aus:
Konfigurationsdatei
- Die Konfigurationsdatei befindet sich im Verzeichnis
Konfigs
Ordner kann der Benutzer das Profil je nach Bedarf an verschiedene Aufgaben und Datensätze anpassen.
Ergebnisse Ansicht
- Die Abfrageergebnisse werden in der in der Konfigurationsdatei angegebenen Ausgabedatei gespeichert, zum Beispiel
Ergebnisse/FactKG_query.txt
. Das Ergebnis jeder Zeile ist ein Wörterbuch mit dem Schlüsselrichtig
Gibt an, ob die endgültige Antwort richtig ist.
Mit den obigen Schritten können die Benutzer schnell mit der wissensgraphengesteuerten Aufgabe der Generierung von Retrieval-Erweiterungen mit SimGRAG beginnen.