GraphRAG -- Knowledge Graphs trifft RAG
Wissen
Standard-RAG findet Informationen, die in einem einzelnen Chunk stehen. Aber was, wenn die Antwort über mehrere Dokumente verteilt ist und die Verbindungen zwischen den Informationen entscheidend sind?
GraphRAG kombiniert Knowledge Graphs mit RAG. Statt nur Textchunks zu speichern, werden Entitäten (Personen, Produkte, Konzepte) und ihre Beziehungen in einem Graphen modelliert. Die Retrieval-Phase nutzt dann sowohl Vektorsuche als auch Graph-Traversierung.
Verstehen
Warum Vector Search für Multi-Hop versagt
Stell dir diese Frage vor: "Welche Kunden, die Produkt A gekauft haben, hatten auch Beschwerden über Produkt B?"
Diese Frage erfordert Multi-Hop-Reasoning -- drei Informationssprünge:
- Finde Kunden, die Produkt A gekauft haben
- Prüfe, ob diese Kunden Beschwerden eingereicht haben
- Filtere nach Beschwerden über Produkt B
In einem reinen Vektor-RAG-System wird die Query als ein einziger Vektor repräsentiert und gegen alle Chunks verglichen. Die Suche findet vielleicht Chunks über Produkt A und Chunks über Beschwerden zu Produkt B -- aber die Verbindung zwischen Kunden, Käufen und Beschwerden geht verloren.
Wie GraphRAG funktioniert
Phase 1: Wissensextraktion (Indexierung)
- Ein LLM extrahiert Entitäten und Beziehungen aus den Dokumenten
- Entitäten: Kunden, Produkte, Ereignisse, Konzepte
- Beziehungen: "hat gekauft", "hat Beschwerde eingereicht", "ist Teil von"
- Der resultierende Knowledge Graph wird in einer Graphdatenbank gespeichert (z.B. Neo4j)
- Parallel werden die Textchunks wie gewohnt in einer Vector Database abgelegt
Phase 2: Hybrid Retrieval (Query)
- Die Frage wird analysiert: Welche Entitäten sind erwähnt? Welche Beziehungen sind gefragt?
- Graph-Traversierung: Folge den Beziehungen im Knowledge Graph, um verbundene Entitäten zu finden
- Vektor-Suche: Finde ergänzende Textchunks, die Kontext liefern
- Fusion: Kombiniere Graph-Ergebnisse und Vektor-Ergebnisse
- Generation: Das LLM synthetisiert die Antwort aus beiden Quellen
Microsofts GraphRAG-Ansatz
Microsoft hat 2024 einen einflussreichen GraphRAG-Ansatz veröffentlicht, der Community Detection nutzt:
- Entity Extraction: LLM identifiziert Entitäten und Beziehungen in jedem Chunk
- Community Detection: Eng verbundene Entitäten werden zu Communities gruppiert (z.B. Leiden-Algorithmus)
- Community Summaries: Für jede Community generiert das LLM eine Zusammenfassung
- Query-Routing: Fragen werden auf die relevantesten Communities geroutet
Dieser Ansatz ist besonders stark bei globalen Fragen ("Was sind die Hauptthemen in diesen 10.000 Dokumenten?"), wo lokale Vektorsuche versagt, weil die Antwort über das gesamte Corpus verteilt ist.
Wann GraphRAG und wann nicht?
| Szenario | Vector RAG | GraphRAG | Begründung |
|---|---|---|---|
| "Was steht in Paragraph 3.2?" | Besser | Overkill | Einfache Lookup-Frage, ein Chunk reicht |
| "Welche Projekte leitet Person X?" | Funktioniert | Besser | Beziehung zwischen Person und Projekten |
| "Welche Abhängigkeiten gibt es zwischen diesen 5 Systemen?" | Versagt oft | Deutlich besser | Multi-Hop über mehrere Beziehungen |
| "Was sind die Hauptthemen im gesamten Dokumentenbestand?" | Versagt | Stark | Globale Frage erfordert Aggregation |
iGraphRAG ist kein Ersatz
GraphRAG ersetzt Vector RAG nicht, sondern ergänzt es. Die meisten produktionsreifen Systeme nutzen beide: Vector Search für lokale Fragen, Graph-Traversierung für Beziehungs- und Aggregationsfragen.
Ein Pharma-Unternehmen will ein System, das Fragen beantwortet wie: 'Welche Studien zeigen Wechselwirkungen zwischen Medikament A und Medikament B, und welche Patientengruppen sind betroffen?' -- Welcher Ansatz ist geeignet?
Anwenden
Implementierungskomplexität
GraphRAG ist signifikant aufwändiger als Standard-RAG:
- Entity Extraction erfordert LLM-Aufrufe pro Chunk (Kosten!)
- Graphdatenbank muss betrieben werden (Neo4j, Amazon Neptune)
- Schema-Design für den Knowledge Graph erfordert Domain-Expertise
- Hybrid Retrieval muss Graph-Ergebnisse und Vektor-Ergebnisse sinnvoll fusionieren
- Wartung: Der Graph muss bei Dokumentenänderungen aktualisiert werden
Faustregel: Starte mit Vector RAG. Wenn Multi-Hop-Fragen ein häufiges Muster sind und die Antwortqualität nicht ausreicht, investiere in GraphRAG.
Reflektieren
Überlege, welche Daten in deinem Arbeitsumfeld stark vernetzt sind. Gibt es Szenarien, in denen die Beziehungen zwischen Entitäten genauso wichtig sind wie die Entitäten selbst? Dort hat GraphRAG seinen größten Mehrwert.