Problém
STATdata, verejná databáza Štatistického úradu SR, má takmer 1 000 tabuliek (pri našej kontrole 995). Každá má osemmiestny kód, napríklad np3106rr. Ak chcete jedno číslo, napríklad priemernú mzdu remeselníkov v jednom kraji, musíte najprv vedieť, v ktorej tabuľke je a ako ju vyfiltrovať. Pre každého, kto s databázou nepracuje denne, je to ťažké.
Čo sme postavili
Asistenta na jednej obrazovke nad 10 vybranými tabuľkami STATdata. Opýtate sa bežnou slovenčinou. Asistent vyberie tabuľku, zvolí správne hodnoty (kraj, rok, ukazovateľ), stiahne dáta cez otvorené API a ukáže graf s riadkom zdroja: názov tabuľky, kód, dátum poslednej aktualizácie, licencia a odkaz. Ak žiadna z 10 tabuliek nesedí, povie to a nič nevykreslí.
Zámerne mimo rozsahu: vyhľadávanie nad všetkými tabuľkami STATdata, používateľské účty a osobná história otázok a akákoľvek interpretácia čísel jazykovým modelom.
Ako to funguje
- Pevný katalóg 10 tabuliek (kód, názov, popis, dimenzie, „kedy použiť / kedy nie”, príklady otázok).
- Jazykový model robí len dve rozhodnutia: ktorá tabuľka a ktoré hodnoty vyfiltrovať.
- Kód skontroluje filter (neznámy kód tabuľky odmietne, chýbajúce úhrny doplní, najviac 3 kolá na otázku).
- Kód stiahne tabuľku cez STATdata API (ZIP s plochými JSON riadkami), vyfiltruje ju a vykreslí graf.
- Kód zapíše riadok zdroja. Žiadne číslo neprechádza cez model.
Ako dlho to trvalo
Spolu 6–8 hodín v priebehu jedného týždňa (26.–30. 10. 2026). Plán bol 4 hodiny vývoja v dvoch blokoch.
Technológie
TypeScript · Qwen 3.6 lokálne cez Ollamu · tool calling s JSON schémou · Chart.js · STATdata REST API
Model beží lokálne cez Ollamu, takže otázky ani dáta neodchádzajú k externému poskytovateľovi AI modelu a nepoužívame žiadne platené AI API.
Zdroje dát a licencia
Otvorené dáta Štatistického úradu SR, STATdata, licencia CC BY 4.0. 10 tabuliek: mzdy (podľa zamestnania a podľa odvetvia), evidovaná nezamestnanosť, nezamestnanosť podľa veku a pohlavia, medziročná inflácia, regionálny HDP na obyvateľa, stredná dĺžka života, návštevnosť ubytovacích zariadení, vek pri sobáši a výroba elektriny. Ide o experiment LabZone nad otvorenými dátami. Nie je to služba Štatistického úradu SR a nevznikol v spolupráci s ním ani preň.
Čo sme namerali
26. 10. 2026, 20 testovacích otázok, Qwen lokálne cez Ollamu, teplota 0.
- Testovacia sada: 10 priamych otázok, 4 v bežnej reči, 4 na rozlíšenie dvoch podobných tabuliek, 2 mimo katalógu.
- Výber tabuľky: model vybral správnu tabuľku pri 20 z 20 testovacích otázok nad 10 vybranými tabuľkami ŠÚ SR. Meria to len výber tabuľky, nie hodnoty v grafe.
- Čas odpovede: medián 4,5 s na otázku (min. 2,5 s, max. 12,0 s), predtým pri staršej verzii medián 24,1 s. Zrýchlenie priniesli nastavenia servera (menšie kontextové okno, model stále načítaný, nemenný prompt medzi otázkami), nie prepisovanie promptu.
- Bez plateného AI API.
Čo sme sa naučili
- Výber tabuľky bol ľahšia časť. Ťažší je výber hodnôt, napríklad dvojité započítanie úhrnov alebo prekrývajúce sa vekové skupiny.
- Pravidlá patria do kódu, nie do promptu. Jedna verzia promptu zabudla vybrať riadok „spolu”, kontrola filtra v kóde to už nedovolí. Lokálny model sám nevynútil zoznam povolených kódov tabuliek, preto je validácia v kóde nutná.
- Otvorené dáta majú pasce: čísla uložené ako text, kraje a okresy v jednom stĺpci, ročné úhrny popri mesiacoch, neúplný aktuálny rok. Metadáta katalógu nie vždy sedeli s dátami (napr. uvedený rozsah rokov).
- Zdroj dát treba overiť pred kick-offom. Staršia databáza DATAcube, s ktorou sme počítali, skončila 15. 9. 2026. Hneď v prvý deň sme prešli na STATdata.
- Testovacia sada napísaná pred vývojom sa oplatila: tri verzie promptu sme porovnali číslami a našli sme regresiu.
Kde sa to dá použiť
- Asistent „opýtajte sa svojich dát” nad tabuľkami alebo reportmi, ktoré inštitúcia už zverejňuje.
- Interný asistent, ktorý vo firemných dátach nájde správny report, dashboard alebo tabuľku a ukáže zdroj.
- Nástroj pre zákaznícku podporu alebo redakciu, ktorý na otázku „aké je číslo pre X” odpovie grafom a odkazom, nie odsekom, ktorému treba slepo veriť.
- Rovnaký princíp (AI vyberá, kód počíta, každá odpoveď má zdroj) pre akýkoľvek katalóg, v ktorom sa ľudia strácajú medzi podobnými tabuľkami.
Pre koho
Pre vlastníkov a vydavateľov verejných dát, analytikov a tímy, ktorých ľudia sa stále pýtajú „v ktorej tabuľke je moje číslo?“.
Otázky ukladáme bez IP adresy 30 dní, aby sme podľa nich vyhodnotili a zlepšili experiment. IP adresu používame len krátkodobo na obmedzenie počtu dopytov a neukladáme ju. Nepíšte do otázok osobné údaje.