59 lines
4.3 KiB
Markdown
59 lines
4.3 KiB
Markdown
# Úpravy GraphRAG a upratanie projektu — 25. 10. 2026
|
|
|
|
Výsledky: [finálna správa v3](../tools/graphrag/evaluation/results/final_v3_2026-10-25/REPORT.md).
|
|
Upravené je grafové vyhľadávanie a jeho vyhodnotenie. Klasický RAG kód ani index sa funkčne nemenili.
|
|
|
|
## Zálohy a upratanie
|
|
|
|
Pred úpravami vznikla záloha `/tmp/zp-agent-graphrag-v2-backup-20261024T193749Z/project-before.tar.gz`, stav Gitu a neskôr export Neo4j `neo4j_before_v2.json`. Git tagy uchovávajú presné publikované implementácie.
|
|
|
|
[Cleanup manifest](cleanup_2026-10-24.json) zaznamenáva odstránené súbory a ponechané protikusy s SHA-256. Odstránených bolo päť presných kópií retrieval výsledkov, tri dočasné terminálové výpisy, štyri smoke/selected výstupy, historická kópia benchmarku už prítomná v Gite a osirelá cache pôvodného `scripts/`. Plný starý GraphRAG DEV sa presunul do označeného archívu. Final JSON/CSV, baseline, zmrazený RAG DEV/TEST a neidentické historické experimenty zostali zachované. CSV a JSON sa nepovažujú za duplicity rôznych formátov.
|
|
|
|
## Implementácia
|
|
|
|
- Celé mená, presná zhoda, kontrolované skloňovanie a bezpečné neznáme/nejednoznačné osoby; neznámy kandidát nezmení vyhľadávanie na globálne.
|
|
- Autor dokumentu vs. opisovaná osoba; celá fráza požadovaného tagu a oddelenie následnej vety/osôb.
|
|
- Typované prepojené dôkazy: osoba, konkrétna práca, jej názov/rok a správny dokument. Konfliktné údaje toho istého uzla sa odmietajú.
|
|
- Rozlíšenie roku štúdia a práce, nulového počtu a no-answer, presného počtu/množiny, platných alternatív zdrojov a URL.
|
|
- Nezávislý oracle pôvodných Markdown súborov; opravených 128 tagových predpokladov a 9 množín kategórií. Neskôr zdrojovo rozlíšený bakalársky projekt a záverečná práca.
|
|
- Doplnené vedecké a bakalárske projekty, akademické rozsahy rokov a regresné/negatívne/integritné testy.
|
|
- Freeze viaže kód, benchmark, raw Markdown, JSON vstupy, graf, audit, parametre a rozdelenie profilov; chráni pred prepísaním archívov.
|
|
|
|
## Podstatné vykonané príkazy
|
|
|
|
Použitý bol `.venv/bin/python`; pri pripojení sa načítala lokálna `.env` bez výpisu tajomstiev.
|
|
|
|
```bash
|
|
python -m tools.graphrag.evaluation.benchmark_v2
|
|
python -m tools.graphrag.evaluation.benchmark_v3
|
|
python -m tools.graphrag.build_graphrag
|
|
RUN_NEO4J_TESTS=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 pytest -q -p no:cacheprovider
|
|
|
|
python -m tools.graphrag.evaluation.evaluate_graphrag \
|
|
--split dev \
|
|
--audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
|
--output-dir tools/graphrag/evaluation/results/final_v3_2026-10-25
|
|
|
|
python -m tools.graphrag.evaluation.freeze_graphrag \
|
|
--dev-results tools/graphrag/evaluation/results/final_v3_2026-10-25/graphrag_dev.json \
|
|
--audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
|
--output tools/graphrag/evaluation/frozen_v3.json
|
|
|
|
python -m tools.graphrag.evaluation.evaluate_graphrag \
|
|
--split test \
|
|
--audit tools/graphrag/evaluation/results/v3_preparation/source_audit.json \
|
|
--freeze-manifest tools/graphrag/evaluation/frozen_v3.json \
|
|
--output-dir tools/graphrag/evaluation/results/final_v3_2026-10-25
|
|
|
|
docker compose build zp-agent-api
|
|
docker compose up -d --no-deps zp-agent-api
|
|
```
|
|
|
|
Príkazy na tvorbu datasetu a freeze boli použité pred archivovaním; existujúce zmrazené súbory neregeneruj na rovnaké miesto. Reprodukcia používa nový výstupný adresár.
|
|
|
|
## Výsledok
|
|
|
|
430 automatizovaných testov prešlo, 4 boli preskočené. Finálny DEV v3 589/589 a posledný doplnkový TEST 13/13 majú 0 runtime chýb. V2 malo prvý širší nezávislý TEST 67/80; tieto výsledky ani neskôr odhalené anotačné nedostatky nie sú skryté. V3 už obsahuje vystavených 80 otázok ako DEV. Nový malý TEST je profilovo oddelený, ale nie je reprezentatívnym dôkazom všeobecnej 100 % presnosti. Kvalita finálnej LLM odpovede a kompletný OpenWebUI GraphRAG agent patria do ďalších blokov projektu.
|
|
|
|
Docker overenie po zostavení finálneho obrazu: obsahové odtlačky Python kódu a datasetu v kontajneri sa zhodujú s manifestom v3, grafový DEV dotaz prešiel a `/health` má `ready=true`. Po testoch sa odstránila regenerovateľná Python/pytest cache mimo `.venv`; zoznam je v cleanup manifeste.
|