# Hate Speech Detector ## 1. Opis čo robí aplikácia Aplikácia **Hate Speech Detector** slúži na analýzu zadaného textu s cieľom určiť, či ide o nenávistný alebo neutrálny obsah. Využíva trénovaný model umelej inteligencie na klasifikáciu textov. Používateľ môže cez webové rozhranie zadať ľubovoľný text a aplikácia okamžite vráti klasifikáciu spolu s možnosťou zobrazenia histórie. Všetky predikcie sa ukladajú do databázy PostgreSQL a zároveň sa synchronizujú do súboru `history.json`, ktorý frontend využíva ako zdroj na zobrazenie histórie. Okrem predikcie aplikácia poskytuje aj REST API na správu histórie a jej vymazanie. Webové rozhranie aj API sú zabezpečené cez HTTPS. Model bol trénovaný na slovenskom datasete s využitím metódy LoRA (PEFT), čo umožnilo efektívne doladenie modelu s minimálnym počtom trénovateľných parametrov. --- ## 2. Slovný opis použitého verejného klaudu a objektov - **Cloud**: Google Cloud Platform (GCP) - **Služby GCP**: - **Google Cloud Run**: hostovanie kontajnera s Flask backendom a React frontendom - **Artifact Registry**: uložisko pre Docker image - **Cloud SQL (PostgreSQL)**: relačná databáza na uchovanie predikcií - **Docker objekty**: - Multistage `Dockerfile`: - `node:18` na build React aplikácie - `python:3.10-slim` pre backend (Flask + transformers) - Frontend sa kopíruje do `/app/static/` - **Trvalý zväzok**: - Cloud SQL PostgreSQL a `history.json` ### Štruktúra tabuľky `history`: ```sql CREATE TABLE IF NOT EXISTS history ( id SERIAL PRIMARY KEY, text TEXT NOT NULL, prediction TEXT NOT NULL, timestamp TIMESTAMP NOT NULL );