92 lines
4.7 KiB
Markdown
92 lines
4.7 KiB
Markdown
# Vyhodnotenie agenta ADC
|
|
|
|
Sada obsahuje 30 otázok, po šesť v piatich kategóriách. Odpovede prvých
|
|
štyroch kategórií sú presnými úryvkami existujúceho korpusu ADC. Nie sú
|
|
nezávisle klinicky overené. Negatívne otázky testujú nedostatočne určený
|
|
vstup, nie dokázanú neprítomnosť interakcie.
|
|
|
|
## Spustenie
|
|
|
|
Z koreňa projektu, po spustení serverov:
|
|
|
|
```powershell
|
|
python -m unittest discover -s tests -v
|
|
python scripts/evaluation/audit_data.py --root .
|
|
python scripts/evaluation/run_evaluation.py --out outputs/evaluation_new --limit 10
|
|
python scripts/evaluation/judge_answers.py --run outputs/evaluation_new
|
|
```
|
|
|
|
Bez `--limit` sa spracuje všetkých 30 otázok. `--resume` obnoví experiment
|
|
iba pri rovnakej sade, indexe a konfigurácii. Chyby požiadaviek sa uchovávajú
|
|
oddelene od skóre. Pre server s autentifikáciou nastavte `LIGHTRAG_API_KEY`
|
|
v prostredí; kľúč sa neukladá do výsledkov.
|
|
|
|
## Interpretácia
|
|
|
|
- `source_hit` meria iba prítomnosť referenčného produktu medzi zdrojmi,
|
|
nie správnosť odpovede. Pre bypass a negatívne otázky sa nepočíta.
|
|
- `judgments.jsonl` obsahuje vlastnú rubriku LLM-as-a-judge, nie RAGAS.
|
|
Grounding porovnáva odpoveď s textami vrátenými priamo s odpoveďou.
|
|
Coverage porovnáva relevantné fakty s referenciou. Hodnotiteľ je tá istá
|
|
modelová služba ako generátor; výsledky vyžadujú nezávislú kontrolu.
|
|
- Časy môžu obsahovať zásahy cache a ovplyvňuje ich zaťaženie školského
|
|
servera. Nie sú benchmarkom studeného štartu ani kauzálnym meraním.
|
|
- Audit rozdielnych textov v deduplikačných skupinách nedokazuje klinickú
|
|
významnosť rozdielov.
|
|
|
|
Výstupy `evaluation_pilot` dokumentujú diagnostický beh s nedostatočne
|
|
obmedzeným grafovým kontextom. `evaluation_pilot_fixed` používa spoločné
|
|
parametre agenta, ktoré rezervujú priestor pre pôvodné texty ADC. Starý
|
|
graf ani pôvodné údaje sa pri týchto behoch neprestavujú.
|
|
|
|
Pred záverom o klinickej správnosti je potrebné overiť referencie a odpovede
|
|
odborníkom, rozšíriť otázky na viac produktov a oddeliť vývojovú a testovaciu
|
|
sadu. Pilot nepreukazuje všeobecnú prevahu GraphRAG nad klasickým RAG.
|
|
|
|
|
|
## Skutočné hodnotenie RAGAS 0.4.3
|
|
|
|
Skript `scripts/evaluation/run_ragas.py` používa priamo metriky knižnice RAGAS:
|
|
Faithfulness, AnswerRelevancy, ContextRecall a AnswerCorrectness. Výsledky
|
|
sú uložené oddelene od vlastnej rubriky v `outputs/ragas_pilot/`.
|
|
|
|
Pre uložený pilot ide o osem zodpovedateľných otázok a päť režimov, teda
|
|
40 odpovedí. Negatívne scenáre sa týmto súborom metrík nehodnotia. Bypass
|
|
nemá vyhľadávanie, preto sa pri ňom Faithfulness a ContextRecall nepočítajú.
|
|
Maximálny počet definovaných číselných skóre je 144. Chyby a NaN sa evidujú
|
|
oddelene a nenahrádzajú sa nulou.
|
|
|
|
Kontextmi sú výhradne úryvky vrátené spolu s uloženou odpoveďou. Úplný
|
|
prompt vrátane grafových opisov nebol v pôvodnom pilote uložený. Faithfulness
|
|
preto vyjadruje podporu v týchto úryvkoch, nie vernosť celému promptu.
|
|
Referenčný text sa nikdy nevkladá do vyhľadaného kontextu.
|
|
|
|
Nové oddelené prostredie možno pripraviť z koreňa projektu:
|
|
|
|
```powershell
|
|
python -m venv .venv-ragas
|
|
.\.venv-ragas\Scripts\python.exe -m pip install -r evaluation/requirements-ragas.txt
|
|
```
|
|
|
|
Spustite iba embeddingový server (`python embedding_server.py`), potom:
|
|
|
|
```powershell
|
|
.\.venv-ragas\Scripts\python.exe scripts/evaluation/run_ragas.py --out outputs/ragas_new
|
|
```
|
|
|
|
LLM sa volá priamo cez existujúcu konfiguráciu `lightrag/.env`; LightRAG server
|
|
ani webové demo nie sú na túto hodnotiacu fázu potrebné. Kľúče sa nezapisujú
|
|
do výsledkov ani trace súboru. Prerušený beh možno obnoviť cez `--resume`.
|
|
Celý použitý balíkový stav zaznamenáva `requirements-ragas.lock.txt`.
|
|
|
|
`manifest.json` zachytáva verzie, kontrolné súčty vstupov, konfiguráciu a rozsah.
|
|
`samples.json` obsahuje presné vstupy, `scores.jsonl` individuálne skóre a stav,
|
|
`api_trace.jsonl` otázky a odpovede hodnotiteľa bez autorizačných hlavičiek.
|
|
`summary.json` a `scores.csv` slúžia na kontrolu výsledkov. Hodnotiteľ používa
|
|
rovnakú školskú modelovú službu ako generátor a predvolené anglické prompty
|
|
nad slovenskými vstupmi; výsledok nie je nezávislou klinickou validáciou.
|
|
|
|
Dokumentácia: https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/faithfulness/
|
|
|
|
Uložená konfigurácia MiniLM má maximálnu dĺžku vstupu 128 tokenov. Pri dlhých odpovediach a referenciách to obmedzuje sémantickú zložku AnswerCorrectness. Konfigurácia je zachytená v `embedding_config.json`. Pri opakovaní neúspešných buniek možno po dokončenom prvom behu použiť `--resume --retry-max-tokens 8192`; zvýšený limit a história zostávajú zaznamenané.
|