Indexing-Methoden
GraphRAG ist eine Plattform für unsere Forschung zu RAG-Indexing-Methoden, die optimale Inhalte für das Kontextfenster von Sprachmodellen erzeugen. Wir haben eine Standard-Indexing-Pipeline, die ein Sprachmodell zur Extraktion des Graphen verwendet, auf dem unser Speichermodell basiert. Gelegentlich können wir zusätzliche Indexing-Methoden einführen. Diese Seite dokumentiert diese Optionen.
Standard GraphRAG
Dies ist die Methode, die im ursprünglichen Blogbeitrag beschrieben wird. Standard verwendet ein Sprachmodell für alle Schlussfolgerungsaufgaben.
- Entitätsextraktion: Das LLM wird aufgefordert, benannte Entitäten zu extrahieren und eine Beschreibung aus jeder Texteinheit zu liefern.
- Beziehungsextraktion: Das LLM wird aufgefordert, die Beziehung zwischen jedem Entitätspaar in jeder Texteinheit zu beschreiben.
- Entitätssummarisierung: Das LLM wird aufgefordert, die Beschreibungen für jede Instanz einer über die Texteinheiten gefundenen Entität zu einer einzigen Zusammenfassung zu kombinieren.
- Beziehungssummarisierung: Das LLM wird aufgefordert, die Beschreibungen für jede Instanz einer über die Texteinheiten gefundenen Beziehung zu einer einzigen Zusammenfassung zu kombinieren.
- Anspruchsextraktion (optional): Das LLM wird aufgefordert, Ansprüche aus jeder Texteinheit zu extrahieren und zu beschreiben.
- Generierung von Community-Berichten: Entitäts- und Beschreibungsbeziehungen (und optional Ansprüche) für jede Community werden gesammelt und verwendet, um das LLM aufzufordern, einen zusammenfassenden Bericht zu generieren.
graphrag index --method standard. Dies ist die Standardmethode, daher kann der Parameter method tatsächlich weggelassen werden.
FastGraphRAG
FastGraphRAG ist eine Methode, die einige der Schlussfolgerungsaufgaben des Sprachmodells durch traditionelle Methoden der natürlichen Sprachverarbeitung (NLP) ersetzt. Dies ist eine Hybridtechnik, die wir als schnellere und kostengünstigere Indexierungsalternative entwickelt haben.
- Entitätsextraktion: Entitäten sind Nominalphrasen, die mithilfe von NLP-Bibliotheken wie NLTK und spaCy extrahiert werden. Es gibt keine Beschreibung; die Quelltexteinheit wird dafür verwendet.
- Beziehungsextraktion: Beziehungen werden als Kohärenz von Texteinheiten zwischen Entitätspaaren definiert. Es gibt keine Beschreibung.
- Entitätssummarisierung: Nicht notwendig.
- Beziehungssummarisierung: Nicht notwendig.
- Anspruchsextraktion (optional): Unbenutzt.
- Generierung von Community-Berichten: Der direkte Textinhalt, der jede Entitäts-Nominalphrase enthält, wird gesammelt und verwendet, um das LLM aufzufordern, einen zusammenfassenden Bericht zu generieren.
graphrag index --method fast
FastGraphRAG verfügt über eine Handvoll integrierter NLP- Optionen. Standardmäßig verwenden wir NLTK + reguläre Ausdrücke für die Extraktion von Nominalphrasen, was sehr schnell ist, aber hauptsächlich für Englisch geeignet ist. Wir haben zwei zusätzliche Methoden mit spaCy integriert: semantisches Parsen und CFG. Wir verwenden standardmäßig das Modell en_core_web_md für spaCy, aber beachten Sie, dass Sie jedes installierte unterstützte Modell referenzieren können.
Beachten Sie, dass wir im Allgemeinen auch das Text-Chunking so konfigurieren, dass es viel kleinere Chunks (50-100 Tokens) erzeugt. Dies führt zu einem besseren Kohärenz-Graphen.
⚠️ Hinweis zu SpaCy-Modellen
Dieses Paket benötigt SpaCy-Modelle, um korrekt zu funktionieren. Wenn das erforderliche Modell nicht installiert ist, lädt und installiert das Paket es beim ersten Gebrauch automatisch herunter.
Sie können es manuell installieren, indem Sie python -m spacy download <modellname> ausführen, z. B. python -m spacy download en_core_web_md.
Auswahl einer Methode
Standard GraphRAG bietet eine reichhaltige Beschreibung von realen Entitäten und Beziehungen, ist aber teurer als FastGraphRAG. Wir schätzen, dass die Graphenextraktion etwa 75 % der Indexierungskosten ausmacht. FastGraphRAG ist daher viel günstiger, aber der Kompromiss ist, dass der extrahierte Graph für die Verwendung außerhalb von GraphRAG weniger direkt relevant ist und der Graph tendenziell recht verrauscht ist. Wenn hochgradig getreue Entitäten und Graphenexploration für Ihren Anwendungsfall wichtig sind, empfehlen wir, bei traditionellem GraphRAG zu bleiben. Wenn Ihr Anwendungsfall hauptsächlich auf zusammenfassende Fragen mit globaler Suche abzielt, bietet FastGraphRAG qualitativ hochwertige Zusammenfassungen zu deutlich geringeren LLM-Kosten.