5.7 KiB
GraphRAG v5.1 — dokončenie bodu 3 a história iterácie v5
Rozsah a protokol
Ide o nové meranie opravenej implementácie na historicky odhalených otázkach. Výsledky v1–v4, otázky ani pôvodné očakávania sa neprepisujú. Používa sa 722 DEV otázok a 320 historických grafových TEST otázok. Druhý split je vo v5 regresia, nie nový nezávislý holdout. Nezavádzajú sa nové otázky iba kvôli skóre.
Generovanie sa ladí na 39 vopred deklarovaných prípadoch: 20 pôvodných DEV výstupov a 19 zlyhaní historického LLM TESTu. Finálna regresia generovania má všetkých 320 historických otázok vrátane týchto 39 DEV; tento prekryv je výslovne uložený v protokole a vo výsledkoch. Žiadna otázka sa nevynecháva podľa úspechu vyhľadávania alebo modelu.
Záloha kódu, dát a spravovaného grafu je v
/tmp/zp-bod3-v5-backup-20261025T155423Z/. Konfiguračné tajomstvá sa nearchivujú.
Opravy
- Príprava na akademický projekt je organizačná poznámka. Sama nevytvára
akademický záznam ani jeho rok. Tým sa rieši historický prípad
wide-080. - Označenie „Návrh na zadanie BP“ samo nedokazuje názov práce. Pri doplnkovej kontrole DEV sa odhalili tri výstupy Martina Šarišského s takto odhadnutým názvom. Parser teraz používa explicitné názvy/témy alebo dovolený úvodný názvový odsek. Očakávania benchmarku sa kvôli predikciám nemenili.
- Prvá zmrazená v5 mala regresiu 319/320.
wide-275odhalil konzultačnú poznámku nesprávne použitú ako názov projektu na hranici chunku. V5.1 vylučuje tieto organizačné vety; prvá iterácia a overený zdrojový patch ostávajú uložené. - Evaluator odmieta
complete=falseaj bez príznakutruncateda kontroluje všetky vrátené typované fakty proti nezávislému čítaniu raw Markdownov: osobu, dokument, URL, akademický názov/rok/typ, metadata na tom istom dokumente, zdieľané vlastnosti a porovnania rokov. Chybné nadbytočné fakty znižujú strict skóre. Nejde o všeobecný sémantický súd ľubovoľných viet. - Zmrazenie zahŕňa spoločné moduly, publikačnú politiku a pravidlo prípravy; finálna generácia kontroluje identitu kódu/promptu/dát voči dokončenému DEV.
- Pokyny pre LLM vysvetľujú väzbu názvu a tagu pri tej istej osobe aj cez dcérsky dokument. Kategória a autor dokumentu musia mať spoločný dokument.
- JSON sa kontroluje typovanou schémou. Jeden úplný JSON blok sa môže vybrať z Markdown ohraničenia bez prepisovania hodnôt. Skutočne neplatný JSON môže vyvolať najviac jeden opravný požiadavok s pôvodnou otázkou a kontextom. Gold odpovede sa neposielajú modelu; všetky pokusy aj prvotná úspešnosť sa ukladajú.
Overenie a príkazy
Kompletná regresná sada finálnej v5.1: 525 passed, 4 skipped. Prvý prísny DEV mal 719/722; tri nesúlady názvu viedli k oprave parsera uvedenej vyššie. V5 mala DEV 722/722, regresiu 319/320 a DEV generovania 38/39. V5.1 má DEV 722/722 a regresiu 320/320 vrátane všetkých typovaných faktov; DEV generovania zostal 38/39. Tieto priebežné výsledky sa nezatajujú.
Použité hlavné príkazy po načítaní lokálnej konfigurácie:
RUN_NEO4J_TESTS=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 .venv/bin/python -m pytest -q
docker compose build zp-agent-api
docker compose up -d --no-deps zp-agent-api
Koordinovaná obnova indexov používa autentifikovaný POST /sync s
{"pull_git":false}. Korpus zostáva 114 dokumentov/887 chunkov, aktualizovaný
graf má 446 uzlov a 877 vzťahov. Presné indexové verzie a finálne výsledky
sú identifikované vo finálnej správe v5.1 a v zázname overenia nasadenia.
Grafový protokol:
python -m tools.graphrag.evaluation.evaluate_graphrag \
--split dev --audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json \
--output-dir tools/graphrag/evaluation/results/final_v5_1_2026-10-25
python -m tools.graphrag.evaluation.freeze_graphrag \
--dev-results tools/graphrag/evaluation/results/final_v5_1_2026-10-25/graphrag_dev.json \
--audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json \
--purpose historical_regression --output tools/graphrag/evaluation/frozen_v5_1.json
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 tools/graphrag/evaluation/results/final_v5_1_2026-10-25
Generovanie nad rovnakým zmrazeným grafom:
python -m tools.answer_evaluation.evaluate_graph_answers \
--split dev --dev-ids tools/graphrag/evaluation/results/v5_1_preparation/generation_dev_ids.json \
--audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json \
--freeze-manifest tools/graphrag/evaluation/frozen_v5_1.json \
--output-dir tools/graphrag/evaluation/results/answers_v5_1_dev_2026-10-25
python -m tools.answer_evaluation.evaluate_graph_answers \
--split regression --dev-ids tools/graphrag/evaluation/results/v5_1_preparation/generation_dev_ids.json \
--dev-results tools/graphrag/evaluation/results/answers_v5_1_dev_2026-10-25/answers_dev.json \
--audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json \
--freeze-manifest tools/graphrag/evaluation/frozen_v5_1.json \
--output-dir tools/graphrag/evaluation/results/answers_v5_1_regression_2026-10-25
Príkazy vyššie dokumentujú pôvodný beh. Pri reprodukcii použite nové výstupné
adresáre a zachovajte zodpovedajúci zmrazený manifest. Nový manifest vytvárajte
pre novú verziu; existujúce finálne súbory sú nemenné. Reprodukcia nie je nový
nezávislý TEST. Aktuálny release označuje Git tag graphrag-v5.1-frozen.