Eszközök/RAG és keresés
Microsoft GraphRAG: tudásgráfos RAG, előre kifizetve
A Microsoft GraphRAG 3.2.0 tesztje: MIT, karbantartási mód és egy indexelési számla, amely az első lekérdezés előtt eldől.
- Típus
- RAG pipeline
- Ár
- MIT · API pay per token
Balázs Csorba··10 perc olvasás
- Knowledge graph
- RAG
- Global search
- Community summaries
- Token cost

A lényeg röviden
- A GraphRAG 3.2.0 2026. szeptember 23-án jelent meg MIT alatt, miközben a repository azt állítja, nagyrészt karbantartási módban van és nem jön új funkció.
- A számla indexeléskor keletkezik: egy modellhívás TextUnitonként és egy közösségi jelentésenként; 500 oldalas korpuszra 50–200 dollárt várnak, a vektorba ágyazás ugyanakkor 5 dollár alatt marad.
- A globális keresés az a mód, amit a vektorkeresés nem tud utánozni, a dinamikus közösségválasztás pedig 77%-kal csökkenti a tokenköltségét, mért minőségveszteség nélkül.
- A LazyGraphRAG a vektorszintű indexelési költséget hozza a teljes GraphRAG 0,1%-áért, de a Microsoft Discoveryben és az Azure Localban van, nem a MIT-csomagban.
- A gráf csak akkor térül meg, ha a kérdések korpuszszintűek vagy többugrásosak; a keresgéléstől hemzsegő terhelés a vektorkeresésen marad olcsóbb.
A GraphRAG a Microsoft Research MIT-licencű pipeline-ja, amely egy korpuszt tudásgráffá alakít, Leiden-algoritmussal klaszterez, és a kérdések feltevése előtt közösségenként írat egy összefoglalót a modellel. Az itt képviselt álláspont az, hogy ez a legjobban dokumentált Graph-RAG, és hogy az érdekes rész már nem a konstrukció: a repository karbantartási módban van, és amit egy csapatnak tényleg meg kell válaszolnia, az az, hogy az indexelési számla megáll-e a vektorkereséssel szemben.
A sima vektorkereséssel, a könnyebb graph-pipeline-okkal, például a LightRAG-gel, valamint a LlamaIndex- és Neo4j-eszközök beépített graph-lekérdezésével verseng. A különbség azért számít, mert a GraphRAG nem szolgáltatás: egy Python-csomag, amely az olvasó saját tokenjeit költi az index felépítésére, majd négy lekérdezési módot kínál könyvtári függvényként. A Microsoft semmit nem számláz és semmit nem üzemeltet, a README pedig azt mondja, hogy a kód bemutató, nem hivatalosan támogatott Microsoft-termék.
Mi ez
A dizájn szándékosan előre tölti a munkát. A dokumentumok TextUnitokra hasadnak, a modell kinyeri az entitásokat és kapcsolatokat minden egységből, a duplikált leírásokat összefésüli és összefoglalja, a Leiden-klaszterezés a graffot közösségi hierarchiába rendezi, majd további egy modellkör közösségenként és szintenként ír egy jelentést. Csak ezután fut egy kérdés, és addigra a költséges munka már ki van fizetve.
- MIT licenc, a PyPI-n
graphragcsomagként, jelenlegi kiadás 3.2.0 (2026. szeptember 23.), Python 3.11–3.13. - Körülbelül 36.200 star, 3.800 fork és 495 commit a GitHubon, továbbá 49 nyitott issue és pull request.
- A TextUnitok alapból 1.200 tokenesek: a nagyobb chunkok gyorsabban indexelnek, de kevésbé precízen extrahálnak.
- A közösségek felismerése hierarchikus Leiden-algoritmussal történik, és nem kerül modellhívásba; minden közösség összefoglalása már igen.
- Négy lekérdezési mód van a csomagban — global, local, DRIFT és basic —, plusz a dinamikus közösségválasztás a globális kereséshez.
- A CLI négy indexelési módot nevez meg: standard, fast, standard-update és fast-update, és van külön update parancs a módosult dokumentumokhoz.
- Minden hívás a saját végpontunkra megy — Azure OpenAI, OpenAI vagy kompatibilis szolgáltatás —, így a költség a modellár és a korpusz méretének függvénye.
Kettő következik ebből. Az index eszközzé válik, nem melléktermékké: az entitásleírások és a közösségi jelentések olvasható produktumok, amelyeket bármilyen más kimenethez hasonlóan át lehet nézni, meg lehet osztani és lehet versionálni. A gráf pedig csak annyira jó, amennyire az extrakciós kör, tehát olyan korpusznál, ahol az entitástípusok számítanak, az első teljes futás előtt kell hangolni, nem utána.
Hogyan működik
Az indexelés rögzített sorrend: darabolás, extrakció, összefésülés, klaszterezés, összefoglalás, beágyazás. Minden szakasz vagy egységenként egy modellhívást fizet, vagy semmit, és pontosan ez a határ termeli a számlát — egy extrakciós hívás TextUnitonként, egy összefoglaló hívás összefésült entitáson vagy kapcsolatonként, és egy jelentéshívás közösségenként a hierarchia minden szintjén.
A négy mód a termék felülete. A globális keresés map-reduce-t futtat a közösségi jelentések felett, és ezt a módot a vektorkeresés nem tudja utánozni, mert egyetlen chunk sem tartalmaz korpuszszintű választ. A helyi keresés a gráfot járja be elnevezett entitások körül, és nagyjából annyiba kerül, mint a vektor-lekérdezés plusz a bejárás. A DRIFT a legrelevánsabb jelentésekből indul, kérdéseket generál, és mindegyiket helyben megválaszolja. A basic keresés a csomag saját vektorkeresése, hogy egy csapat mérni tudja, mit veszít a gráf a saját adatain.
Első lépések
A belépési pont egy könyvtár, egy init parancs és két fájl. Az alábbi sorrend létrehoz egy munkaterületet, egy használható modellre állítja, indexeli a kis input mappát, és feltesz egy globális kérdést; a settings.yaml-ben dől el a számla, az első futásnak ezért kis korpusznál és olcsó modellnél kell maradnia, amíg a promptok nincsenek hangolva.
python -m venv .venv && source .venv/bin/activate
python -m pip install graphrag
mkdir ragtest && cd ragtest
graphrag init -r . -m gpt-4.1 -e text-embedding-3-large
# write GRAPHRAG_API_KEY into the .env that init created
# drop a few .txt or .md files into ./input, then index:
graphrag index -r . -m standard
# global is the default; this prunes reports before the map-reduce step
graphrag query "What are the top themes across these documents?" -r . \
--dynamic-community-selection
graphrag query "Who is the main character?" -r . -m local
graphrag update -r . -m standard-update
Két szokás tartja kicsiben az első számlát. Mintát indexelj a teljes korpusz helyett, mert a pipeline egységenként és közösségi szintenként hívja a modellt, bármilyen is a modell ára; és a skálázás előtt futtasd a prompt-tune parancsot, mert a dokumentáció szerint a kész promptok ritkán adják a legjobb eredményt.
Mennyibe kerül az indexelés
Nincs licencdíj és nincs üzemeltetett szolgáltatás, így a teljes költség modellhívás. Az extrakció egyszer fut TextUnitonként, a jelentéskészítés közösségenként és szintenként, vagyis a számla a korpusz méretével és a Leiden-hierarchia által előállított közösségek számával nő. Az alábbi számok egy 2026 márciusában megjelent, GPT-4-es árakon számolt független összehasonlításból származnak, nem Microsoft-árból:
| Megközelítés | 500 oldalas index | Idő | Amit kapsz |
|---|---|---|---|
| GraphRAG teljes pipeline | 50–200 $ | kb. 45 perc | entitásgráf, közösségi jelentések, globális keresés |
| Vektorkeresés | 5 $ alatt | percek | chunkok hasonlóság szerint, nincs globális lekérdezés |
| LightRAG | kb. 0,50 $ | kb. 3 perc | lapos gráf, gyengébb globális lekérdezések |
| LazyGraphRAG | a teljes GraphRAG 0,1%-aként megadva | nincs megadva | nem része a MIT-csomagnak |
A Microsoft Research által publikált ellenszer a LazyGraphRAG, amely a modellalapú extrakciót névszó-kivonatra cseréli, és minden modellhívást a lekérdezés idejére halaszt. Az indexelési költségét a vektorkereséssel azonosnak és a teljes GraphRAG 0,1%-aként megadják, ugyanez az értékelés pedig a globális keresés minőségét több mint 700-szor alacsonyabb lekérdezési költségen, illetve annak 4%-áért jobb minőségként jelenti. A megvalósítás a Microsoft Discoveryben és az Azure Localban található, nem a MIT-csomagban, így a nyílt forrású pipeline-t üzemeltető csapat nem telepítheti: a szám irányt mutat, nem polcon lévő opciót.
Mennyibe kerülnek a lekérdezések
A lekérdezési költség az, ahol a módok különböznek, és ahol az index visszakeresi a már befektetett pénzt, vagy sem. A globális keresés a drága, mert kötegenként olvassa a közösségi jelentéseket, majd összefésüli őket; a másik három a gráf töredékét olvassa:
| Mód | Mit olvas | Költségprofil | Mikor |
|---|---|---|---|
| Global | közösségi jelentések egy szinten vagy szűrt kiválasztás | a jelentések számával nő | korpuszszintű szintézis |
| Local | entitás-környezet és a hozzá tartozó TextUnitok | vektorlekérdezés plusz bejárás | entitás- és kapcsolatkérdések |
| DRIFT | legjobb jelentések, majd helyben megválaszolt kérdések | local és global között | szűkebb kérdések, amelyeknek fedés kell |
| Basic | beágyazott TextUnitok | a csomag saját vektoralapja | egyugrásos ténykeresések |
A dinamikus közösségválasztás az első sor publikált megoldása: egy olcsóbb modell a gyökértől kiindulva értékeli a jelentéseket, és a map-reduce előtt kivágja a lényegtelen ágakat. A Microsoft Research 50 globális kérdésen átlagosan 77%-os tokenköltség-csökkenést mért a statikus 1. szintű kereséssel szemben, miközben mintegy 1500 jelentés 470-re csökkent, a minőségben pedig nem volt statisztikailag szignifikáns különbség; ha a minősítés a 3. szintig folytatódott, az átlagosan 34%-kal került többe, és 58,8%-ot nyert a Comprehensiveness, 60,0%-ot az Empowerment mérőszámon. Ezek gyártói számok egyetlen adathalmazon, de az irány nem kérdéses — ne fizessünk olyan jelentésekért, amelyek nem tudják megválaszolni a kérdést.
Miben gyenge
A gyengeségek üzemeltetésiek, nem algoritmikusak. A repository karbantartási módban van, így a promptformátumok, a modell viselkedése és a függőségek elcsúszása az olvasó dolga, a README pedig bemutatónak nevezi a kódot. A frissítés külön parancs, nem háttérfeladat: a dokumentumok változnak, az entitások egyesülnek, a közösségek eltolódnak, és a frissítési módok is modellhívások árán extrahálják a módosult szöveget. A gráf hordozza az ontológiát is, mert az entitás- és kapcsolattípusok a nyílt extrakcióból jönnek, a zajos korpusz tehát zajos grádot ad. A legfontosabb viszont, hogy az index akkor is ki van fizetve, ha érkeznek kérdések — ez a vektorkeresés lekérdezésenkénti fizetési modelljének ellenkezője.
| Eszköz | Mi az | Hol fut | Mibe kerül |
|---|---|---|---|
| GraphRAG | teljes pipeline közösségi összefoglalókkal | Python-csomag a saját kulcsainkkal | modellhívások indexeléskor és lekérdezéskor |
| Vektorkeresés | chunk-beágyazások és hasonlóságkeresés | bármely vektortároló | beágyazási hívások, olcsó lekérdezések |
| LightRAG | lapos gráf könnyebb extrakcióval | Python-csomag a saját kulcsainkkal | az összehasonlítás szerint az indexköltség kb. 1/100-e |
| Graphiti | időbeli gráf ügynök-emlékezethez | a saját rendszerünk Neo4j-példánnyal | extrakció interakciónként |
Ezt a táblát annak a kérdésnek az állításaként olvasd, amelyre az egyes rendszerek épülnek. A GraphRAG korpuszszintű és többugrásos kérdésekre válaszol, amelyeket egyetlen chunk sem tartalmaz; a vektorkeresés a keresgélő kérdéseket gyorsabban és olcsóbban oldja meg, ezért szállít a GraphRAG saját basic módot, mintha a gráf mindenhol nyerne. A LightRAG az ésszerű alapértelmezés, ha a lapos gráf a költség töredékéért a legtöbb értéket megadja, a Graphiti pedig ügynök-emlékezethez old meg problémát, nem dokumentumkeresést. Az itt képviselt álláspont az, hogy a legtöbb csapat azért nyúl a teljes pipeline-hoz, mert a benchmarkja meggyőző, miközben a lekérdezéseik zöme keresgélés — a legolcsóbb első lépés pedig lemérni ezt az arányt, mielőtt bármit indexelnénk.
Ítélet
A GraphRAG a megfelelő eszköz olyan korpuszhoz, amelynek kérdései valóban globálisok, és rossz alapértelmezés egy keresőmezőhöz. Ez a legjobban dokumentált Graph-RAG, MIT alatt van, és az index újrafelhasználható produktum, emberek által olvasható jelentésekkel; ugyanakkor karbantartási módban van, előre fizetendő, és lassabban változik, mint amit indexel. Kis első korpuszon és mért lekérdezési aránnyal vezesd be, vagy ne vezesd be.
- Akkor válaszd, ha a kérdések jelentős része korpuszszintű szintézist igényel: témák, trendek, összehasonlítások mindenen.
- Akkor válaszd, ha a válasz olyan entitások közötti ugrásokon múlik, amelyek sosem szerepelnek ugyanabban a chunkban.
- Akkor válaszd, ha magának az indexnek van értéke — jelentések, amelyeket emberek olvasnak, megosztanak és ellenőriznek —, mert ezért fizetsz előre.
- Ne válaszd keresgéléstől hemzsegő keresőmezőhöz: a vektorkeresés lekérdezésenként olcsóbb, a GraphRAG saját basic módja pedig pont ez a keresés.
- Ne kezeld fenntartott függőségként; a repository karbantartási módról és új funkciók nélkül beszél.
- A teljes futás előtt mérd meg a lekérdezési arányt, és indexelj mintát a dinamikus közösségválasztással.
További szempont, hogy hol él az index. Batch-termék, és oda tartozik, ahová a batch-termékek: pipeline építi, versionálja, ellenőrzi és cseréli, nem egy kéréskezelőből épül újra. A gráf tartalmának mechanikája — entitások, TextUnitok, közösségek — egy korábbi írásban szerepel a tudásgráfos RAG -ről; ez az írás a megvalósításról, a módokról és a számláról szól.
GraphRAG indexing can be an expensive operation, please read all of the documentation to understand the process and costs involved, and start small.
Források
Gyakori kérdések
Mennyibe kerül a GraphRAG üzemeltetése?
A csomag MIT, és semmit nem üzemeltetnek, így a teljes számla modellhívás: egy extrakciós hívás 1200 tokenes TextUnitonként, egy összefoglaló hívás összefésült entitáson vagy kapcsolatonként, és egy jelentéshívás közösségenként a hierarchia minden szintjén. Egy független összehasonlítás szerint 500 oldalas korpusz indexelése a teljes pipeline-on 50–200 dollárba és kb. 45 percbe kerül, ugyanez a korpusz viszont 5 dollár alatt beágyazható a vektorkeresésbe.
Mikor veri le a GraphRAG a vektorkeresést?
Ha a választ a teljes korpuszból kell összefoglalni, vagy olyan entitások között kell ugrani, amelyek sosem állnak egy chunkban: témák, trendek, mindent átfogó összehasonlítások. A közvetlen ténykeresések egyetlen chunkra esnek, ott a gráf nem segít, ezért is szállít a GraphRAG saját basic módot — ugyanazokon a beágyazásokon végzett vektorlekérdezést —, hogy ez mérhető legyen.
Kap még frissítést a GraphRAG?
A README szerint a projekt nagyrészt karbantartási módban van: nincsenek új pull requestek, nincsenek új funkciók, a hibajavítások és függőségfrissítések szükség szerint történnek. Egyben a kódot bemutatónak és nem hivatalosan támogatott Microsoft-terméknek nevezi. A legújabb kiadás, a 3.2.0, 2026. szeptember 23-án érkezett, és a 36.241 star 495 commit és 49 nyitott issue felett áll.
Mit változtat a LazyGraphRAG?
Kihagyja a modellt az indexelésből, és helyette névszó-kivonatot használ, így az indexelési költséget a vektorkereséssel azonosnak és a teljes GraphRAG 0,1%-aként megadják. A Microsoft Research a globális keresés minőségét több mint 700-szor alacsonyabb lekérdezési költségen, annak 4%-áért pedig jobb minőségként jelenti. A megvalósítás a Microsoft Discoveryben és az Azure Localban van, nem a MIT-repositoryban, így a saját üzemeltetésű csapat nem telepítheti.