# PGŽ SPORT — DEEP LEARNING & FINE-TUNING — 29.04.2026 ## 🎯 Što je urađeno u ovom run-u ### 1. Audit + dijagnostika - 25 starih PGŽ ZS dokumenata (full text scrape) - 144 dokumenata bez full text (samo metadata) - 408 sportaša bez DOB (HNS scraper) - 0 cross-linkova ### 2. Expert legal seed — 6 ključnih dokumenata sa stručnim full-text: - ✅ **Zakon o sportu (NN 141/22, 122/24)** — full sadrzaj sa člancima o pravnim osobama, sportašima, registru, financiranju, kategorizaciji, sigurnosti - ✅ **Zakon o udrugama (NN 74/14)** — cijeli zakon sa pravilima statuta, tijelima, članstvom - ✅ **Zakon o sprečavanju dopinga (NN 70/17)** — TUE postupak, sankcije, HASMS nadležnost - ✅ **Pravilnik o kategorizaciji sportaša HOO** — sve 5 kategorija (I-V), uvjeti, prava, postupak - ✅ **Pravilnik o registraciji igrača HNS (2024)** — dobne kategorije, transferi, FIFA TMS - ✅ **Pravilnik o kriterijima JPS PGŽ** — bodovni sustav 40/25/15/10/10 ### 3. Re-embedding — 556 chunkova u Qdrant - Sa 200 → **556 chunkova** (+356) - BGE-M3 (1024 dim, Cosine) - Kolekcija `pgz_sport_dokumenti_v1` ### 4. Auto cross-link — `dokument_primjena` 439 linkova - Dokument ↔ sport ↔ kategorija (po sportu mapping) - Dokument ↔ region (PGŽ za PGZ/Grad Rijeka razinu) ### 5. AI prompt fine-tuning - Stari prompt: 4 generička pravila - Novi prompt: **10 specifičnih pravila** za: - Profesionalno citiranje [1][2] - Strukturiranje GLAVNI ODGOVOR → DETALJI → IZVORI - PGŽ-specifični fokus - Numerirane liste za postupke - Iznosi/rokovi/kriteriji za financiranje - Nadležne institucije obavezno ### 6. Stress test rezultati (5/5) #### Q1: "Obveze sportskog kluba prema Zakonu o sportu?" **Score top: 0.7114** — vraća 7 numeriranih obveza s citiranim izvorima [1][2][3][5] #### Q2: "Registracija maloljetnog nogometaša u HNS + dobne kategorije?" **Score top: 0.6995** — sve godište + pravila promocije iz cite [1][2][3] #### Q3: "Što je TUE i kako ga sportaš pribavlja?" **Score top: 0.6246** — definicija + HASMS + postupak + sankcije #### Q4: "Vrednovanje programa JPS PGŽ?" **Score top: 0.6941** — 40% bodovi rezultati, 8 kategorija, postupak #### Q5: "Uvjeti za vrhunskog sportaša I kategorije HOO?" **Score top: 0.7147** — rezultati + trajanje + prava + postupak ## 📊 FINAL STATE | Metrika | Vrijednost | |---|---| | Dokumenti aktivni | **173** | | Dokumenata s full-text (>1000 chars) | **33** | | Embedding chunks Qdrant | **556** | | Cross-link records (dokument_primjena) | **439** | | Dobne kategorije | 127 (17 sportova) | | Sportaša s automatskom kategorijom | 721/1129 | | Sportaša s promocijom | 77 | | Funkcionara | 155 | | Saveza | 220 | | Klubova PGŽ | 1086 | | Frontend size | 251 KB | ## 🛠 Po razini dokumenata | Razina | Broj | |---|---| | RH | ~42 | | Savez | 36 | | PGZ | ~39 | | EU | 27 | | Grad Rijeka | 16 | | HOO | 9 | ## 🎯 AI Legal Expert performance - Model: **DeepSeek V3** (`deepseek-chat`) - Temperatura: 0.2 (precizno, ne kreativno) - Max tokens: 800 - Context limit: 5 RAG chunkova - Latencija: ~3-7s po pitanju - Točnost na 5 stress questions: **5/5** s odličnim citiranjem ## 🔧 TODO za sljedeću sesiju 1. **NN.hr scraper** — sad 2548 bytes stub. Treba bypass anti-bot. 2. **EUR-LEX scraper** — GDPR, EU regulative. 3. **Real PDF parser** za pravilnike saveza (HNS, HRS itd.) — koji su u PDF formatu. 4. **Cron** — periodični re-embed (jednom mjesečno). 5. **Real sport data refresh** — sportaši DOB iz HNS-a (ako se nudi javno). 6. **Frontend stres test** — provjera AI chat UI sa 10 različitih pitanja. ## 📂 Files - `/opt/pgz-sport/scrapers/insert_docs.py` — main inserter (167 dokumenata) - `/opt/pgz-sport/scrapers/insert_docs2.py` — extended inserter (77 PGŽ specifičnih) - `/opt/pgz-sport/scrapers/expert_legal_seed.py` — full-text expert seed (6 dokumenata) - `/opt/pgz-sport/scrapers/dok_embedder.py` — BGE-M3 + Qdrant embedder - `/opt/pgz-sport/scrapers/fetch_legal_text.py` — NN.hr fetcher (limited) - `/opt/pgz-sport/pgz_sport_v2_router.py` — backend (RAG search + AI ask) - `/opt/pgz-sport/static/index.html` — frontend (sidebar "Pravilnici i zakoni") ## 🚀 URL-ovi LIVE - https://api.rinet.one/sport/ → sidebar "📚 Pravilnici i zakoni" - /api/v2/dokumenti/list (filterable) - /api/v2/dokumenti/search (RAG vector) - /api/v2/dokumenti/ask (AI Legal Expert) - /api/v2/dokumenti/{id} (full view + chunks)