Brandýs-Boleslav
Začni psát pro vyhledávání...

AI Analýza Úřední Desky

AI Analýza Úřední Desky

Automatické zpracování a analýza dokumentů z úřední desky pomocí umělé inteligence.

Jak to funguje

  1. GitHub Actions workflow běží 3× denně (7:00, 13:00, 19:00 CET)
  2. Stahuje nová data z úřední desky Brandýs-Boleslav
  3. Identifikuje nové dokumenty které ještě nebyly zpracovány
  4. Extrahuje text z PDF (prvních 5 stran pro analýzu)
  5. Analyzuje pomocí AI (OpenRouter.ai - Claude Haiku 4.5)
  6. Generuje detailní stránky pro každý dokument

Co AI extrahuje

Pro každý dokument získáme:

  • Souhrn - stručné shrnutí obsahu (2-3 věty)
  • Kategorie - automatická kategorizace dokumentu
  • Dotčené obce - které obce jsou v dokumentu zmíněny
  • Klíčová slova - 3-5 důležitých termínů
  • Adresy - konkrétní místa/ulice pokud jsou uvedeny
  • Termíny - důležité datumy a lhůty
  • Dopady - jak dokument ovlivní občany

Příklad výstupu:

{
  "souhrn": "Přechodná uzavírka ulice Pod Hájem v Brandýse z důvodu opravy vodovodu. Uzavírka potrvá od 5.11. do 15.11.2025.",
  "kategorie": "doprava",
  "dotcene_obce": ["Brandýs-Boleslav", "Zdiby"],
  "klicova_slova": ["uzavírka", "vodovod", "oprava"],
  "adresy": ["ul. Pod Hájem, Brandýs"],
  "terminy": ["5.11.2025 - 15.11.2025"],
  "dopady": "Dopravní komplikace v dané lokalitě, nutnost objízdné trasy pro rezidenty."
}

Struktura souborů

brandys-pirati/
├── .github/workflows/
│   └── uredni-deska-analyzer.yml    # GitHub Actions workflow
├── scripts/
│   └── analyze_uredni_deska.py      # Python skript pro analýzu
├── _uredni-deska/                   # Jekyll kolekce - detailní stránky
│   └── [doc_id]-[slug].md           # Generované stránky
├── _layouts/
│   └── uredni-deska-detail.html     # Layout pro detail dokumentu
├── uredni-deska/
│   ├── index.html                   # Hlavní přehled
│   ├── app.js                       # JavaScript pro filtrování
│   ├── data.json                    # JSON data (generováno při buildu)
│   └── processed.json               # Sledování zpracovaných dokumentů
└── requirements.txt                 # Python dependencies

Nastavení

1. OpenRouter.ai API klíč

  1. Registruj se na OpenRouter.ai
  2. Získej API klíč
  3. V GitHub repozitáři:
    • Settings → Secrets and variables → Actions
    • New repository secret
    • Name: OPENROUTER_API_KEY
    • Value: sk-or-v1-...

2. Spuštění

Workflow se spouští automaticky 3× denně nebo můžeš spustit manuálně:

  1. GitHub → Actions tab
  2. “Úřední deska - AI analýza dokumentů”
  3. Run workflow → Run workflow

3. Monitoring

Sleduj výsledky v:

  • Actions tab → workflow runs
  • Commitované změny v _uredni-deska/
  • uredni-deska/processed.json

Náklady

Model: anthropic/claude-haiku-4.5

Odhad nákladů:

  • Cena: ~$0.00008 za 1K input tokenů
  • Průměrný dokument: ~5000 tokenů (5 stran PDF)
  • Náklady na dokument: ~$0.0004 (0.4¢)

Měsíční náklady:

  • 100 dokumentů/měsíc: ~$0.04 (1 Kč)
  • 1000 dokumentů/měsíc: ~$0.40 (10 Kč)
  • Stále velmi levné!

Detailní stránky dokumentů

Každý dokument má vlastní stránku na URL:

https://www.brandysboleslav.cz/uredni-deska/{doc_id}/

Obsah detail stránky:

  • AI Souhrn - zvýrazněný na začátku
  • Metadata - číslo jednací, odbor, termíny
  • Analýza:
    • Dopad na občany
    • Dotčená místa
    • Důležité termíny
    • Dotčené obce
    • Klíčová slova
  • Dokumenty ke stažení
  • Zpět na přehled - link

Troubleshooting

Workflow selhal

  1. Zkontroluj Actions log
  2. Ověř že OPENROUTER_API_KEY je nastaven
  3. Zkontroluj že API má credit

PDF se nepodařilo extrahovat

  • Některá PDF jsou skenované obrázky → text nejde extrahovat
  • V tom případě AI analyzuje pouze metadata
  • Pro OCR by bylo potřeba rozšířit o pytesseract

AI vrátila špatný formát

  • Model občas vrátí text místo JSON
  • Skript má fallback - přeskočí dokument
  • Zkontroluj log a případně uprav prompt

Rozšíření

Možná vylepšení:

  1. OCR pro skenované PDF - pytesseract
  2. Fulltextové vyhledávání - ElasticSearch/Algolia
  3. Email notifikace - alert při nových dokumentech
  4. Webhooks - automatické sdílení na sociální sítě
  5. Lokální LLM - Llama 3.1 8B pro soukromí

License

MIT - volně použitelné pro další obce.