dp-zp-agent/docs/graphrag_2026-10-25_worklog.md

4.3 KiB

Úpravy GraphRAG a upratanie projektu — 25. 10. 2026

Výsledky: finálna správa v3. 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 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.

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.