Files
pgz-sport/_handoff/HANDOFF_20260429_1406_HYBRID_AGENT.md

2.1 KiB

PGŽ SPORT — HYBRID AI AGENT — 29.04.2026 final

🎯 SPRINT GOTOV — Hybrid SQL+RAG agent operativan

Što je novo

  • /api/v2/ai/ask — hybrid endpoint
  • DeepSeek V3 klasificira pitanje: SQL / RAG / BOTH
  • Generira SELECT, izvršava sigurnosno (samo SELECT, bez UPDATE/DELETE/DROP)
  • RAG nastavlja raditi za zakone/pravilnike
  • Frontend chat (Pravilnici i zakoni) sad pokazuje MODE badge + generated SQL

6/6 stress test

  1. "Tko je trener HNK Rijeke?" → SQL · 2 retka · Radomir Đalović (UEFA Pro), Roberto Vlatković (UEFA A)
  2. "Sportski objekti Crikvenica?" → SQL · 5 retka · Boćalište, Sport+ Centar, SC Crikvenica, Kuglana
  3. "Sponzori HNK Rijeka?" → SQL · 5 · Hrvatski Telekom, Croatia osiguranje, PostaPlus, Kraljevica grupa, Erste
  4. "Suci nogometa PGŽ?" → SQL · 5 · Ivan Bebek (FIFA Elite), Igor Pajač, Mario Zebec, Marin Kos, Tomislav Brnčić
  5. "Najbolji 2025?" → SQL · 2 · Ema Sgardelli, Petar Klovar
  6. "Obveze klubova po Zakonu o sportu?" → RAG · 5 izvora · obveze, registar, evidencija

Final master state (21 kategorija u DB)

  • 1129 sportaša (721 s automatskom kategorijom)
  • 1086 klubova PGŽ
  • 220 saveza
  • 60 sportskih objekata
  • 27 sudaca, 30 trenera, 22 sponzorska ugovora
  • 15 medija, 11 akademski klubovi UNIRI
  • 366 natjecanja, 113 manifestacija, 22 najboljih sportaša
  • 182 potpore (€219.200 u 2026)
  • 166 statistika saveza godišnja
  • 286 vijesti
  • 176 pravnih dokumenata, 38 s full text
  • 574 embed chunks Qdrant pgz_sport_dokumenti_v1
  • 439 cross-linkova
  • 127 dobnih kategorija (17 sportova)
  • 5017 utakmica

Sigurnost SQL agenta

  • Samo SELECT
  • Pgz_sport.* whitelist
  • Block: UPDATE, DELETE, INSERT, DROP, ALTER, CREATE, TRUNCATE, GRANT, REVOKE, EXEC
  • LIMIT max 30
  • Direct cursor execution (no parameter % collision)

TODO sljedeći sprint

  1. Real PDF parser za 138 dokumenata bez full text (NN.hr alternative scraper)
  2. OIB enrichment 1106 sportaša (Sudreg)
  3. Klub kontakti za preostalih 1072 (web/tel/email)
  4. Memory layer — AI agent pamti prošla pitanja u sesiji
  5. Multi-turn conversation — follow-up pitanja
  6. Streaming odgovor (SSE)