GraphRAG (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

GraphRAG — je zdokonalené paradigma Retrieval-Augmented Generation (RAG), ve kterém je namísto tradičního vyhledávání v izolovaných textových fragmentech (chuncích) využíván znalostní graf (Knowledge Graph, KG)[1]. Grafová struktura explicitně reprezentuje vztahy mezi entitami a hierarchii doménových pojmů, což umožňuje LLM provádět víceúrovňové logické odvozování znalostí a formovat kontextově uvědomělejší a vysvětlitelnější odpovědi[2].

Přístup GraphRAG vykazuje výraznou převahu nad klasickým RAG při práci se složitými, víceúrovňovými (multi‑hop) dotazy, kde odpověď závisí na kombinaci více faktů roztroušených v různých dokumentech[3].

Omezení klasického RAG a výhody grafu

Klasický RAG, založený na vektorovém vyhledávání v nestrukturovaném textu, naráží na řadu zásadních omezení, která se stávají kritickými ve složitých podnikových scénářích:

  • Absence strukturálních vztahů: Tradiční RAG zpracovává textové chunky jako izolované jednotky a nevidí explicitní vztahy mezi nimi. To jej činí neefektivním pro multi‑hop dotazy, kde je k zodpovězení nutné projít řetězcem faktů (A→B→C), přičemž vyhledávání najde pouze počáteční a koncový článek (A a C), ale přehlédne mezičlánky[1].
  • Sémantická nejednoznačnost: V úzce specializovaných oblastech (medicína, právo, inženýrství) mají termíny specifické významy. Vektorové vyhledávání, zachycující obecné téma, může nesprávně interpretovat roli konkrétního objektu, což vede k získání nerelevantního kontextu.
  • Omezená vysvětlitelnost: Klasický RAG poskytuje fragmenty dokumentů, nikoli však explicitní důkazy o tom, jak jsou tyto fragmenty propojeny do logického řetězce. GraphRAG naopak tento proces činí transparentním, poskytuje jako důkaz cestu v grafu a vyžaduje přiřazení tvrzení ke zdrojům (citace)[4].

GraphRAG řeší tyto problémy tím, že reprezentuje znalosti jako síť propojených entit a vztahů, což umožňuje systému nejen vyhledávat podobný text, ale provádět logické odvozování na základě formalizovaného modelu předmětné oblasti.

Architektura GraphRAG

Obecný pipeline GraphRAG rozšiřuje klasický RAG o fáze budování a využívání znalostního grafu. Dělí se do dvou hlavních etap: offline příprava a online zpracování dotazu.

Etapa 1: Ingest a indexace (offline)

V této etapě jsou vstupní data (dokumenty, databáze) transformována do dvou vzájemně se doplňujících reprezentací: grafové a vektorové.

  1. Extrakce znalostí: Z textů jsou extrahovány strukturované fakty pomocí NLP pipeline:
    • Named Entity Recognition (NER): Nalezení zmínek o entitách (osobách, organizacích, produktech).
    • Entity Linking (EL): Propojení zmínek s kanonickými identifikátory v grafu za účelem odstranění nejednoznačnosti (např. „Novák J." a „J. Novák" se stanou jedním uzlem)[5].
    • Relation Extraction (RE): Identifikace vztahů mezi entitami (např. Společnost XakvizovalaStartup Y).
  2. Modelování a ukládání grafu: Extrahované trojice (subjekt‑predikát‑objekt) jsou načteny do grafové databáze. Výběr modelu (Property Graph nebo RDF) závisí na úkolu. Kriticky důležité je uchovávat původ (provenance) každého faktu — odkaz na zdrojový dokument a textový fragment[3]. Do grafu lze také přidat metadata o čase (valid_from/valid_to) a důvěryhodnosti (confidence).
  3. Hybridní indexace: Paralelně s grafem je vytvořen vektorový index pro zdrojové textové fragmenty. To umožňuje kombinovat strukturální vyhledávání v grafu se sémantickým vyhledáváním v textu.

Etapa 2: Zpracování dotazu a generování odpovědi (online)

  1. Analýza dotazu: Uživatelský dotaz je analyzován za účelem identifikace klíčových entit, které slouží jako „vstupní body" do grafu.
  2. Extrakce podgrafu: Namísto vyhledávání jednotlivých chunků GraphRAG nalezne relevantní podgraf — propojený fragment grafu kolem „vstupních bodů" obsahující informace potřebné k zodpovězení dotazu. K tomu se používají algoritmy jako k‑hop průchod nebo Personalized PageRank (PPR)[6].
  3. Hybridní vyhledávání a sloučení výsledků: Paralelně s extrakcí podgrafu probíhá vyhledávání ve vektorovém a/nebo lexikálním (BM25) indexu. Výsledky z grafu a textu jsou sloučeny a předány do další fáze.
  4. Přeřazení (Re‑ranking): Sloučený seznam kandidátů (uzly grafu a textové chunky) je přeřazen pomocí přesnějšího modelu (např. cross‑encoder) za účelem výběru nejrelevantnějších informací. To umožňuje odfiltrovat šum a zvýšit přesnost[7].
  5. Balení kontextu a generování: Vybraný a přeřazený kontext (podgraf a texty) je převeden do formátu srozumitelného pro LLM (např. seznam tvrzení s uvedením zdrojů). Tento obohacený kontext je vložen do promptu pro generování finální odpovědi.
  6. Trasování a citace: Díky vazbě „fakt ↔ zdroj" v grafu obsahuje vygenerovaná odpověď přesné odkazy na dokumenty potvrzující každé tvrzení. To zajišťuje vysokou podloženost a transparentnost.

Srovnávací tabulka komponent

Srovnávací analýza klíčových komponent architektury GraphRAG
Komponenta/aspekt Varianty implementace Výhody Nevýhody/rizika Kdy je preferováno
Model znalostního grafu RDF/OWL Striktní ontologie, logické odvozování (reasoning), kompatibilita s Linked Open Data. Obtížné ukládání atributů vztahů (čas, zdroj) bez dalších entit (reification). Sémanticky bohaté domény s existujícími ontologiemi; je vyžadována dedukce.
Property Graph (Neo4j, atd.) Flexibilita, libovolné vlastnosti na uzlech/hranách, vysoký výkon. Vyžaduje jasné schéma ručně, jinak riziko „chaosu"; chybí jednotný standard. Rychlý start s nestrukturovanými daty; integrace s dokumenty (multi‑model DB).
Extrakce podgrafu k‑hop BFS / DFS Pokrývá všechny uzly do hloubky k, snadná implementace. „Exploze" grafu: lavinový nárůst počtu uzlů; může vrátit mnoho šumu. Malé grafy nebo průchod do hloubky 1–2; hierarchické struktury.
Personalized PageRank (PPR) Zaměřuje se na skutečně propojené uzly, šum je odfiltrován[6]. Může přehlédnout vzdálený, ale důležitý uzel (pokud existuje málo cest, ale je kritický). Složité sítě s mnoha cestami (sociální graf, graf citací).
Hybridní vyhledávání Kombinovaný seznam (scalar fusion s váhou λ) Nastavení vah λ umožňuje vyvažovat precision/recall podle úkolu[8]. Pevné λ není optimální pro všechny typy dotazů. Ve fázi prototypování; když je předem známo, že jeden zdroj je jednoznačně důležitější.
Cross‑encoder rerank Výrazné zvýšení přesnosti; možnost zohlednit složité vzájemné vztahy. Zvyšuje latenci; vyžaduje trénovací data nebo použití hotových modelů[7]. High‑precision scénáře (právo, medicína), kde je důležitý maximálně relevantní kontext.
Bezpečnost dat Filtrování podgrafu (RBAC/ABAC) Granulární kontrola (až na úroveň uzlu) vylučuje úniky dat. „Slepé zóny": pokud je odebrán důležitý uzel, odpověď může být neúplná. V podnikových prostředích s přísnými požadavky na přístup (PII, GDPR, obchodní tajemství).

Trasování, důvěra a bezpečnost

Jednou z hlavních výhod GraphRAG je možnost prezentovat transparentní řetězce důkazů. Namísto odpovědi „černé skříňky" může systém ukázat cestu uvažování: „Fakt A je zmíněn v [doc1]. Je propojen s faktem B [doc2], a B podle [doc3] vede k C," — což zvyšuje důvěru uživatele a usnadňuje ladění.

Navíc grafová struktura umožňuje implementovat granulární řízení přístupu (RBAC/ABAC). Každý uzel nebo hrana v grafu může mít přístupový štítek. Při extrakci podgrafu systém automaticky odfiltruje data, ke kterým uživatel nemá oprávnění, čímž zajišťuje bezpečnost v citlivých oblastech (finance, HR, medicína).

Hodnocení kvality

Hodnocení systému GraphRAG je víceúrovňové a zahrnuje metriky pro každou komponentu:

  • Metriky extrakce znalostí: F1‑score pro NER a RE za účelem hodnocení kvality budování grafu.
  • Metriky extrakce podgrafu: Subgraph Recall@K (podíl případů, kdy uzly/hrany potřebné k odpovědi byly zahrnuty do extrahovaného podgrafu) a Path Precision/Recall pro multi‑hop otázky.
  • Metriky odpovědí LLM:
    • Faithfulness / Groundedness: do jaké míry se odpověď striktně opírá o poskytnutý kontext.
    • Human evaluation: hodnocení odborníky podle kritérií správnosti, úplnosti a soudržnosti.

Pro automatizaci hodnocení se používají specializované benchmarky (např. WebQuestionsSP, GrailQA) a frameworky (např. RAGAS)[9].

Viz také

  • Retrieval‑Augmented Generation (RAG)
  • Znalostní graf
  • Vektorová databáze
  • Embedding
  • AI-agent
  • Hodnocení a benchmarky LLM

Literatura

  • 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.

Poznámky

  1. 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.
  2. 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. 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; также в Findings of NAACL 2025: ACL Anthology.
  4. Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
  5. Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
  6. 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. 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
  8. Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
  9. 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.