6.3 KiB
GraphRAG: finálna opravená verzia v3 — 25. 10. 2026
Upravovalo sa grafové vyhľadávanie a jeho evaluácia. Klasický RAG backend, SQLite index a jeho zmrazené odpovede zostali zachované.
Výsledky a ich význam
| Meranie | Strict | Úspešnosť | Runtime chyby | Priemer | Medián | p95 |
|---|---|---|---|---|---|---|
| DEV/regresia v3 | 589/589 | 100.00 % | 0 | 41.53 ms | 40.42 ms | 56.27 ms |
| Doplnkový nový TEST v3 | 13/13 | 100.00 % | 0 | 54.83 ms | 43.19 ms | 109.37 ms |
| Širší nezávislý TEST v2 pred finálnymi opravami | 67/80 | 83.75 % | 0 | 46.29 ms | 37.56 ms | 54.18 ms |
13/13 nie je dôkaz 100 % správnosti celého programu. Posledný holdout používa len dva zvyšné doteraz nepoužité profily. Obsahuje kategórie, autora dokumentu, začiatok štúdia, nulový počet a negatívne prípady. Nemá reprezentatívne pokrytie všetkých deviatich kladných reasoning kategórií. Najširšie nezávislé meranie v tejto iterácii je stále zaznamenané v2 67/80; po zistení chýb sa tieto otázky stali DEV/regresiou.
Všetky pôvodné prípady ostali zachované: DEV v3 obsahuje celý súbor 589 už vystavených otázok z v2 vrátane negatívnych otázok a nulového počtu. Nedochádza k vynechávaniu neúspešných prípadov. Starý TEST sa po oprave nevydáva za nový nezávislý TEST. Latencie merajú samotné grafové vyhľadávanie, bez LLM a OpenWebUI.
Opravy benchmarku a referenčných údajov
- Pôvodný súbor 500 otázok a výsledky v1 zostali nezmenené; pôvodný v1 je reprodukovateľný z tagu
classic-rag-e5-small-frozenpre RAG agraphrag-v1-frozenpre grafovú verziu. - 128 otázok malo nepodložený predpoklad o doslovnom frontmatter tagu. Ich opravená anotácia vyžaduje explicitné
no_answer, dôvod a neprítomnosť kladného vymysleného faktu. Audit sám nepripočítava úspech; hodnotí sa skutočný výsledok vyhľadávania. - 9 otázok má opravenú presnú množinu kategórií vrátane poddokumentov.
- Oracle číta pôvodné Markdown súbory, YAML metadata, akademické nadpisy a označené názvy. Nepoužíva GraphRAG builder ani výsledky retrievalu ako zdroj odpovedí. Proveniencia obsahuje cesty, SHA-256, zdrojové riadky a základ určenia roku.
- Pri v2 sa odhalila ďalšia chyba anotácie: názov pod
Bakalársky projekt 2020sa nesmie premeniť na názov záverečnej práce 2021 len podľa kategóriebp2021. Opravené je rozlíšenie projektu a práce v oboch nezávislých parseroch. Záznam všetkých 24 zmien/rozšírení väzieb, vrátane štyroch nových opráv kladného predpokladu na záporný, je v../v3_preparation/source_adjudications.json. - Zdrojové validátory hlásia 0 zostávajúcich nesúladov. Ide o pravidlovú kontrolu s dohľadateľným zdrojom, nie záruku bezchybnej ľudskej anotácie celého korpusu.
Vyhľadávanie a evaluator
Celé mená sa porovnávajú v súvislom poradí s kontrolovaným skloňovaním. Presná zhoda má prednosť; neznáme celé aj jednoslovné meno alebo neznámy kandidát nezruší obmedzenie na osoby. Rovnomenné profily vedú k ambiguous. Rola autora dokumentu sa rozlišuje od opisovaného študenta.
Tag sa číta ako celý požadovaný výraz vrátane formulácie pred menami. Neznámy viacslovný tag sa neskracuje na známy prefix. Výsledky majú stav, dôvod, kontrolované entity a dôkazy zamietnutia.
Evaluator skladá typovaný graf dôkazov z konkrétnych ciest a kontraktov pripravených Cypher dotazov. Kontroluje osobu, konkrétnu prácu, hodnotu jej roku/názvu, správnu reláciu, kategóriu a autora toho istého dokumentu, presnú množinu a počet. Odmieta zmiešanie rôznych osôb/prác a protichodných vlastností rovnakého uzla. Začiatok štúdia sa neráta ako rok práce. Štruktúrované vzory ciest sú skutočne overované. Alternatívne dokumenty dokazujúce rovnaký fakt sa hodnotia ako alternatívy a kontroluje sa URL konkrétneho dôkazu.
Builder navyše rozpoznáva Vedecký projekt a Bakalársky projekt; akademický rozsah 2023/24 sa rozlišuje podľa jeho rokov a podporujúcej kategórie. Graf bol pred obnovou zálohovaný.
Testy a zmrazenie
Celý projekt: 430 passed, 4 skipped, vrátane desiatich skutočných Neo4j prípadov v izolovaných rollback transakciách. Nové testy cielia aj úmyselne nesprávne výsledky a záporné prípady, nie iba kladné ukážky.
Pred TESTom v3 bol celý DEV úspešný a vznikol ../../frozen_v3.json. Manifest overuje kód, dataset, pôvodný Markdown, JSON vstupy, graf, audit a parametre. Kontroluje nulový prekryv profilov DEV/TEST. Existujúce manifesty a finálne výsledky sú chránené pred prepísaním. Po TESTe v3 sa Python kód ani dataset nemenili.
| Kategória | DEV v3 strict | TEST v3 strict |
|---|---|---|
candidate_set_aggregation |
25/25 | 1/1 |
conjunctive_disambiguation |
28/28 | nepokryté |
document_author_category_multi_hop |
68/68 | 2/2 |
negative_lookup |
16/16 | 6/6 |
person_keyword_title |
88/88 | nepokryté |
person_multiple_categories |
38/38 | 2/2 |
person_title_year |
88/88 | nepokryté |
same_academic_year_pair |
108/108 | nepokryté |
same_start_year_pair |
68/68 | nepokryté |
shared_keyword_pair |
62/62 | nepokryté |
person_start_year |
samostatné jednotkové pokrytie | 2/2 |
Zostávajúce obmedzenia
- Na silný všeobecný odhad presnosti treba ďalší nezávislý súbor otázok/dát od človeka alebo nový korpus. Opakované dolaďovanie na už odhalenom TESTe by z neho urobilo DEV.
- Riešenie používa pravidlá pre slovenské formulácie a kontrolované skloňovanie; nepokrýva ľubovoľné preklepy a všetky možné otázky.
- Pri nejednoznačných rovnomenných profiloch sa bezpečne odmieta výber. Všeobecné počítanie iných domén a univerzálny prienik pre ľubovoľný počet ľudí nie sú týmto benchmarkom garantované.
- Ide o retrieval vrstvu. GraphRAG ešte nie je kompletný OpenWebUI agent a toto meranie nehodnotí kvalitu odpovedí LLM.
- V1, v2 a v3 majú rôzne benchmarky a prísnosť evaluatora. Ich percentá nemožno bez kontrolovaného experimentu priamo odčítať ako zlepšenie modelu.
Zadané chyby bodu 3 sú opravené a meranie aktuálnej verzie uzavreté s uvedenými limitmi. Nasleduje integrácia nástroja a neskôr reprezentatívne porovnanie RAG/GraphRAG.