GraphRAG (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

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

  1. 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 XprzejęłaStartup Y).
  2. 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).
  3. 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)

  1. Parsowanie zapytania: Zapytanie użytkownika jest analizowane w celu wyodrębnienia kluczowych encji, które służą jako „punkty wejścia" do grafu.
  2. 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].
  3. 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.
  4. 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].
  5. 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.
  6. Ś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

Analiza porównawcza kluczowych komponentów architektury GraphRAG
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. 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.