# 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-275` odhalil 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=false` aj bez príznaku `truncated` a 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: ```bash 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: ```bash 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: ```bash 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`.