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

101 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`.