{"id":32408,"date":"2025-11-12T05:00:00","date_gmt":"2025-11-12T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=32408"},"modified":"2025-12-17T15:31:10","modified_gmt":"2025-12-17T14:31:10","slug":"jak-pokonac-graph-rag-a-badawcza-ciekawosc-kontra-praktyczne-zastosowanie","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/jak-pokonac-graph-rag-a-badawcza-ciekawosc-kontra-praktyczne-zastosowanie\/","title":{"rendered":"Jak pokona\u0107 graph RAG-a: Badawcza ciekawo\u015b\u0107 kontra praktyczne zastosowanie"},"content":{"rendered":"\n<p>\u0141\u0105czenie du\u017cych modeli j\u0119zykowych (LLM) z grafami wiedzy (Knowledge Graphs) to nic nowego. Od lat brzmi to jak idealny spos\u00f3b na rozwi\u0105zanie najwi\u0119kszego problemu LLM-\u00f3w, czyli \u201e<a href=\"https:\/\/www.commint.pl\/baza-wiedzy-ai\/halucynacje-w-ai-hallucination-in-ai\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >halucynacji<\/a>\u201d, poprzez osadzenie ich w naszej logicznej strukturze informacji.<\/p>\n\n\n\n<p>Mimo to, chocia\u017c grafy wiedzy sprawdzaj\u0105 si\u0119 na ogromn\u0105 skal\u0119 (jak w <a href=\"https:\/\/blog.google\/products\/search\/introducing-knowledge-graph-things-not\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Google<\/a>, <a href=\"https:\/\/www.amazon.science\/blog\/building-product-graphs-automatically\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Amazon<\/a> czy <a href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:Main_Page\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Wikipedii<\/a>), wci\u0105\u017c nie s\u0105 tak popularne, jak by\u015bmy si\u0119 spodziewali. Pe\u0142ne zintegrowanie tych dw\u00f3ch \u015bwiat\u00f3w \u2013 reprezentacji danych ci\u0105g\u0142ych (LLM) i dyskretnych (KG) \u2013 okaza\u0142o si\u0119 trudniejsze, ni\u017c my\u015bleli\u015bmy.<\/p>\n\n\n\n<p>Przyjrzymy si\u0119 jednemu z szeroko omawianym zastosowa\u0144 tej wsp\u00f3\u0142pracy: systemom <strong>RAG<\/strong>. Zaprezentujemy szczeg\u00f3\u0142owe wyniki przeprowadzonego przez nas eksperymentu i udowodnimy, dlaczego prostota i dog\u0142\u0119bne zrozumienie danych mog\u0105 by\u0107 kluczem do sukcesu. No i oczywi\u015bcie \u2013 kiedy warto jednak zastosowa\u0107 bardziej zaawansowane podej\u015bcia grafowe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>RAG, czyli?<\/strong><\/h2>\n\n\n\n<p>Retrieval-Augmented Generation to metoda, kt\u00f3ra \u0142\u0105czy moc LLM-\u00f3w z zewn\u0119trznymi, zaufanymi \u017ar\u00f3d\u0142ami wiedzy. Dzi\u0119ki temu model odpowiada na pytania, opieraj\u0105c si\u0119 na danych, kt\u00f3re mu dostarczamy, a nie tylko na danych, na kt\u00f3rych zosta\u0142 wytrenowany przez jego tw\u00f3rc\u00f3w. A najlepsze jest to, \u017ce <strong>takie systemy mo\u017cna bez problemu zbudowa\u0107 w ca\u0142o\u015bci na w\u0142asnych serwerach lub w prywatnej chmurze<\/strong>, wi\u0119c nie musimy si\u0119 martwi\u0107 o wyciek poufnych danych. To praktyczny system, na kt\u00f3ry widzimy od paru lat spore zapotrzebowanie.<\/p>\n\n\n\n<p>Ale, co ciekawe, tradycyjne RAG-i, kt\u00f3re opieraj\u0105 si\u0119 na wyszukiwaniu wektorowym, cz\u0119sto maj\u0105 k\u0142opoty z pytaniami, kt\u00f3re wymagaj\u0105 zebrania informacji z wielu, lu\u017ano powi\u0105zanych dokument\u00f3w. Wyobra\u017a sobie, \u017ce pytasz:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Podsumuj najwa\u017cniejsze wydarzenia z Doliny Krzemowej z ostatniego tygodnia<\/em>.<\/p>\n<\/blockquote>\n\n\n\n<p>Modele wektorowe szukaj\u0105 tekst\u00f3w, kt\u00f3re s\u0105 semantycznie podobne do Twojego pytania, wi\u0119c bez problemu znajdzie np.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Nvidia wczoraj zapowiedzia\u0142a, \u017ce ich najnowszy uk\u0142ad&#8230;<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Taki system mo\u017ce wyrzuci\u0107 miliony wiadomo\u015bci. Ale jak ustali\u0107, kt\u00f3re faktycznie dotycz\u0105 Doliny Krzemowej, skoro nie wszystkie wspominaj\u0105 o lokalizacji? I co wa\u017cniejsze \u2013 <strong>kt\u00f3re s\u0105 naprawd\u0119 wa\u017cne?<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u015awiat\u0142a, kamera, GraphRAG!<\/strong><\/h2>\n\n\n\n<p>W 2024 roku Microsoft opublikowa\u0142 sw\u00f3j grafowy RAG o nazwie&#8230; c\u00f3\u017c, \u201e<a href=\"https:\/\/microsoft.github.io\/graphrag\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >GraphRAG<\/a>\u201d, daj\u0105c nadziej\u0119 na rozwi\u0105zanie tych wyzwa\u0144. Nie by\u0142 to pierwszy \u201eRAG na grafach\u201d, ale odbi\u0142 si\u0119 chyba najwi\u0119kszym echem w spo\u0142eczno\u015bci AI. Zamiast indeksowa\u0107 baz\u0119 danych na podstawie semantyki, tutaj LLM <strong>generowa\u0142 logiczne powi\u0105zania<\/strong> mi\u0119dzy lud\u017ami, miejscami, wydarzeniami, tworz\u0105c logiczn\u0105 sie\u0107 fakt\u00f3w. Ten pomys\u0142owy, nieco skomplikowany system dzia\u0142a\u0142, ale mia\u0142 swoje minusy, zw\u0142aszcza je\u015bli chodzi o du\u017c\u0105 skal\u0119: <strong>wysokie koszty i k\u0142opoty z utrzymaniem, gdy baza wiedzy si\u0119 rozrasta\u0142a.<\/strong><\/p>\n\n\n\n<p>W Sii od dawna obserwujemy ten trend, ale podchodzimy do niego z nasz\u0105 charakterystyczn\u0105 mieszank\u0105 badawczej ciekawo\u015bci i pragmatyzmu. Chcieli\u015bmy sprawdzi\u0107, czy ta obiecuj\u0105ca technologia jest na tyle dojrza\u0142a, \u017ceby\u015bmy mogli j\u0105 wdro\u017cy\u0107 u naszych klient\u00f3w.<br>Niestety, <strong>benchmarki i analizy por\u00f3wnawcze od tw\u00f3rc\u00f3w innowacji AI cz\u0119sto bywaj\u0105\u2026 niewiarygodne<\/strong>, bo s\u0105 nastawione na pokazanie przewagi ich rozwi\u0105zania.<\/p>\n\n\n\n<p>Dlatego postanowili\u015bmy postawi\u0107 GraphRAG-owi godnego rywala. Nasz eksperyment nie mia\u0142 by\u0107 tylko akademickim testem. To by\u0142 <strong>praktyczny test bojowy<\/strong>, kt\u00f3ry mia\u0142 da\u0107 nam prost\u0105 odpowied\u017a: <strong>czy ten nowy, modny trend faktycznie jest lepszy od prostszego, bardziej konserwatywnego podej\u015bcia?<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>LightRAG \u2013 nowy, lepszy GraphRAG?<\/strong><\/h2>\n\n\n\n<p>Od czasu s\u0142ynnego GraphRAG-a wiele si\u0119 zmieni\u0142o, wi\u0119c w naszym badaniu por\u00f3wnali\u015bmy go z jednym z jego nast\u0119pc\u00f3w-konkurent\u00f3w.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/HKUDS\/LightRAG\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" ><strong>LightRAG<\/strong><\/a> to nowoczesny framework, kt\u00f3ry sta\u0142 si\u0119 popularny, bo naprawia\u0142 wiele problem\u00f3w poprzednika, takich jak wysokie koszty i k\u0142opotliw\u0105 skalowalno\u015b\u0107. Jego architektura jest hybrydowa, \u0142\u0105czy wyszukiwanie grafowe z wektorowym. Wielk\u0105 zalet\u0105 jest te\u017c to, \u017ce dzia\u0142a z r\u00f3\u017cnymi dostawcami i ma przyrostowe indeksowanie, co bardzo u\u0142atwia aktualizowanie baz wiedzy.<\/p>\n\n\n\n<p>Architektura <strong>LightRAGa<\/strong> jest bardzo ciekawa, cho\u0107 wymaga chwili, aby si\u0119 w niej po\u0142apa\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"241\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-1024x241.png\" alt=\"Architektura LightRAG (\u017ar\u00f3d\u0142o) \" class=\"wp-image-32409\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-1024x241.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-300x71.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-768x181.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-1536x361.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image1-4-2048x482.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 1 Architektura LightRAG (<a href=\"https:\/\/arxiv.org\/abs\/2410.05779\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >\u017ar\u00f3d\u0142o<\/a>)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jak LightRAG indeksuje dane<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ekstrakcja i podsumowanie<\/strong>: LLM przetwarza dokumenty, wyci\u0105gaj\u0105c z nich <strong>encje<\/strong> (np. nazwy firm, osoby, daty) i <strong>relacje<\/strong> mi\u0119dzy nimi (np. \u201eGoogle Inc.\u201d &lt;\u2014 \u201ezosta\u0142 za\u0142o\u017cony\u201d &lt;\u2014 \u201e14 wrze\u015bnia 1998\u201d). Potem, ka\u017cd\u0105 encj\u0119 i relacj\u0119 opisuje w kilku zdaniach.<\/li>\n\n\n\n<li><strong>Tworzenie s\u0142ownika<\/strong>: Encje (np. \u201eGoogle\u201d) staj\u0105 si\u0119 <strong>kluczami <\/strong>szczeg\u00f3\u0142owymi (low-level keys), a relacje og\u00f3lnymi kluczami (high-level keys) np. \u201eZa\u0142o\u017cenie Google\u201d. Opisy, kt\u00f3re LLM wygenerowa\u0142 w poprzednim punkcie, staj\u0105 si\u0119 <strong>warto\u015bciami<\/strong> tych kluczy.<\/li>\n\n\n\n<li><strong>Tworzenie grafu<\/strong>: Encje z punktu 1. to teraz <strong>w\u0119z\u0142y<\/strong> w grafie, a relacje to <strong>kraw\u0119dzie<\/strong>. Ten krok jest najwa\u017cniejszy i jednocze\u015bnie najbardziej problematyczny, bo jako\u015b\u0107 grafu zale\u017cy wy\u0142\u0105cznie od tego, jak skrupulatnie LLM wyci\u0105gn\u0105\u0142 wszystkie informacje.<\/li>\n\n\n\n<li><strong>Indeksowanie<\/strong>: Wygenerowane klucze trafiaj\u0105 a\u017c do trzech baz danych:\n<ul class=\"wp-block-list\">\n<li>wektorowej, gdzie mo\u017cna je znale\u017a\u0107 po semantycznym podobie\u0144stwie ich opis\u00f3w,<\/li>\n\n\n\n<li>grafowej, gdzie na podstawie relacji mo\u017cna znale\u017a\u0107 logicznie powi\u0105zane klucze,<\/li>\n\n\n\n<li>s\u0142ownikowej, gdzie klucze mo\u017cna szybko wyszuka\u0107, a opisy zwr\u00f3ci\u0107.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Brzmi skomplikowanie? Bo tak jest!<\/strong> Ale jest te\u017c bardzo u\u017cytecznie. Taki graf mo\u017cna przegl\u0105da\u0107, odpytywa\u0107, np. j\u0119zykiem zapyta\u0144 Cypher i analizowa\u0107, co daje nam \u015bwietny wgl\u0105d w nasz\u0105 baz\u0119 wiedzy. Co wi\u0119cej, LightRAG pozwala modyfikowa\u0107 ten indeks, wi\u0119c mo\u017cemy poprawia\u0107 b\u0142\u0119dy LLM-a, dodawa\u0107 w\u0142asn\u0105 logik\u0119 (np. \u0142\u0105czy\u0107 fakty, kt\u00f3rych nie by\u0142o w tek\u015bcie) czy usuwa\u0107 duplikaty, wp\u0142ywaj\u0105c na wyniki RAG-a.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"772\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2-1024x772.png\" alt=\"Podgl\u0105d fragmentu grafu utworzonego przez LightRAG w bazie Neo4j na podstawie raport\u00f3w finansowych FAANG (opracowanie w\u0142asne)\" class=\"wp-image-32411\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2-1024x772.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2-300x226.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2-768x579.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2-1536x1158.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image2-2.png 1958w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 2 Podgl\u0105d fragmentu grafu utworzonego przez LightRAG w bazie Neo4j na podstawie raport\u00f3w finansowych FAANG (opracowanie w\u0142asne)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zbudujmy godnego przeciwnika<\/strong><\/h2>\n\n\n\n<p>Nasz kontrkandydat zbudowany specjalnie na t\u0119 okazj\u0119, nazwijmy go <strong>VectorRAG, <\/strong>nie by\u0142 prost\u0105, naiwn\u0105 implementacj\u0105, do kt\u00f3rych nowi autorzy cz\u0119sto por\u00f3wnuj\u0105 swoje rozwi\u0105zania.<\/p>\n\n\n\n<p>W duchu naszych innowacji <strong>ulepszyli\u015bmy go za pomoc\u0105 zaawansowanych technik<\/strong>, \u017ceby stworzy\u0107 naprawd\u0119 solidny punkt odniesienia i zobaczy\u0107 prawdziw\u0105 r\u00f3\u017cnic\u0119. Przekonali\u015bmy si\u0119, \u017ce mo\u017cna osi\u0105gn\u0105\u0107 \u015bwietne rezultaty bez si\u0119gania po skomplikowane struktury grafowe, skupiaj\u0105c si\u0119 na optymalizacji ju\u017c istniej\u0105cych rozwi\u0105za\u0144.<\/p>\n\n\n\n<p>Nasza strategia opiera\u0142a si\u0119 na:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Wyszukiwaniu hybrydowym (ang. Hybrid Search)<\/strong>: Po\u0142\u0105czyli\u015bmy wyszukiwanie semantyczne oparte na wektorach z wyszukiwaniem s\u0142\u00f3w kluczowych. Dzi\u0119ki temu znale\u017ali\u015bmy zar\u00f3wno fragmenty tematycznie powi\u0105zane, jak i te, kt\u00f3re zawiera\u0142y konkretne, unikalne frazy. To da\u0142o nam wi\u0119ksz\u0105 elastyczno\u015b\u0107!<\/li>\n\n\n\n<li><strong>Re-rankingu<\/strong>: Po wst\u0119pnym wyszukiwaniu u\u017cyli\u015bmy mocniejszego modelu do ponownej oceny i sortowania fragment\u00f3w pod k\u0105tem ich u\u017cyteczno\u015bci. Dzi\u0119ki temu do g\u0142\u00f3wnego LLM-a trafia\u0142y tylko najbardziej adekwatne fragmenty, tworz\u0105c warto\u015bciowy kontekst.<\/li>\n\n\n\n<li><strong>Zaawansowanej segmentacji (ang. chunking) i wzbogacaniu tekstu (ang. chunk enrichment)<\/strong>: Zamiast dzieli\u0107 dokumenty na losowe kawa\u0142ki, tworzyli\u015bmy segmenty logiczne (np. ca\u0142e paragrafy czy sekcje) i dodawali\u015bmy do nich podsumowania kontekstowe. To da\u0142o naszemu VectorRAGowi du\u017co wi\u0119ksze szanse na znalezienie odpowiednich, kompletnych fragment\u00f3w tekstu. Ale wi\u0119cej o tym p\u00f3\u017aniej.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"523\" height=\"1024\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image3-1-523x1024.png\" alt=\"VectorRAG \u2013 faza indeksowania (opracowanie w\u0142asne)\" class=\"wp-image-32413\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image3-1-523x1024.png 523w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image3-1-153x300.png 153w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image3-1.png 664w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><figcaption class=\"wp-element-caption\">Ryc. 3 VectorRAG \u2013 faza indeksowania (opracowanie w\u0142asne)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"960\" height=\"1024\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1-960x1024.png\" alt=\"VectorRAG \u2013 faza generowania odpowiedzi (opracowanie w\u0142asne)\" class=\"wp-image-32415\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1-960x1024.png 960w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1-281x300.png 281w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1-768x819.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1-1441x1536.png 1441w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image4-1.png 1482w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><figcaption class=\"wp-element-caption\">Ryc. 4 VectorRAG \u2013 faza generowania odpowiedzi (opracowanie w\u0142asne)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>LightRAG kontra VectorRAG \u2013 pierwsze spojrzenie<\/strong><\/h2>\n\n\n\n<p>Przeprowadzili\u015bmy nasz eksperyment na prawdziwych danych \u2013 czterech latach raport\u00f3w finansowych (Form 10-K) firm z grupy FAANG (Facebook, Amazon, Apple, Netflix, Google), pe\u0142nych z\u0142o\u017conych tabel z liczbami, poj\u0119ciami domenowymi.<\/p>\n\n\n\n<p>Aby por\u00f3wnanie by\u0142o sprawiedliwe, tam gdzie by\u0142o to mo\u017cliwe, u\u017cyli\u015bmy w obu zbudowanych przez nas RAG-ach \u2013 LightRAG-u (grafowym) i VectorRAG-u (bezgrafowym) \u2013 tych samych modeli: gpt-4o-mini do indeksowania, gpt-4o do odpowiadania na pytania i ewaluacji (\u201eLLM as a judge\u201d), text-embedding-3-large do wektoryzacji tekstu. Oba podej\u015bcia u\u017cywa\u0142y <a href=\"https:\/\/docling-project.github.io\/docling\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Doclinga<\/a> do inteligentnej segmentacji tekstu.<\/p>\n\n\n\n<p><strong>LightRAG <\/strong>szybko pokaza\u0142 wady automatycznie generowanych graf\u00f3w wiedzy. G\u0142\u00f3wny problem? Proces generowania grafu przez LLM.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem duplikat\u00f3w i fragmentaryzacji<\/strong>: Mimo swojej \u201einteligencji\u201d, modele j\u0119zykowe mia\u0142y problemy z tworzeniem sp\u00f3jnych encji. Zauwa\u017cyli\u015bmy mn\u00f3stwo duplikat\u00f3w, np. \u201eJeff Williams\u201d i \u201eJeffrey Williams\u201d by\u0142y traktowane jak dwie r\u00f3\u017cne osoby. Taka fragmentaryzacja sprawia\u0142a, \u017ce w\u0119z\u0142y by\u0142y odizolowane i nie da\u0142o si\u0119 skutecznie po\u0142\u0105czy\u0107 wszystkich kropek.<\/li>\n\n\n\n<li><strong>B\u0142\u0119dy ekstrakcji<\/strong>: Czasami LLM po prostu pomija\u0142y kluczowe fakty, kt\u00f3re nasz VectorRAG znajdowa\u0142 bez problemu. To jest powszechny problem w systemach, gdzie LLM-y generuj\u0105 grafy bez ludzkiego nadzoru.<\/li>\n\n\n\n<li><strong>Koszty i skalowalno\u015b\u0107<\/strong>: Proces indeksowania w LightRAG-u jest o wiele dro\u017cszy i wolniejszy ni\u017c w VectorRAG-u, poniewa\u017c wymaga wysy\u0142ania wielu ci\u0119\u017ckich zapyta\u0144 do LLM-\u00f3w. Chocia\u017c LightRAG poprawi\u0142 to wzgl\u0119dem poprzednik\u00f3w, r\u00f3\u017cnica jest nadal znaczna. Nawet je\u015bli nieco wy\u017cszy koszt jest dla nas akceptowalny, to d\u0142u\u017cszy czas indeksowania mo\u017ce by\u0107 spor\u0105 przeszkod\u0105 w przypadku du\u017cych, cz\u0119sto aktualizowanych baz danych.<\/li>\n<\/ul>\n\n\n\n<p><strong>Wszystkie trzy powy\u017csze problemy s\u0105 spotykane we wszystkich nam znanych graphRAG-ach<\/strong> generuj\u0105cych sw\u00f3j graf za pomoc\u0105 LLM-a, wi\u0119c LightRAG nie jest tu jako\u015b bardziej winny ni\u017c inne.<\/p>\n\n\n\n<p>A jak na jego tle wypad\u0142 nasz kontrkandydat \u2013 <strong>VectorRAG<\/strong>?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co tak naprawd\u0119 wysz\u0142o z naszego eksperymentu?<\/strong><\/h2>\n\n\n\n<p>Nasz test pokaza\u0142 to, czego si\u0119 do ko\u0144ca nie spodziewali\u015bmy: w przypadku naszych zada\u0144 to zoptymalizowany <strong>VectorRAG<\/strong> wypad\u0142 cz\u0119sto lepiej ni\u017c grafowy <a href=\"https:\/\/github.com\/HKUDS\/LightRAG\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" ><strong>LightRAG<\/strong><\/a>. Spodziewali\u015bmy si\u0119 niewielkiej, ale jednak przewagi dzi\u0119ki grafom.<\/p>\n\n\n\n<p>Okaza\u0142o si\u0119, \u017ce wbrew temu, co cz\u0119sto si\u0119 s\u0142yszy, wyszukiwanie wektorowe daje rad\u0119 nawet ze skomplikowanymi pytaniami \u2013 trzeba tylko dobrze je przygotowa\u0107. Tak naprawd\u0119, <strong>ca\u0142a magia RAG-a polega na tym, jak przygotujesz dane, kt\u00f3re wrzucasz do bazy i jak dobrze znasz sw\u00f3j <em>use-case<\/em>.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Co odkryli\u015bmy w testach<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Jako\u015b\u0107 grafu to klucz!<\/strong> Najwi\u0119ksz\u0105 bol\u0105czk\u0105 <strong>LightRAG-a <\/strong>by\u0142a kiepska jako\u015b\u0107 automatycznie generowanego grafu. Modele j\u0119zykowe nie umia\u0142y sp\u00f3jnie identyfikowa\u0107 tych samych podmiot\u00f3w. Na przyk\u0142ad, \u201eJeff Williams\u201d i \u201eJeffrey Williams\u201d to dla nich dwie r\u00f3\u017cne osoby.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"847\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1-1024x847.png\" alt=\"Identyfikacja podmiotu\" class=\"wp-image-32417\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1-1024x847.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1-300x248.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1-768x635.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1-1536x1270.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image5-1.png 1802w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 5 Identyfikacja podmiotu<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Po\u0142\u0105czenia w grafie, czyli relacje, te\u017c nie by\u0142y tworzone w spos\u00f3b konsekwentny i wiele fakt\u00f3w nie zosta\u0142o nawet po\u0142\u0105czonych cho\u0107by po\u015brednio ze swoimi g\u0142\u00f3wnymi w\u0119z\u0142ami jak np. nazwa firmy. Dopiero po wzbogaceniu naszych \u201echunk\u00f3w\u201d o podsumowania opisuj\u0105ce, jakiej firmy dany fragment dotyczy, z jakiego roku itp. Graf, a za tym \u2013 odpowiedzi zacz\u0119\u0142y by\u0107 bardziej kompletne. Wi\u0119c <strong>nie dajmy si\u0119 nabra\u0107 na kompletno\u015b\u0107 RAG-owych rozwi\u0105za\u0144.<\/strong><\/li>\n\n\n\n<li><strong>Brak dost\u0119pu do \u017ar\u00f3d\u0142a.<\/strong> Kolejny problem <strong>LightRAG-a<\/strong>? Nie ma dost\u0119pu do oryginalnego tekstu. Wyszukiwanie opiera si\u0119 na opisach, kt\u00f3re LLM sobie sam wygenerowa\u0142, a nie na prawdziwych fragmentach dokument\u00f3w. W efekcie, niekt\u00f3re fakty potrafi\u0142y zagin\u0105\u0107, bo model nie umie\u015bci\u0142 ich w opisie, przez co nigdy nie trafi\u0142y do kontekstu odpowiedzi.<\/li>\n\n\n\n<li><strong>Trudniejszy kontekst. <\/strong>Nawet je\u015bli informacje zosta\u0142y wyci\u0105gni\u0119te podczas indeksowania i graf dobrze \u0142\u0105czy fakty, to LLM jeszcze musi potrafi\u0107 to zrozumie\u0107. Niestety prze\u0142o\u017cenie zgrabnej logiki grafu na tekst nie jest zbyt czytelne i w efekcie kontekst, kt\u00f3ry LLM otrzymuje od <strong>LightRAG-a, <\/strong>jest skomplikowany. Znajduj\u0105 si\u0119 tam opisy poszczeg\u00f3lnych w\u0119z\u0142\u00f3w, ich relacji, a LLM nie wszystkie zawi\u0142o\u015bci dobrze interpretuje. To jak pr\u00f3bowanie wyja\u015bni\u0107 samymi s\u0142owami, kto z kim jak jest spokrewniony w \u201eModzie na sukces\u201d. By\u0107 mo\u017ce nowsze LLM-y sobie z tym lepiej poradz\u0105.<\/li>\n\n\n\n<li><strong>Koszty i czas.<\/strong> Indeksowanie w systemach grafowych RAG jest du\u017co dro\u017csze i wolniejsze ni\u017c w VectorRAG-u. Dlaczego? Bo wymaga wielu zapyta\u0144 do LLM-\u00f3w. Cho\u0107 LightRAG troch\u0119 to poprawi\u0142, r\u00f3\u017cnica nadal jest spora. D\u0142u\u017cszy czas indeksowania to du\u017ca bariera, zw\u0142aszcza gdy pracujesz z ogromn\u0105, ci\u0105gle zmieniaj\u0105c\u0105 si\u0119 baz\u0105 dokument\u00f3w.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"468\" height=\"584\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/ryc.-6.jpg\" alt=\"Przyk\u0142adowe por\u00f3wnanie czasu i kosztu dla dw\u00f3ch stron A4 (opracowanie w\u0142asne)\" class=\"wp-image-32419\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/ryc.-6.jpg 468w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/ryc.-6-240x300.jpg 240w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><figcaption class=\"wp-element-caption\">Ryc. 6 Przyk\u0142adowe por\u00f3wnanie czasu i kosztu dla dw\u00f3ch stron A4 (opracowanie w\u0142asne)<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pytania og\u00f3lne i wielow\u0105tkowe i tak sprawia\u0142y problemy<\/strong> LightRAG-owi w nie mniejszym stopniu ni\u017c VectorRAGowi. Np. pytaj\u0105c \u201ej<em>ak r\u00f3\u017cni\u0105 si\u0119 strategie B&amp;R r\u00f3\u017cnych firm FAANG na przestrzeni ostatnich pi\u0119ciu lat<\/em>\u201d, grafowy LightRAG da\u0142 mniej kompletn\u0105, mniej zr\u00f3\u017cnicowan\u0105 odpowied\u017a. I generalnie, cho\u0107 odpowiedzi cz\u0119sto wygl\u0105da\u0142y na bardzo dobre, bazowa\u0142y na niepe\u0142nych informacjach z bazy, np. pomini\u0119tych firmach, osobach, latach i liczbach.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-1024x505.png\" alt=\"Przyk\u0142adowy wynik oceny pytania za pomoc\u0105 techniki LLM-as-a-judge (opracowanie w\u0142asne)\" class=\"wp-image-32421\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-1024x505.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-300x148.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-768x379.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-1536x758.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/image6-1-2048x1010.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 7 Przyk\u0142adowy wynik oceny pytania za pomoc\u0105 techniki LLM-as-a-judge (opracowanie w\u0142asne)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Ulepszmy RAG od podstaw!<\/strong><\/h2>\n\n\n\n<p>Sk\u0105d ta pewno\u015b\u0107? Jak t\u0142umaczyli\u015bmy wcze\u015bniej, aby por\u00f3wnanie by\u0142o sensowne, nie mogli\u015bmy stworzy\u0107 dla <strong>LightRAG-a <\/strong>po prostu \u201edobrego\u201d konkurenta. Chcieli\u015bmy wycisn\u0105\u0107 z niego maksimum mo\u017cliwo\u015bci w kr\u00f3tkim czasie. Dlatego w <strong>VectorRAG-u<\/strong> skupili\u015bmy si\u0119 na usprawnieniach w samym sercu procesu \u2013 na danych. To w\u0142a\u015bnie te ulepszenia przynios\u0142y najlepsze efekty.<\/p>\n\n\n\n<p>Nasza implementacja wyr\u00f3\u017cnia si\u0119 dzi\u0119ki:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inteligentnemu dzieleniu dokument\u00f3w (ang. chunking)<\/strong>: Zamiast kroi\u0107 dokumenty na losowe fragmenty, u\u017cyli\u015bmy narz\u0119dzia <a href=\"https:\/\/docling-project.github.io\/docling\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" ><strong>Docling<\/strong><\/a>, kt\u00f3re tnie tekst na logiczne cz\u0119\u015bci \u2013 akapity, sekcje, tabele. Dzi\u0119ki temu ka\u017cdy kawa\u0142ek ma sens i \u0142atwiej znale\u017a\u0107 to, czego szukamy.<\/li>\n\n\n\n<li><strong>Wzbogacaniu fragment\u00f3w (ang. chunk enrichment)<\/strong>: Nasz LLM tworzy\u0142 dodatkowe podsumowanie ka\u017cdego fragmentu, osadzaj\u0105c go w szerszym kontek\u015bcie. Ten proces (oparty na <a href=\"https:\/\/www.anthropic.com\/news\/contextual-retrieval\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" ><strong>contextual retrieval<\/strong><\/a> od Anthropic) sprawia, \u017ce kawa\u0142ki tekstu nie s\u0105 \u201ewyrwane z kontekstu\u201d. To pomaga RAG-owi \u201epo\u0142\u0105czy\u0107 kropki\u201d i dawa\u0107 bardziej z\u0142o\u017cone odpowiedzi.<\/li>\n\n\n\n<li><strong>Wyszukiwaniu hybrydowemu i re-rankingowi<\/strong>: Po\u0142\u0105czyli\u015bmy wyszukiwanie semantyczne (<a href=\"https:\/\/platform.openai.com\/docs\/models\/text-embedding-3-large\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >text-embedding-3-large<\/a>) ze s\u0142owami kluczowymi (<a href=\"https:\/\/qdrant.tech\/articles\/bm42\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >BM42<\/a>). Potem u\u017cyli\u015bmy silniejszego modelu (<a href=\"https:\/\/jina.ai\/models\/jina-reranker-v1-turbo-en\/\" rel=\"nofollow\" >jina-reranker-v1-turbo-en<\/a>), kt\u00f3ry ponownie oceni\u0142 i posortowa\u0142 wyniki, \u017ceby do g\u0142\u00f3wnego LLM-a trafi\u0142y tylko te najtrafniejsze.<\/li>\n<\/ul>\n\n\n\n<p>Tak dobre wyniki uzyskali\u015bmy nawet bez jednej techniki, kt\u00f3ra te\u017c jest absolutnym <em>must-have<\/em> w dzisiejszych RAG-ach, ale utrudni\u0142aby nam nieco ewaluacj\u0119 \u2013 <strong>query expansion. <\/strong>Polega na tym, \u017ce LLM przed wyszukiwaniem przeformu\u0142owuje pytanie u\u017cytkownika, dodaj\u0105c synonimy i dodatkowy kontekst, co jest \u015bwietnym lekarstwem na skr\u00f3towe formu\u0142owanie pyta\u0144 przez \u201eleniwych\u201d u\u017cytkownik\u00f3w, kt\u00f3rymi przecie\u017c, z braku czasu, jeste\u015bmy. <strong>Je\u015bli budujesz RAG-a, dodaj to do listy.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wi\u0119c \u2013 kiedy warto u\u017cy\u0107 grafu, a kiedy nie?<\/strong><\/h2>\n\n\n\n<p>Nasz eksperyment pokaza\u0142, \u017ce graph RAG nie jest uniwersalnym rozwi\u0105zaniem dla ka\u017cdego. Ma spory potencja\u0142, ale wymaga \u015bwiadomego wyboru. Ma sens, gdy klasyczne metody ju\u017c nie daj\u0105 rady, a tw\u00f3j problem wymaga naprawd\u0119 g\u0142\u0119bokiej analizy powi\u0105za\u0144. <strong>Podej\u015bcie grafowe jest bardzo rozbudowywalne, je\u015bli masz na to zasoby i pomys\u0142.<\/strong><\/p>\n\n\n\n<p>Naszym zdaniem wdro\u017cenie <strong>LightRAG-a <\/strong>jest uzasadnione dopiero wtedy, gdy wykorzystasz ju\u017c potencja\u0142 powy\u017cszych technik, a wyniki wci\u0105\u017c nie b\u0119d\u0105 zadowalaj\u0105ce. Trzeba te\u017c zaakceptowa\u0107 to, \u017ce indeksowanie jest znacznie wolniejsze i dro\u017csze. Co wi\u0119cej, musisz by\u0107 gotowy na ci\u0105g\u0142e udoskonalanie metody ekstrakcji danych (np. o dedykowane, douczone w tym celu modele) i r\u0119czne poprawki w samej architekturze.<\/p>\n\n\n\n<p>Chcesz pe\u0142ni\u0119 mo\u017cliwo\u015bci? Konieczne b\u0119dzie u\u017cycie zaawansowanych algorytm\u00f3w przeszukiwania po grafie, kt\u00f3re wykraczaj\u0105 poza bezpo\u015brednie s\u0105siedztwo oferowane przez LightRAG. <strong>Innymi s\u0142owy \u2013 potrzebujesz ekspert\u00f3w!<\/strong><\/p>\n\n\n\n<p>Ale w zamian LightRAG i jego krewniacy oferuj\u0105 co\u015b unikalnego:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pozwalaj\u0105 na <strong>wyj\u015bcie poza semantyczne podobie\u0144stwo.<\/strong><\/li>\n\n\n\n<li><strong>Daj\u0105 pe\u0142n\u0105 kontrol\u0119 nad indeksem<\/strong>, wi\u0119c mo\u017cesz dodawa\u0107 w\u0142asn\u0105, unikaln\u0105 logik\u0119 do danych.<\/li>\n\n\n\n<li>Otwieraj\u0105 drzwi do <strong>grafowej eksploracji i wizualizacji danych <\/strong>(np. za pomoc\u0105 j\u0119zyka Cypher).<\/li>\n\n\n\n<li><strong>Mog\u0105 \u0142\u0105czy\u0107 wyszukiwanie grafowe z wektorowym <\/strong>tak, \u017ceby\u015b nie musia\u0142 wybiera\u0107. Tyle tylko, \u017ce ten komponent wektorowy w LightRAG-u wymaga\u0142aby \u201epodkr\u0119cenia\u201d do czego\u015b na miar\u0119 naszego VectorRAG-a. Wtedy mog\u0142oby to wygl\u0105da\u0107 bardzo interesuj\u0105co.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Alternatywy dla LightRAG-a<\/strong><\/h2>\n\n\n\n<p>A co z innymi opcjami? LightRAG jest przedstawicielem najpopularniejszego nurtu w wykorzystywaniu grafu w RAG-ach. Od czasu naszego eksperymentu coraz wi\u0119cej m\u00f3wi si\u0119 o jeszcze bardziej z\u0142o\u017conych koncepcjach, hierarchicznych i agentowych, niemniej podobna jak tutaj ostro\u017cno\u015b\u0107 musi by\u0107 zachowana, bo \u0142atwo da\u0107 si\u0119 nabra\u0107.<\/p>\n\n\n\n<p>To temat na osobny wpis, ale warto wspomnie\u0107, \u017ce dla danych, kt\u00f3re s\u0105 ju\u017c w formie grafu (np. utrzymujesz ju\u017c ontologie medyczne, taksonomie produktowe itp.), znacznie lepsze s\u0105 RAG-i oparte na j\u0119zykach zapyta\u0144, np. <strong>SPARQL<\/strong> czy <strong>Cypher<\/strong>. LLM dzia\u0142a wtedy jak t\u0142umacz, zamieniaj\u0105c twoje pytanie na precyzyjne zapytanie do bazy grafowej.<\/p>\n\n\n\n<p>Pami\u0119taj jednak, \u017ce <strong>rzeczywiste grafy szybko rosn\u0105 do gigantycznych rozmiar\u00f3w<\/strong>, a nawet nowe LLM-y maj\u0105 problem z generowaniem poprawnych zapyta\u0144, bo musz\u0105 trzyma\u0107 si\u0119 skomplikowanej struktury (tzw. \u201eschemy\u201d). Mimo to, to ciekawa alternatywa, cho\u0107 znowu \u2013 wymaga dostosowania i ekspertyzy.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/oferty-pracy\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"737\" height=\"170\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/praca-m-2.jpg\" alt=\"oferty pracy\" class=\"wp-image-32423\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/praca-m-2.jpg 737w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/praca-m-2-300x69.jpg 300w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowuj\u0105c<\/strong>&#8230;<\/h2>\n\n\n\n<p>Nasz eksperyment udowodni\u0142, \u017ce cho\u0107 <em>hype <\/em>na grafowe systemy RAG jest du\u017cy, to ich praktyczne u\u017cycie wci\u0105\u017c wymaga sporo pracy. To nie oznacza, \u017ce powinni\u015bmy si\u0119 podda\u0107! <strong>Prawdziwe prze\u0142omy rodz\u0105 si\u0119 z konfrontacji teorii z rzeczywisto\u015bci\u0105<\/strong> i cho\u0107 \u0142atwo tego nie zauwa\u017cy\u0107, post\u0119p w AI jest stopniowy, inkrementalny, wi\u0119c miejmy realistyczne oczekiwania.<\/p>\n\n\n\n<p>Nasze badanie pokaza\u0142o, \u017ce w \u015bwiecie AI prostota i pragmatyzm cz\u0119sto wci\u0105\u017c wiod\u0105 prym, przynajmniej do momentu, gdy pojawi si\u0119 kolejna rewolucja.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;32408&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;5&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 5)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Jak pokona\u0107 graph RAG-a: Badawcza ciekawo\u015b\u0107 kontra praktyczne zastosowanie&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 5)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0141\u0105czenie du\u017cych modeli j\u0119zykowych (LLM) z grafami wiedzy (Knowledge Graphs) to nic nowego. Od lat brzmi to jak idealny spos\u00f3b &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/jak-pokonac-graph-rag-a-badawcza-ciekawosc-kontra-praktyczne-zastosowanie\/\">Continued<\/a><\/p>\n","protected":false},"author":751,"featured_media":32425,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[5440,3741,2863,2794,1546,1512,680,1011],"class_list":["post-32408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-core-ai","tag-rag","tag-llm","tag-da","tag-przeglad-narzedzi","tag-poradnik","tag-ai","tag-grafy"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2025\/10\/Cooperation-1.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32408"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/751"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=32408"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32408\/revisions"}],"predecessor-version":[{"id":32427,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/32408\/revisions\/32427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/32425"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=32408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=32408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=32408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}