GraphRAG (NL)
GraphRAG — dit is een geavanceerd paradigma van Retrieval-Augmented Generation (RAG), waarbij in plaats van traditioneel zoeken door verspreide tekstfragmenten (chunks) een kennisgraaf (Knowledge Graph, KG) wordt gebruikt[1]. De grafische structuur stelt de verbanden tussen entiteiten en de hiërarchie van domeinconcepten expliciet voor, waardoor een LLM meerstapsredenering kan uitvoeren en meer contextbewuste en verklaarbare antwoorden kan genereren[2].
De GraphRAG-aanpak toont een significant voordeel ten opzichte van klassiek RAG bij het werken met complexe, meerstapsvragen (multi‑hop), waarbij het antwoord afhangt van een combinatie van meerdere feiten verspreid over verschillende documenten[3].
Beperkingen van klassiek RAG en voordelen van de graaf
Klassiek RAG, gebaseerd op vectorzoekopdrachten in ongestructureerde tekst, stuit op een aantal fundamentele beperkingen die kritisch worden in complexe bedrijfsscenario's:
- Ontbreken van structurele verbanden: Traditioneel RAG verwerkt tekstchunks als geïsoleerde eenheden en ziet geen expliciete verbanden daartussen. Dit maakt het inefficiënt voor multi‑hop-vragen, waarbij het antwoord vereist dat een keten van feiten wordt doorlopen (A→B→C), terwijl de zoekopdracht alleen het begin- en eindpunt vindt (A en C) en de tussenliggende schakels mist[1].
- Semantische dubbelzinnigheid: In sterk gespecialiseerde vakgebieden (geneeskunde, rechten, techniek) hebben termen specifieke betekenissen. Vectorzoekopdrachten kunnen, hoewel ze het algemene onderwerp oppikken, de rol van een specifiek object verkeerd interpreteren, wat leidt tot het ophalen van irrelevante context.
- Beperkte verklaarbaarheid: Klassiek RAG levert documentfragmenten op, maar geen expliciete bewijzen van hoe deze fragmenten zijn verbonden in een logische keten. GraphRAG maakt dit proces daarentegen transparant door een pad in de graaf als bewijs te verstrekken en vereist dat uitspraken worden gekoppeld aan bronnen (citaties)[4].
GraphRAG lost deze problemen op door kennis voor te stellen als een netwerk van verbonden entiteiten en relaties, waardoor het systeem niet alleen gelijkaardige tekst vindt, maar logische gevolgtrekkingen maakt op basis van een geformaliseerd domeinmodel.
Architectuur van GraphRAG
De algemene GraphRAG-pipeline breidt klassiek RAG uit door stappen toe te voegen voor het bouwen en gebruiken van een kennisgraaf. Het bestaat uit twee hoofdfasen: offline-voorbereiding en online-verwerking van verzoeken.
Fase 1: Ingest en indexering (offline)
In deze fase worden brongegevens (documenten, databases) omgezet in twee complementaire representaties: een grafische en een vectoriële.
- Kennisonttrekking: Gestructureerde feiten worden uit teksten geëxtraheerd met behulp van een NLP-pipeline:
- Named Entity Recognition (NER): Het vinden van vermeldingen van entiteiten (personen, organisaties, producten).
- Entity Linking (EL): Het koppelen van vermeldingen aan canonieke identificatoren in de graaf om dubbelzinnigheid op te lossen (bijv. worden "Jansen J.J." en "J. Jansen" één knoop)[5].
- Relation Extraction (RE): Het identificeren van relaties tussen entiteiten (bijv. Bedrijf X −heeft overgenomen→ Startup Y).
- Grafmodellering en -opslag: De geëxtraheerde triples (subject‑predikaat‑object) worden geladen in een grafische database. De keuze van het model (Property Graph of RDF) hangt af van de taak. Het is van cruciaal belang om de herkomst (provenance) van elk feit op te slaan — een verwijzing naar het brondocument en het tekstfragment[3]. Aan de graaf kunnen ook metadata worden toegevoegd over tijd (valid_from/valid_to) en betrouwbaarheid (confidence).
- Hybride indexering: Parallel aan de graaf wordt een vectorindex aangemaakt voor de oorspronkelijke tekstfragmenten. Dit maakt het mogelijk om structureel zoeken via de graaf te combineren met semantisch zoeken in tekst.
Fase 2: Verzoekverwerking en antwoordgeneratie (online)
- Verzoekanalyse: Het gebruikersverzoek wordt geanalyseerd om sleutelentiteiten te identificeren, die dienen als "ingangspunten" in de graaf.
- Subgraafextractie: In plaats van individuele chunks te zoeken, vindt GraphRAG een relevante subgraaf — een verbonden fragment van de graaf rondom de "ingangspunten" dat informatie bevat voor het antwoord. Hiervoor worden algoritmen gebruikt zoals k‑hop-traversal of Personalized PageRank (PPR)[6].
- Hybride zoeken en samenvoegen van resultaten: Parallel aan de subgraafextractie wordt gezocht via de vector- en/of lexicale (BM25) index. Resultaten uit de graaf en tekst worden samengevoegd en doorgegeven aan de volgende fase.
- Herrangschikking (Re‑ranking): De gecombineerde lijst van kandidaten (grafknopen en tekstchunks) wordt herrangschikt met behulp van een nauwkeuriger model (bijv. een cross-encoder) om de meest relevante informatie te selecteren. Dit filtert ruis weg en verhoogt de precisie[7].
- Contextverpakking en generatie: De geselecteerde en gerangschikte context (subgraaf en teksten) wordt omgezet naar een voor de LLM begrijpelijk formaat (bijv. een lijst van uitspraken met bronvermelding). Deze verrijkte context wordt in de prompt ingevoerd voor de generatie van het uiteindelijke antwoord.
- Tracering en citatie: Dankzij de koppeling "feit ↔ bron" in de graaf bevat het gegenereerde antwoord exacte verwijzingen naar de documenten die elke bewering onderbouwen. Dit zorgt voor een hoge onderbouwing en transparantie.
Vergelijkingstabel van componenten
| Component/aspect | Implementatievarianten | Voordelen | Nadelen/risico's | Wanneer de voorkeur heeft |
|---|---|---|---|---|
| Kennisgraafmodel | RDF/OWL | Strikte ontologie, logische gevolgtrekkingen (reasoning), compatibiliteit met Linked Open Data. | Moeilijk om relatieattributen (tijd, bron) op te slaan zonder extra entiteiten (reification). | Semantisch rijke domeinen met bestaande ontologieën; deductie is vereist. |
| Property Graph (Neo4j, etc.) | Flexibiliteit, willekeurige eigenschappen op knopen/kanten, hoge prestaties. | Vereist een duidelijk schema handmatig of risico op "chaos"; geen uniforme standaard. | Snelle start met ongestructureerde gegevens; integratie met documenten (multi‑model DB). | |
| Subgraafextractie | k‑hop BFS / DFS | Dekt alle knopen tot diepte k, eenvoudig te implementeren. | "Explosie" van de graaf: lawineachtige groei van het aantal knopen; kan veel ruis teruggeven. | Kleine grafen of traversal op diepte 1–2; hiërarchische structuren. |
| Personalized PageRank (PPR) | Focust op werkelijk verbonden knopen, ruis wordt gefilterd[6]. | Kan een verre maar belangrijke knoop missen (als er weinig paden zijn maar hij kritiek is). | Complexe netwerken met veel paden (sociale graaf, citatiegraaaf). | |
| Hybride zoeken | Gecombineerde lijst (scalaire fusie met gewicht λ) | Het afstemmen van gewichten λ maakt het mogelijk precisie/recall per taak te balanceren[8]. | Vaste λ is niet optimaal voor alle typen verzoeken. | In de prototypefase; wanneer bekend is dat één bron duidelijk belangrijker is. |
| Cross‑encoder rerank | Aanzienlijke verbetering van precisie; mogelijkheid om complexe onderlinge verbanden te betrekken. | Verhoogt de latentie; vereist trainingsgegevens of het gebruik van kant-en-klare modellen[7]. | High‑precision-scenario's (rechten, geneeskunde), waarbij maximaal relevante context van belang is. | |
| Gegevensbeveiliging | Subgraaffiltering (RBAC/ABAC) | Granulaire controle (tot op knoopniveau) sluit lekken uit. | "Blinde vlekken": als een belangrijke knoop is weggesneden, kan het antwoord onvolledig worden. | In bedrijfsomgevingen met strikte toegangsvereisten (PII, GDPR, bedrijfsgeheimen). |
Tracering, vertrouwen en beveiliging
Een van de belangrijkste voordelen van GraphRAG is de mogelijkheid om transparante bewijsketens te presenteren. In plaats van een "black box"-antwoord kan het systeem het redeneerpad tonen: "Feit A wordt vermeld in [doc1]. Het is verbonden met feit B [doc2], en B leidt volgens [doc3] tot C" — wat het vertrouwen van de gebruiker vergroot en het debuggen vereenvoudigt.
Bovendien maakt de grafische structuur granulaire toegangscontrole (RBAC/ABAC) mogelijk. Elke knoop of kant in de graaf kan een toegangslabel hebben. Bij het extraheren van de subgraaf filtert het systeem automatisch de gegevens weg waartoe de gebruiker geen rechten heeft, waardoor beveiliging wordt gewaarborgd in gevoelige domeinen (financiën, HR, geneeskunde).
Kwaliteitsevaluatie
De evaluatie van een GraphRAG-systeem is meerfasig en omvat metrieken voor elk component:
- Metrieken voor kennisonttrekking: F1‑score voor NER en RE om de kwaliteit van de grafopbouw te beoordelen.
- Metrieken voor subgraafextractie: Subgraph Recall@K (het aandeel gevallen waarbij de voor het antwoord benodigde knopen/kanten in de geëxtraheerde subgraaf terechtkwamen) en Path Precision/Recall voor multi‑hop-vragen.
- Metrieken voor LLM-antwoorden:
- Faithfulness / Groundedness: in hoeverre het antwoord strikt gebaseerd is op de verstrekte context.
- Human evaluation: beoordeling door experts op criteria van juistheid, volledigheid en coherentie.
Voor de automatisering van de evaluatie worden gespecialiseerde benchmarks (bijv. WebQuestionsSP, GrailQA) en frameworks (bijv. RAGAS) gebruikt[9].
Zie ook
- Retrieval‑Augmented Generation (RAG)
- Kennisgraaf
- Vectordatabase
- Embedding
- AI-agent
- Evaluatie en benchmarks van LLM
Literatuur
- Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
- Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
- Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
- Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
- Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
- Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
- Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
- Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
- Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
- Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
- Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
- Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
- He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
- Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.
Noten
- ↑ 1.0 1.1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
- ↑ Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
- ↑ 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; также в Findings of NAACL 2025: ACL Anthology.
- ↑ Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
- ↑ Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
- ↑ 6.0 6.1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
- ↑ 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
- ↑ Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
- ↑ Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; также preprint: arXiv:2309.15217.