5.4 KiB
Dokončenie širšej GraphRAG evaluácie v4
Zdrojové meranie a obmedzenia: správa v4.
Rozsah a záloha
Pracovalo sa na grafovej vrstve a jej evaluácii. Stabilný klasický RAG, indexové JSON, baseline aj historické merania v1–v3 ostali zachované. Aktuálny default jp170na/zpwiki:master bol porovnaný s lokálnym checkoutom. Archív projektu a samostatný snapshot spravovaného Neo4j grafu sú v /tmp/zp-agent-graphrag-v4-backup-20261025T013116Z/. Konfiguračné kľúče sa do výsledkov ani Gitu nekopírujú.
Zmeny
benchmark_v4.py: 320 nových zdrojových TEST otázok v 10 kategóriách; 722 DEV otázok zvlášť. Kvóty a seed sú určené bez výsledkov vyhľadávania. Žiadna otázka sa nevyraďuje podľa neúspechu.- Normalizované logické skupiny bránia tomu, aby sa parafráza rovnakého zadania tvárila ako nezávislý TEST. Freeze deklaruje, že 72 známych profilov sa prekrýva; nezamieňa to za profilovo nezávislé v2/v3 meranie.
- Zdrojový oracle a grafový builder rozlišujú názvy, návrhy názvov, témy, organizačné poznámky, súvisiace práce a odkazy. Explicitný názov má prednosť. Linkovaný názov tímového projektu sa extrahuje ako názov, nie URL. Vyhľadávanie na názov nevracia bezmenný akademický záznam ako pozitívnu odpoveď.
- Explicitný akademický rozsah
2022/23sa nesmie prepísať nesúvisiacou kategóriouvp2021. Graf bol bezpečne znovu zostavený z rovnakých JSON vstupov. - Audit overuje všetky očakávania oproti raw Markdownu. Priama kontrola má 616 dôkazových záznamov, bez chyby. Doplnené sú zdrojové adjudikácie, mapovanie ID a vzorka kontroly pôvodných riadkov.
- Osobitný
tools/answer_evaluation/hodnotí skutočné odpovede školského modelu cez OpenWebUI API po dodaní grafového kontextu. Nejde o prehliadač ani nainštalovaný nástroj. Prvých 20 externých otázok je DEV; zostávajúcich 300 je TEST generovania. Kód a prompt majú vlastné odtlačky a presné ID. Pôvodný slabší diagnostický výsledok zostal uložený. - Nové regresné testy cielia neplatné zdrojové názvy, rok, únik logických skupín, chybné tvrdenia, null hodnoty a zámenu diplomovej/dizertačnej práce. Kompletná sada: 448 passed, 4 skipped.
Použité príkazy
# Kontrola stavu a aktuálneho zdroja:
git status --short
git -C ../zpwiki ls-remote --symref origin HEAD
# Benchmark sa vytvára len do nových ciest:
.venv/bin/python -m tools.graphrag.evaluation.benchmark_v4
# Po načítaní .env, bez vypísania jeho hodnôt:
.venv/bin/python -m tools.graphrag.build_graphrag
RUN_NEO4J_TESTS=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
.venv/bin/python -m pytest -q -p no:cacheprovider
.venv/bin/python -m tools.graphrag.evaluation.evaluate_graphrag \
--split dev --audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--output-dir tools/graphrag/evaluation/results/final_v4_2026-10-25
.venv/bin/python -m tools.graphrag.evaluation.freeze_graphrag \
--dev-results tools/graphrag/evaluation/results/final_v4_2026-10-25/graphrag_dev.json \
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--output tools/graphrag/evaluation/frozen_v4.json
.venv/bin/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 tools/graphrag/evaluation/results/final_v4_2026-10-25
# Pôvodná diagnostika, potom nový prompt na DEV a nový TEST generovania:
.venv/bin/python -m tools.graphrag.evaluation.check_openwebui \
--freeze-manifest tools/graphrag/evaluation/frozen_v4.json \
--audit tools/graphrag/evaluation/results/v4_preparation/source_audit.json \
--output tools/graphrag/evaluation/results/final_v4_2026-10-25/openwebui_sample.json
.venv/bin/python -m tools.answer_evaluation.evaluate_graph_answers \
--split dev --output-dir tools/graphrag/evaluation/results/answers_v4_dev_2026-10-25
.venv/bin/python -m tools.answer_evaluation.evaluate_graph_answers \
--split test --output-dir tools/graphrag/evaluation/results/answers_v4_test_2026-10-25
Medzi DEV behmi sa opravovali zdrojové anotácie a kód. Po finálnom grafovom TESTe sa grafový kód ani dataset nemenili. Po spustení 300-otázkového LLM TESTu sa nemenil prompt, kontextový adaptér ani hodnotenie. Reprodukcia vyžaduje nové výstupné adresáre a pôvodné odtlačky; nie je novým nezávislým meraním.
Finálny výsledok
Grafový strict TEST 320/320 (100 %); zdrojový audit všetkých kontextových faktov 319/320 (99,69 %). Externý TEST odpovedí 281/300 (93,67 %), vrátane 19 zlyhaní, z toho 7 chýb spracovania JSON. Cieľ ≥92 % splnený v prvom finálnom behu oboch experimentov. Úplné JSON/CSV, zdrojové audity, súhrn a rozpis chýb sú uložené. Natívny výber nástrojov hlavným agentom zostáva bodom 4.
Docker obraz bol znovu zostavený a existujúci API kontajner obnovený bez reštartu Neo4j. Obsahové odtlačky grafového kódu, otázok, JSON vstupov a raw wiki v kontajneri zodpovedajú frozen_v4. Overený bol grafový dotaz aj /health.
docker compose build zp-agent-api
docker compose up -d --no-deps zp-agent-api
git diff --check
git commit -m "Dokončenie GraphRAG evaluácie"
git push --atomic origin graphrag-v1 graphrag-v4-frozen