113 lines
6.6 KiB
Markdown
113 lines
6.6 KiB
Markdown
# Generovanie odpovedí nad zmrazeným grafom
|
|
|
|
Aktuálne meranie **v7** používa 46 známych DEV otázok, nový query-group TEST
|
|
80 otázok a oddelenú historickú regresiu 320 otázok.
|
|
Model vracia štruktúrované tvrdenia, `answer` je prázdne. Aplikácia overí
|
|
fakty, väzby, počty a citácie a vykreslí prirodzený text deterministicky.
|
|
Voľná próza modelu sa ako finálna odpoveď nedoručuje. Pôvodné HTTP odpovede,
|
|
parsované aj vykreslené odpovede a každý opravný pokus sú uložené.
|
|
|
|
Nový TEST má prvý pokus **77/80 (96,25 %)** a finálny výsledok **80/80**;
|
|
jednu opravu potrebovali tri otázky. Historická regresia má 319/320,
|
|
s jedným odmietnutým nepodloženým akademickým názvom. Nejde o meranie voľnej jazykovej
|
|
formulácie ani neznámeho korpusu. Modelový DEV má 46/46.
|
|
[Správa v7](../graphrag/evaluation/results/final_v7_2026-10-26/REPORT.md).
|
|
|
|
Všetky evaluačné vstupy treba zvoliť explicitne. Nový TEST používa
|
|
`--split test`; známa regresia `--split regression --regression-ids ...`.
|
|
Oba potrebujú dokončený `--dev-results` s rovnakými hashmi a modelom.
|
|
Príkazy sú v [pracovnom zázname v7](../../docs/graphrag_v7_2026-10-26_worklog.md).
|
|
Budúci OpenWebUI agent musí dodržať `accepted_for_delivery` a odovzdať
|
|
overený text; nekontrolované prepísanie rendererovej odpovede by tieto
|
|
záruky obišlo. Natívny výber nástrojov ostáva ďalším blokom.
|
|
|
|
## Historická v6
|
|
|
|
Meranie **v6** je historická regresia 320 známych otázok vrátane
|
|
42 DEV otázok. [Výsledná správa](../graphrag/evaluation/results/final_v6_2026-10-25/REPORT.md)
|
|
uvádza samostatne prvý pokus, výsledok po jednom povolenom opravnom požiadavku,
|
|
odmietnuté odpovede a JSON chyby. Žiadna chyba sa nevynecháva z menovateľa.
|
|
Finálny strict výsledok je **316/320 (98,75 %)**: tri neplatné JSON/schema
|
|
výstupy a jedno prísne odmietnutie skloňovaného mena pri správnych claims.
|
|
|
|
Spoločný adaptér prenáša úplnosť, orezanie, dôvody aj verziu dát. Guard používa
|
|
iba skutočný kontext; kontroluje všetky citované URL, typy hodnôt, ich väzby
|
|
a upozornenie pri neúplnom výpise. Môže vyžiadať najviac jednu opravu spolu
|
|
pre formát alebo porušenie kontextu. Gold sa používa až pri hodnotení.
|
|
Oba evaluačné grafové vstupy používajú tento istý adaptér a guard.
|
|
|
|
`accepted_for_delivery=false` zakazuje považovať výstup za overenú odpoveď.
|
|
Integrácia tejto kontroly do budúceho natívneho OpenWebUI agenta je súčasťou
|
|
bodu 4; dnešné meranie grafu dodáva kontext cez lokálny klient.
|
|
Klasický RAG pred doručením používa `finalize_rag_answer()`: môže pridať iba
|
|
chýbajúce upozornenie na neúplnosť, bez zmeny faktov. Zachová pôvodný text
|
|
modelu a neobíde nepovolené URL ani tvrdenie o úplnom zozname.
|
|
|
|
[Podrobný postup a príkazy](../../docs/graphrag_v6_2026-10-25_worklog.md).
|
|
Skripty `check_context_scenarios`, `check_rag_runtime`, `check_deployment`
|
|
a `regrade_citations` oddeľujú syntetické funkčné kontroly, živý RAG smoke,
|
|
overenie nasadenia a prepočet historických citácií od hlavnej presnosti.
|
|
|
|
## Historická v5.1
|
|
|
|
Meranie **v5.1** je historická regresia. Výsledky sú v
|
|
[spoločnej správe](../graphrag/evaluation/results/final_v5_1_2026-10-25/REPORT.md).
|
|
Používa 39 vopred vybraných DEV otázok (20 pôvodných a 19 historických zlyhaní)
|
|
a 320 finálnych regresných otázok vrátane týchto 39. Nejde o nezávislý holdout.
|
|
|
|
Generovanie overí odtlačky kódu/promptu/dát voči kompletnému DEV. Parser prijíma
|
|
platný typovaný JSON alebo jeden úplný JSON blok. Pri chybe formátu je povolený
|
|
najviac jeden opravný požiadavok bez gold; pôvodné aj opravné odpovede sa ukladajú.
|
|
Vecné zlyhanie hodnotenia neopakuje požiadavok. Report uvádza prvotnú aj konečnú
|
|
úspešnosť a počet opráv. Natívny výber OpenWebUI nástrojov zostáva bodom 4.
|
|
|
|
Reprodukcia potrebuje zodpovedajúci release checkout a graf, načítanú konfiguráciu
|
|
a nové výstupné adresáre. Najprv spustite `--split dev` s
|
|
`--dev-ids tools/graphrag/evaluation/results/v5_1_preparation/generation_dev_ids.json`,
|
|
`--audit tools/graphrag/evaluation/results/v5_1_preparation/source_audit.json`
|
|
a `--freeze-manifest tools/graphrag/evaluation/frozen_v5_1.json`.
|
|
Finálny beh používa rovnaké parametre, `--split regression` a povinné
|
|
`--dev-results` smerujúce na tento dokončený DEV. Historické výsledky sa neprepisujú.
|
|
|
|
## Historický protokol v4
|
|
|
|
Nasledujúci text a pôvodný TEST 300 otázok opisujú v4; jej reprodukcia vyžaduje
|
|
pôvodný kód aj graf. Týchto 300 otázok je pri ďalšom ladení historickou regresiou.
|
|
|
|
Tento experiment meria OpenWebUI chat API po dodaní skutočného grafového
|
|
kontextu lokálnym skriptom. Neoveruje prehliadač ani automatický výber
|
|
nainštalovaných nástrojov hlavným agentom. Klasický RAG sa nemení.
|
|
|
|
Pôvodná diagnostika použila 20 otázok. Všetkých 20 sa stalo DEV; zostávajúcich
|
|
300 otázok zo zmrazeného grafového benchmarku tvorí nový TEST generovania.
|
|
Predchádzajúce interné grafové meranie neposkytlo výstupy jazykového modelu.
|
|
Žiadne očakávania, zdrojový oracle ani výsledky evaluatora sa modelu neposielajú.
|
|
|
|
`graph_answer_prompt.txt` určuje výstup. Kontext obsahuje iba skutočné relevantné
|
|
fakty a zdroje, bez mien profilov vydávaných za názov akademickej práce či typu
|
|
osoby zamieňaného za taxonomickú kategóriu. Štruktúrované tvrdenia musia spájať
|
|
správne fakty pri tej istej osobe/práci/dokumente. Kontrolujú sa aj zdrojové
|
|
odkazy, množiny, počty a povinné hodnoty v prirodzenom texte. Nepovinné `null`
|
|
znamená neprítomnosť tvrdenia. Označenie diplomovej práce za dizertačnú sa odmieta.
|
|
|
|
Ide o prísne, ale stále pravidlové hodnotenie. Nejde o úplnú sémantickú kontrolu
|
|
každej možnej vety. Zdrojový oracle je nezávislý od grafového buildera, nie od
|
|
človeka, ktorý by nezávisle anotoval celý test. Osoby, korpus a šablóny sú známe.
|
|
|
|
Každý nový výstupný adresár obsahuje deklaráciu pred meraním, SHA kódu/promptu,
|
|
presné DEV/TEST ID a výsledky všetkých otázok. Odpovede sa ukladajú priebežne;
|
|
chyba ani prerušený beh sa nesmie zatajiť či premenovať na nezávislý nový TEST.
|
|
Po odhalení TEST výsledkov patria tieto otázky pri ladení do DEV.
|
|
|
|
```bash
|
|
set -a
|
|
source .env
|
|
set +a
|
|
# Reprodukcia používa vždy nový adresár; nejde o nový nezávislý TEST.
|
|
python -m tools.answer_evaluation.evaluate_graph_answers \
|
|
--split test --output-dir /tmp/graphrag-answers-reproduction
|
|
```
|
|
|
|
Model je `model120-fast`; presný názov modelu vrátený serverom, tokeny a pôvodné
|
|
odpovede sú uložené vo výsledkoch. Prístupový kľúč zostáva iba v prostredí.
|