Was ist GraphRAG? Der Hybrid-Ansatz für präzise AI-Antworten
GraphRAG kombiniert Knowledge Graphs mit RAG für 3,4x höhere Genauigkeit. So funktioniert der Ansatz.
TL;DR
GraphRAG kombiniert Knowledge Graphs mit RAG. Statt nur ähnliche Texte zu finden, traversiert es Beziehungen im Graph. Ergebnis: 3,4x genauer, 100x weniger Token, Multi-Hop Reasoning möglich.
Wichtigste Erkenntnisse
Hybrid-Ansatz
Kombiniert Graph-Traversierung mit semantischer Suche
3,4x genauer
Deutlich höhere Präzision als Vector RAG allein
100x Kompression
Nur relevanter Subgraph wird ans LLM gegeben
Multi-Hop Reasoning
Kann Beziehungen über mehrere Ebenen verfolgen
Das Problem mit klassischem RAG
RAG (Retrieval Augmented Generation) ist der Standard um LLMs mit externem Wissen zu verbinden. Der Ablauf:
- Dokumente werden in Chunks zerlegt und als Vektoren gespeichert
- Bei einer Frage wird der semantisch ähnlichste Chunk gesucht
- Dieser Chunk wird als Kontext ans LLM gegeben
Das Problem: Beziehungen gehen verloren.
Wenn Sie fragen "Warum stockt der Deal Mozartstraße?", muss das System verstehen:
- Deal Mozartstraße ist verbunden mit Objekt Mozartstraße
- Objekt Mozartstraße hat einen fehlenden Energieausweis
- Der Energieausweis fehlt seit 8 Tagen
- Der zuständige Anbieter wurde 2x kontaktiert
Diese Information ist über mehrere Dokumente und Datenpunkte verteilt. Vector RAG kann sie nicht zusammenführen.
GraphRAG: Der Hybrid-Ansatz
GraphRAG löst das durch einen zweistufigen Prozess:
Stufe 1: Entity Extraction & Graph Building
Aus Ihren Daten werden Entitäten (Kunden, Objekte, Deals, Dokumente) und ihre Beziehungen extrahiert und in einem Knowledge Graph gespeichert.
[Deal: Mozartstraße]
|
|--BETRIFFT--> [Objekt: Mozartstraße 15]
| |
|--FEHLT--> [Dokument: Energieausweis]
| |
|--KONTAKTIERT--> [Anbieter: EnergieCheck GmbH]
|
Status: "2x kontaktiert, keine Antwort"
Stufe 2: Graph-Augmented Retrieval
Bei einer Frage passiert Folgendes:
- Entity Recognition: "Deal Mozartstraße" wird im Graph identifiziert
- Graph Traversal: Das System folgt den Beziehungen (BETRIFFT, FEHLT, KONTAKTIERT)
- Subgraph Extraction: Nur die relevanten Knoten und Kanten werden extrahiert
- Context Compression: Der Subgraph wird in kompakten Text umgewandelt (100x weniger Token als alle Originaldokumente)
- LLM Generation: Das LLM antwortet basierend auf dem komprimierten, aber vollständigen Kontext
Die Performance-Zahlen
| Metrik | Vector RAG | GraphRAG | Verbesserung |
|---|---|---|---|
| Genauigkeit bei Beziehungsfragen | Baseline | 3,4x | +240% |
| Halluzinationsrate | Baseline | -6 bis -90% | Signifikant |
| Token-Verbrauch pro Query | ~4000 Tokens | ~40 Tokens | 100x weniger |
| 3-Hop Query Latenz | N/A (nicht möglich) | 30-150ms | ∞ |
| SQL-Equivalent (3 JOINs) | N/A | 4.500-8.000ms | 30-50x schneller |
Quellen: Microsoft Research GraphRAG Paper (2024), Neo4j Performance Benchmarks
Warum 100x weniger Token?
Das ist der entscheidende Vorteil für Kosten und Latenz:
Vector RAG: Gibt ganze Dokument-Chunks ans LLM (500-1000 Token pro Chunk, oft mehrere Chunks)
GraphRAG: Gibt nur den extrahierten Subgraph ans LLM:
Kontext für LLM (40 Token): - Deal: Mozartstraße (Status: Stockt) - Grund: Energieausweis fehlt seit 8 Tagen - Anbieter: EnergieCheck GmbH (2x kontaktiert, keine Antwort) - Aktion: Alternative Anbieter verfügbar
Das LLM bekommt exakt die Information die es braucht. Nicht mehr, nicht weniger.
Multi-Hop Reasoning
Die Killer-Fähigkeit von GraphRAG: Fragen beantworten die mehrere "Sprünge" durch den Graph erfordern:
1-Hop: "Welche Dokumente fehlen bei Deal Mozartstraße?"
2-Hop: "Welche Kunden haben Deals mit fehlenden Dokumenten?"
3-Hop: "Welche Notare betreuen Deals von Kunden aus Hamburg?"
Jeder Hop ist eine Beziehung im Graph. Vector RAG kann das nicht - es sieht nur isolierte Textpassagen.
Wann GraphRAG nutzen?
| Use Case | Vector RAG | GraphRAG |
|---|---|---|
| Dokumenten-QA ("Was steht im Vertrag?") | ✅ Ausreichend | ✅ Auch möglich |
| Beziehungsfragen ("Wer betreut wen?") | ❌ Schwach | ✅ Perfekt |
| Aggregationen ("Wie viele Deals stocken?") | ❌ Unmöglich | ✅ Native |
| Diagnose ("Warum stockt Deal X?") | ❌ Rät | ✅ Traversiert |
| CRM/ERP Integration | ⚠️ Umständlich | ✅ Native |
Wie Osiris GraphRAG implementiert
Osiris nutzt Neo4j als Knowledge Graph Backend und implementiert GraphRAG so:
- Kontinuierliche Extraktion: Daten aus PropStack/CRM werden laufend in den Graph synchronisiert
- Schema-Design: Immobilien-spezifische Ontologie (Objekt, Deal, Kunde, Dokument, Aktivität)
- Cypher Queries: Optimierte Graph-Queries für typische Fragen
- MCP Integration: Das LLM fragt Osiris via Model Context Protocol
- Context Compression: Subgraphen werden in LLM-optimierte Prompts umgewandelt
Häufig gestellte Fragen
Brauche ich GraphRAG wenn ich nur Dokumente durchsuchen will?
Nein, für reine Dokumenten-Suche reicht Vector RAG. GraphRAG lohnt sich wenn Sie Beziehungsfragen haben, CRM/ERP-Daten integrieren oder Diagnosen stellen wollen ('Warum stockt X?').
Ist GraphRAG komplizierter zu implementieren?
Ja, initial mehr Aufwand für Schema-Design und Entity Extraction. Aber der ROI ist enorm: 3,4x höhere Genauigkeit, 100x geringere Token-Kosten, und Antworten die tatsächlich stimmen.
Kann ich GraphRAG auch ohne Knowledge Graph nutzen?
Theoretisch ja, mit 'flachen' Graphen aus Dokumenten (Entity-Extraction on-the-fly). Aber für Business-Daten (CRM, ERP) brauchen Sie einen persistenten Knowledge Graph für Konsistenz und Performance.
Quellen
- From Local to Global: A Graph RAG Approach - Microsoft Research (2024)
- Neo4j Vector and Graph RAG - Neo4j (2024)
Anwendungsfälle
- Business Intelligence
- CRM Integration
- Process Diagnosis
- Multi-Source Analytics
Voraussetzungen
- Grundverständnis von RAG
- Basis Knowledge Graphs
Aufwand
MVP-Scope, iterativ erweiterbar