GraphRAG (PL)
GraphRAG — to zaawansowany paradygmat Retrieval-Augmented Generation (RAG), w którym zamiast tradycyjnego wyszukiwania po rozproszonych fragmentach tekstowych (chunkach) wykorzystywany jest graf wiedzy (Knowledge Graph, KG)[1]. Struktura grafowa jawnie reprezentuje powiązania między encjami oraz hierarchię pojęć dziedzinowych, co pozwala LLM wykonywać wieloetapowe logiczne wydobywanie wiedzy i formułować bardziej kontekstowo świadome i wyjaśnialne odpowiedzi[2].
Podejście GraphRAG wykazuje znaczącą przewagę nad klasycznym RAG podczas pracy ze złożonymi, wieloskoczkowymi (multi‑hop) zapytaniami, gdzie odpowiedź zależy od kombinacji kilku faktów rozproszonych po różnych dokumentach[3].
Ograniczenia klasycznego RAG i zalety grafu
Klasyczny RAG, oparty na wyszukiwaniu wektorowym po nieustrukturyzowanym tekście, napotyka szereg fundamentalnych ograniczeń, które stają się krytyczne w złożonych scenariuszach korporacyjnych:
- Brak powiązań strukturalnych: Tradycyjny RAG przetwarza chunki tekstowe jako izolowane jednostki i nie dostrzega jawnych powiązań między nimi. Czyni go to nieskutecznym w przypadku zapytań multi‑hop, gdzie udzielenie odpowiedzi wymaga prześledzenia łańcucha faktów (A→B→C), a wyszukiwanie odnajduje jedynie ogniwa początkowe i końcowe (A i C), pomijając pośrednie[1].
- Niejednoznaczność semantyczna: W wąsko wyspecjalizowanych dziedzinach (medycyna, prawo, inżynieria) terminy mają specyficzne znaczenia. Wyszukiwanie wektorowe, wychwytując ogólny temat, może błędnie interpretować rolę konkretnego obiektu, co prowadzi do pobierania nieistotnego kontekstu.
- Ograniczona wyjaśnialność: Klasyczny RAG dostarcza fragmenty dokumentów, ale nie jawnych dowodów na to, jak te fragmenty łączą się w logiczny łańcuch. GraphRAG, przeciwnie, czyni ten proces przejrzystym, dostarczając jako dowód ścieżkę w grafie i wymagając powiązania twierdzeń ze źródłami (cytowanie)[4].
GraphRAG rozwiązuje te problemy, reprezentując wiedzę w postaci sieci powiązanych encji i relacji, co pozwala systemowi nie tylko znajdować podobny tekst, lecz także wykonywać wnioskowanie logiczne na podstawie sformalizowanego modelu dziedziny.
Architektura GraphRAG
Ogólny potok GraphRAG rozszerza klasyczny RAG o etapy budowania i wykorzystania grafu wiedzy. Dzieli się on na dwa główne etapy: przygotowanie offline i przetwarzanie zapytania online.
Etap 1: Ingest i indeksowanie (offline)
Na tym etapie dane źródłowe (dokumenty, bazy danych) przekształcane są w dwie wzajemnie uzupełniające się reprezentacje: grafową i wektorową.
- Ekstrakcja wiedzy: Z tekstów wydobywane są ustrukturyzowane fakty za pomocą potoku NLP:
- Named Entity Recognition (NER): Wykrywanie wzmianek o encjach (osobach, organizacjach, produktach).
- Entity Linking (EL): Łączenie wzmianek z kanonicznymi identyfikatorami w grafie w celu usunięcia niejednoznaczności (np. „Kowalski J." i „J. Kowalski" stają się jednym węzłem)[5].
- Relation Extraction (RE): Wykrywanie relacji między encjami (np. Firma X −przejęła→ Startup Y).
- Modelowanie i przechowywanie grafu: Wyekstrahowane trójki (podmiot‑predykat‑obiekt) ładowane są do grafowej bazy danych. Wybór modelu (Property Graph lub RDF) zależy od zadania. Kluczowe jest przechowywanie proweniencji (provenance) każdego faktu — odniesienia do dokumentu źródłowego i fragmentu tekstowego[3]. Do grafu mogą być również dodawane metadane dotyczące czasu (valid_from/valid_to) i wiarygodności (confidence).
- Hybrydowe indeksowanie: Równolegle z grafem tworzony jest indeks wektorowy dla źródłowych fragmentów tekstowych. Pozwala to łączyć strukturalne wyszukiwanie po grafie z semantycznym wyszukiwaniem po tekście.
Etap 2: Przetwarzanie zapytania i generowanie odpowiedzi (online)
- Parsowanie zapytania: Zapytanie użytkownika jest analizowane w celu wyodrębnienia kluczowych encji, które służą jako „punkty wejścia" do grafu.
- Wydobycie podgrafu: Zamiast wyszukiwania pojedynczych chunków, GraphRAG odnajduje relewantny podgraf — spójny fragment grafu wokół „punktów wejścia", zawierający informacje potrzebne do udzielenia odpowiedzi. W tym celu stosowane są algorytmy takie jak przechodzenie k‑hop lub Personalized PageRank (PPR)[6].
- Hybrydowe wyszukiwanie i łączenie wyników: Równolegle z wydobyciem podgrafu wykonywane jest wyszukiwanie w indeksie wektorowym i/lub leksykalnym (BM25). Wyniki z grafu i tekstu są łączone i przekazywane do następnego etapu.
- Przekwalifikowanie (Re‑ranking): Połączona lista kandydatów (węzły grafu i chunki tekstowe) jest ponownie rankingowana za pomocą dokładniejszego modelu (np. cross-encodera) w celu wyboru najbardziej relewantnych informacji. Pozwala to filtrować szum i zwiększać precyzję[7].
- Pakowanie kontekstu i generowanie: Wybrany i uszeregowany kontekst (podgraf i teksty) przekształcany jest w format zrozumiały dla LLM (np. lista twierdzeń ze wskazaniem źródeł). Ten wzbogacony kontekst przekazywany jest do promptu w celu wygenerowania końcowej odpowiedzi.
- Śledzenie i cytowanie: Dzięki powiązaniu „fakt ↔ źródło" w grafie, wygenerowana odpowiedź zawiera dokładne odniesienia do dokumentów potwierdzających każdą tezę. Zapewnia to wysoką uzasadnioność i przejrzystość.
Tabela porównawcza komponentów
| Komponent/aspekt | Warianty implementacji | Zalety | Wady/ryzyka | Kiedy preferowane |
|---|---|---|---|---|
| Model grafu wiedzy | RDF/OWL | Ścisła ontologia, wnioskowanie logiczne (reasoning), zgodność z Linked Open Data. | Trudne przechowywanie atrybutów relacji (czas, źródło) bez dodatkowych encji (reification). | Semantycznie bogate dziedziny z istniejącymi ontologiami; wymagana dedukcja. |
| Property Graph (Neo4j, itp.) | Elastyczność, dowolne właściwości węzłów/krawędzi, wysoka wydajność. | Wymaga ręcznego zdefiniowania schematu lub ryzyko „bałaganu"; brak jednolitego standardu. | Szybki start z nieustrukturyzowanymi danymi; integracja z dokumentami (multi‑model DB). | |
| Wydobycie podgrafu | k‑hop BFS / DFS | Obejmuje wszystkie węzły do głębokości k, prosty w implementacji. | „Eksplozja" grafu: lawinowy wzrost liczby węzłów; może zwracać dużo szumu. | Małe grafy lub przechodzenie na głębokość 1–2; struktury hierarchiczne. |
| Personalized PageRank (PPR) | Skupia się na rzeczywiście powiązanych węzłach, szum jest odsiewany[6]. | Może pominąć odległy, lecz ważny węzeł (jeśli jest mało ścieżek, ale jest on krytyczny). | Złożone sieci z wieloma ścieżkami (graf społecznościowy, graf cytowań). | |
| Wyszukiwanie hybrydowe | Lista kombinowana (scalar fusion z wagą λ) | Dostosowanie wag λ pozwala balansować precision/recall pod konkretne zadanie[8]. | Stałe λ nie jest optymalne dla wszystkich typów zapytań. | Na etapie prototypowania; gdy wiadomo, że jedno źródło jest z góry ważniejsze. |
| Cross‑encoder rerank | Znaczący wzrost precyzji; możliwość uwzględniania złożonych wzajemnych powiązań. | Zwiększa opóźnienie; wymaga danych do trenowania lub gotowych modeli[7]. | Scenariusze high‑precision (prawo, medycyna), gdzie najważniejszy jest maksymalnie relewantny kontekst. | |
| Bezpieczeństwo danych | Filtrowanie podgrafu (RBAC/ABAC) | Granularny dostęp (do poziomu węzła) wyklucza wycieki. | „Martwe strefy": jeśli wycinany jest ważny węzeł, odpowiedź może stać się niepełna. | W środowiskach korporacyjnych ze ścisłymi wymaganiami dotyczącymi dostępu (dane osobowe, GDPR, tajemnice handlowe). |
Śledzenie, zaufanie i bezpieczeństwo
Jedną z głównych zalet GraphRAG jest możliwość przedstawienia przejrzystych łańcuchów dowodów. Zamiast odpowiedzi „czarnej skrzynki", system może pokazać ścieżkę rozumowania: „Fakt A jest wymieniony w [doc1]. Jest powiązany z faktem B [doc2], a B zgodnie z [doc3] prowadzi do C" — co zwiększa zaufanie użytkownika i upraszcza debugowanie.
Ponadto struktura grafowa pozwala zaimplementować granularne zarządzanie dostępem (RBAC/ABAC). Każdy węzeł lub krawędź w grafie może posiadać etykietę dostępu. Podczas wydobywania podgrafu system automatycznie odfiltrowuje dane, do których użytkownik nie posiada uprawnień, zapewniając bezpieczeństwo w wrażliwych obszarach (finanse, HR, medycyna).
Ocena jakości
Ocena systemu GraphRAG jest wieloetapowa i obejmuje metryki dla każdego komponentu:
- Metryki ekstrakcji wiedzy: F1‑score dla NER i RE, w celu oceny jakości budowania grafu.
- Metryki wydobycia podgrafu: Subgraph Recall@K (odsetek przypadków, w których węzły/krawędzie potrzebne do odpowiedzi znalazły się w wydobytym podgrafie) oraz Path Precision/Recall dla pytań multi‑hop.
- Metryki odpowiedzi LLM:
- Faithfulness / Groundedness: w jakim stopniu odpowiedź ściśle opiera się na dostarczonym kontekście.
- Human evaluation: ocena ekspercka według kryteriów poprawności, kompletności i spójności.
Do automatyzacji oceny wykorzystywane są specjalistyczne benchmarki (np. WebQuestionsSP, GrailQA) oraz frameworki (np. RAGAS)[9].
Zobacz też
- Retrieval‑Augmented Generation (RAG)
- Graf wiedzy
- Wektorowa baza danych
- Embedding
- Agent AI
- Ocena i benchmarki 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.
Przypisy
- ↑ 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.