Files
pgz-sport/_handoff/HANDOFF_20260429_1243_DEEP_LEARNING.md

4.4 KiB

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
  • 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
  • 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
  • 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)