101 lines
5.7 KiB
Markdown
101 lines
5.7 KiB
Markdown
# 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`.
|