Zum Inhalt springen

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:

  1. Finde Kunden, die Produkt A gekauft haben
  2. Prüfe, ob diese Kunden Beschwerden eingereicht haben
  3. 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)

  1. Ein LLM extrahiert Entitäten und Beziehungen aus den Dokumenten
  2. Entitäten: Kunden, Produkte, Ereignisse, Konzepte
  3. Beziehungen: "hat gekauft", "hat Beschwerde eingereicht", "ist Teil von"
  4. Der resultierende Knowledge Graph wird in einer Graphdatenbank gespeichert (z.B. Neo4j)
  5. Parallel werden die Textchunks wie gewohnt in einer Vector Database abgelegt

Phase 2: Hybrid Retrieval (Query)

  1. Die Frage wird analysiert: Welche Entitäten sind erwähnt? Welche Beziehungen sind gefragt?
  2. Graph-Traversierung: Folge den Beziehungen im Knowledge Graph, um verbundene Entitäten zu finden
  3. Vektor-Suche: Finde ergänzende Textchunks, die Kontext liefern
  4. Fusion: Kombiniere Graph-Ergebnisse und Vektor-Ergebnisse
  5. 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:

  1. Entity Extraction: LLM identifiziert Entitäten und Beziehungen in jedem Chunk
  2. Community Detection: Eng verbundene Entitäten werden zu Communities gruppiert (z.B. Leiden-Algorithmus)
  3. Community Summaries: Für jede Community generiert das LLM eine Zusammenfassung
  4. 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?

SzenarioVector RAGGraphRAGBegründung
"Was steht in Paragraph 3.2?"BesserOverkillEinfache Lookup-Frage, ein Chunk reicht
"Welche Projekte leitet Person X?"FunktioniertBesserBeziehung zwischen Person und Projekten
"Welche Abhängigkeiten gibt es zwischen diesen 5 Systemen?"Versagt oftDeutlich besserMulti-Hop über mehrere Beziehungen
"Was sind die Hauptthemen im gesamten Dokumentenbestand?"VersagtStarkGlobale 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.