| .. | ||
| results | ||
| __init__.py | ||
| audit_benchmark.py | ||
| benchmark_v2.py | ||
| benchmark_v3.py | ||
| benchmark_v4.py | ||
| benchmark_v6.py | ||
| benchmark_v7.py | ||
| check_openwebui.py | ||
| evaluate_graphrag.py | ||
| evidence_contract.py | ||
| freeze_graphrag.py | ||
| frozen_release_v6.json | ||
| frozen_release_v7.json | ||
| frozen_v1.json | ||
| frozen_v2.json | ||
| frozen_v3.json | ||
| frozen_v4.json | ||
| frozen_v5_1.json | ||
| frozen_v5.json | ||
| frozen_v6.json | ||
| frozen_v7.json | ||
| graphrag_evaluator.py | ||
| graphrag_questions_v2.json | ||
| graphrag_questions_v3.json | ||
| graphrag_questions_v4.json | ||
| graphrag_questions_v6.json | ||
| graphrag_questions_v7.json | ||
| graphrag_questions.json | ||
| README.md | ||
| reproducibility.py | ||
| source_oracle.py | ||
| source_validation.py | ||
GraphRAG evaluácia
Aktuálna verzia je v7, tag graphrag-v7-frozen.
Správa v7: graf DEV 1 046/1 046,
nový query-group TEST 80/80, model DEV 46/46, finálne odpovede TEST 80/80
(prvý pokus 77/80). Všetkých 591 testov prešlo. Stará regresia má 319/320;
jeden nepodložený modelový názov sa nedoručil. TEST sa neprekrýva so žiadnou odhalenou query skupinou;
korpus, ľudia a šablóny sú známe. Dve kategórie majú len 2 a 7 nových skupín.
CLI vyžaduje explicitné --questions, --audit, --freeze-manifest
(pri TESTe) a nový výstupný adresár. Použite graphrag_questions_v7.json,
results/v7_preparation/source_audit.json, frozen_v7.json.
Generátor benchmark_v7 vytvára otázky jednorazovo z raw zdrojov, bez
predikcií. Odstránil sa odhad začiatku štúdia z adresára, nie nedokumentované
otázky z merania. Príkazy a postup.
Historická v6
Historická verzia je v6, tag graphrag-v6-frozen.
Finálna správa v6 oddeľuje grafový
DEV 722/722, regresiu 320/320 a generované odpovede modelu.
Generovanie má strict 316/320 (98,75 %); všetkých 565 testov prešlo.
Benchmark v6 ponecháva všetkých 1 042 otázok, ich ID a rozdelenie. Opravuje
15 očakávaní po priamom čítaní zdrojov; generický odkaz „rešerš“ nie je názov
akademického projektu. Všetky staršie dáta a výsledky ostávajú zachované.
Modelový DEV má 42 známych otázok; finálna regresia obsahuje všetkých 320.
Použite --questions tools/graphrag/evaluation/graphrag_questions_v6.json,
--audit tools/graphrag/evaluation/results/v6_preparation/source_audit.json
a --freeze-manifest tools/graphrag/evaluation/frozen_v6.json.
Postup, kontroly a zdrojová vzorka.
Kontrola vzorky je AI kontrola; ľudské posúdenie je pripravené v CSV, neprebehlo.
Ročník adresára sa pri chýbajúcom explicitnom začiatku štúdia používa ako
náhradná konvencia, nie ako nezávislý administratívny doklad.
Historická v5.1
Historická verzia je v5.1, tag graphrag-v5.1-frozen.
Finálna správa a
strojový súhrn oddeľujú
vyhľadávanie, zdrojovú kontrolu všetkých vrátených typovaných faktov a generovanie.
- Graf DEV: 722/722.
- Graf historická regresia: 320/320, vrátane kontroly nadbytočných faktov.
- Generovanie: 39 vopred deklarovaných DEV a finálna regresia všetkých 320 historických otázok. Finálny výsledok: 317/320 (99,06 %), bez chýb JSON a bez opravného požiadavku. Všetky tri zlyhania zostávajú započítané.
- Kompletné automatizované testy: 525 passed, 4 skipped.
Všetky otázky sú už známe. V5.1 je regresia, nie nový nezávislý TEST; finálna regresia generovania obsahuje aj 39 DEV otázok. Pôvodné gold ani výsledky sa nemenili. Prvá iterácia v5 (319/320) zostáva uložená a má overený zdrojový patch.
Reprodukcia v5.1 vyžaduje zodpovedajúci release checkout, raw wiki, JSON vstupy aj graf podľa manifestu. Používajte vždy nový výstupný adresár:
python -m tools.graphrag.evaluation.evaluate_graphrag \
--split test \
--audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json \
--freeze-manifest tools/graphrag/evaluation/frozen_v5_1.json \
--output-dir /tmp/graphrag-v5-1-reproduction
Nové zmrazenie po vývoji používa kompletný DEV a --purpose historical_regression.
Odtlačky zahŕňajú spoločné moduly aj efektívnu publikačnú politiku. Každý reálny
DEV výsledok musí prejsť nezávislou kontrolou všetkých vrátených typovaných faktov.
Pri ďalšom nezávislom experimente treba nové, vopred zdrojovo overené otázky.
Historický protokol v4
Nasledujúce merania a príkazy opisujú pôvodnú v4. Na reprodukciu použite jej pôvodný checkout/graf; aktuálny kód nezodpovedá odtlačkom frozen_v4.
Historická zmrazená verzia je v4. Finálna správa obsahuje protokol, výsledky a obmedzenia.
| Meranie grafového vyhľadávania | Správne | Úspešnosť |
|---|---|---|
| DEV/regresia v4 | 722/722 | 100,00 % |
| Širší TEST v4 | 320/320 | 100,00 % |
Cieľ ≥92 % grafového vyhľadávania bol splnený v prvom finálnom behu. TEST má desať kategórií, 288 kladných a 32 záporných otázok, bez runtime chýb. Osoby aj korpus sú známe; nové sú otázky a kombinácie faktov. Logické skupiny ani normalizované otázky sa medzi DEV a TEST neprekrývajú. Výsledok neznamená všeobecnú 100 % správnosť na ľubovoľnom vstupe.
Generovanie odpovedí dosiahlo 281/300 (93,67 %) na novom externom TESTe; 20 DEV otázok malo 19/20. Všetkých 19 zlyhaní vrátane 7 neplatných JSON odpovedí ostáva započítaných. Doplnkový audit všetkých vrátených grafových kontextových faktov má 319/320 (99,69 %); strict 320/320 neznamená pravdivosť každej nadbytočnej hodnoty. Najslabšia LLM kategória je názov + tag (21/30).
Samostatne sa hodnotí generovanie odpovedí cez školské OpenWebUI API po dodaní skutočného grafového kontextu. Protokol generovania oddeľuje 20 DEV a 300 nových LLM TEST výstupov. Natívny výber nástrojov hlavným agentom je ďalší blok projektu.
Reprodukcia zmrazeného grafu
Použi zodpovedajúci kód, rovnakú pôvodnú wiki, JSON vstupy a obsah Neo4j podľa manifestu. Súkromné kľúče ostávajú v .env.
set -a
source .env
set +a
python -m tools.graphrag.evaluation.evaluate_graphrag \
--split test \
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
--output-dir /tmp/graphrag-v4-reproduction
Existujúce finálne výstupy a manifesty sa neprepisujú. Opakované spustenie rovnakého TESTu je reprodukcia, nie nové nezávislé overenie. Ak sa podľa odhalených TEST chýb ladí ďalšia verzia, tieto otázky sú od tej chvíle DEV.
Zdrojový benchmark a história
graphrag_questions.json: pôvodných 500 otázok. V2 opravila 137 nesúladov (128 tagových predpokladov a 9 neúplných množín kategórií). Zmeny sú vresults/v2_preparation/legacy_corrections.json.- V2: 509 DEV a 80 profilovo oddelených TEST otázok; finálny TEST 67/80 (83,75 %). Po odhalení sa stal regresiou.
- V3: 589 DEV a 13 nových doplnkových otázok vytvorených z pôvodných dokumentov posledných dvoch neodhalených profilov. Nešlo o výber trinástich z pôvodných 500. Meranie prebehlo interným skriptom nad Neo4j bez OpenWebUI či LLM. DEV 589/589, malý TEST 13/13; obmedzené pokrytie neumožňovalo tvrdiť všeobecnú 100 % presnosť.
- V4: 722 DEV (602 historických + 120 nových), 320 nových TEST skupín nad všetkými známymi profilmi.
source_oracle.pyčíta raw Markdown oddelene od buildera.benchmark_v4.pynepoužíva výsledky vyhľadávania pri tvorbe očakávaní ani výbere otázok. Kontrola surových zdrojov doplnila 45 zmien/rozšírení historických väzieb názvov; záznamy a mapovanie ID sú vresults/v4_preparation/.
V1–v3 ostávajú v pôvodných adresároch s manifestmi a tagmi graphrag-v1-frozen, graphrag-v2-frozen, graphrag-v3-frozen. Na reprodukciu treba ich pôvodný kód a graf. Percentá rôznych verzií nie sú kontrolovaným porovnaním identických otázok. Klasický RAG a jeho referenčné experimenty ostávajú samostatné.
Strict a zmrazenie
Správne hodnoty patria tej istej osobe/práci a majú prepojené typované dôkazy. Overuje sa význam roku, názov a typ práce, relácie, kategória a autor toho istého dokumentu, zdrojové alternatívy a URL, presné množiny a počet, explicitné no-answer a neorezaný výsledok. Rozpoznaná hodnota z otázky sama nie je dôkazom. Schema3 overuje strojové vzory ciest, nie iba textový zoznam očakávaných trás.
Freeze vyžaduje kompletný DEV, nulové runtime chyby, platný zdrojový audit a odtlačky kódu, otázok, pôvodných súborov, JSON vstupov, grafu a parametrov. V4 explicitne deklaruje prekryv 72 profilov a nulový prekryv logických skupín. Starší režim profilovo oddeleného holdoutu zostáva zachovaný.
Oracle aj evaluator sú pravidlové. Priama kontrola pôvodných riadkov a stratifikovaná kontrola anotácií nie sú náhradou nezávislej ľudskej anotácie celého datasetu.
Vývoj ďalšej verzie
Generátory historických v1–v4 neregeneruj na pôvodných miestach. Nové dáta, manifesty a merania potrebujú nové cesty/verziu. benchmark_v4 --extra-exposed vie vyradiť ďalšie odhalené skupiny, ale množstvo nových zdrojových prípadov je konečné a kvóty sa nesmú meniť podľa úspechu vyhľadávania.
python -m tools.graphrag.evaluation.evaluate_graphrag \
--split dev --audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--output-dir /tmp/graphrag-next
python -m tools.graphrag.evaluation.freeze_graphrag \
--dev-results /tmp/graphrag-next/graphrag_dev.json \
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--output /tmp/graphrag-next/frozen.json
Záverečná kompletná automatizovaná sada: 448 passed, 4 skipped (vrátane nových testov generovania). Neo4j integračné testy používajú izolovaný scope a rollback. Výsledky obsahujú úplné JSON/CSV a odtlačky pre reprodukciu.