Zum Inhalt springen

Erste Schritte

⚠️ GraphRAG kann viele LLM-Ressourcen verbrauchen! Wir empfehlen dringend, mit dem Tutorial-Datensatz hier zu beginnen, bis Sie verstehen, wie das System funktioniert, und erwägen Sie, zuerst mit schnellen/kostengünstigen Modellen zu experimentieren, bevor Sie sich zu einem großen Indexierungsjob verpflichten.

Anforderungen

Python 3.10-3.12

Um mit dem GraphRAG-System zu beginnen, haben Sie einige Optionen

👉 Von pypi installieren.
👉 Aus der Quelle verwenden

Das Folgende ist ein einfaches End-to-End-Beispiel für die Verwendung des GraphRAG-Systems, das die Installation von pypi verwendet.

Es zeigt, wie das System verwendet wird, um Text zu indizieren und dann die indizierten Daten zu verwenden, um Fragen zu den Dokumenten zu beantworten.

GraphRAG installieren

pip install graphrag

Den Indexer ausführen

Wir müssen ein Datenprojekt und eine anfängliche Konfiguration einrichten. Lassen Sie uns zuerst einen Beispiel-Datensatz vorbereiten

mkdir -p ./christmas/input

Holen Sie sich eine Kopie von A Christmas Carol von Charles Dickens aus einer vertrauenswürdigen Quelle

curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt -o ./christmas/input/book.txt

Richten Sie Ihre Arbeitsbereichvariablen ein

Um Ihren Arbeitsbereich zu initialisieren, führen Sie zuerst den Befehl graphrag init aus. Da wir bereits ein Verzeichnis namens ./christmas im vorherigen Schritt konfiguriert haben, führen Sie den folgenden Befehl aus

graphrag init --root ./christmas

Dies erstellt zwei Dateien: .env und settings.yaml im Verzeichnis ./christmas.

  • .env enthält die Umgebungsvariablen, die zum Ausführen der GraphRAG-Pipeline erforderlich sind. Wenn Sie die Datei inspizieren, sehen Sie eine einzelne Umgebungsvariable definiert: GRAPHRAG_API_KEY=<API_KEY>. Ersetzen Sie <API_KEY> durch Ihren eigenen OpenAI- oder Azure-API-Schlüssel.
  • settings.yaml enthält die Einstellungen für die Pipeline. Sie können diese Datei ändern, um die Einstellungen für die Pipeline zu ändern.

OpenAI verwenden

Wenn Sie im OpenAI-Modus arbeiten, müssen Sie nur den Wert von GRAPHRAG_API_KEY in der Datei .env mit Ihrem OpenAI-API-Schlüssel aktualisieren.

Azure OpenAI verwenden

Zusätzlich zur Festlegung Ihres API-Schlüssels sollten Azure OpenAI-Benutzer die folgenden Variablen in der Datei settings.yaml festlegen. Um die entsprechenden Abschnitte zu finden, suchen Sie einfach nach der models: Stammkonfiguration; Sie sollten zwei Abschnitte sehen, einen für den Standard-Chat-Endpunkt und einen für den Standard-Embeddings-Endpunkt. Hier ist ein Beispiel dafür, was der Chatmodellkonfiguration hinzugefügt werden kann

type: azure_openai_chat # Or azure_openai_embedding for embeddings
api_base: https://<instance>.openai.azure.com
api_version: 2024-02-15-preview # You can customize this for other versions
deployment_name: <azure_model_deployment_name>

Verwaltete Authentifizierung unter Azure verwenden

Um die verwaltete Authentifizierung zu verwenden, bearbeiten Sie den auth_type in Ihrer Modellkonfiguration und *entfernen* Sie die api_key Zeile

auth_type: azure_managed_identity # Default auth_type is is api_key

Sie müssen sich auch mit az login anmelden und das Abonnement mit Ihrem Endpunkt auswählen.

Die Indexierungs-Pipeline ausführen

Endlich führen wir die Pipeline aus!

graphrag index --root ./christmas

pipeline executing from the CLI

Dieser Prozess wird einige Zeit dauern. Dies hängt von der Größe Ihrer Eingabedaten, dem verwendeten Modell und der Größe der Textstücke ab (diese können in Ihrer settings.yaml Datei konfiguriert werden). Sobald die Pipeline abgeschlossen ist, sollten Sie einen neuen Ordner namens ./christmas/output mit einer Reihe von Parquet-Dateien sehen.

Die Abfragemaschine verwenden

Lassen Sie uns nun einige Fragen mit diesem Datensatz stellen.

Hier ist ein Beispiel für die globale Suche, um eine übergeordnete Frage zu stellen

graphrag query \
--root ./christmas \
--method global \
--query "What are the top themes in this story?"

Hier ist ein Beispiel für die lokale Suche, um eine spezifischere Frage zu einem bestimmten Charakter zu stellen

graphrag query \
--root ./christmas \
--method local \
--query "Who is Scrooge and what are his main relationships?"

Bitte beachten Sie die Abfragemaschinen-Dokumentation für detaillierte Informationen, wie Sie unsere lokalen und globalen Suchmechanismen zur Gewinnung aussagekräftiger Erkenntnisse aus Daten nutzen können, nachdem der Indexer seine Ausführung abgeschlossen hat.

Tiefer eintauchen