zkt25/sk1/README.md

1.7 KiB

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:

CREATE TABLE IF NOT EXISTS history (
    id SERIAL PRIMARY KEY,
    text TEXT NOT NULL,
    prediction TEXT NOT NULL,
    timestamp TIMESTAMP NOT NULL
);```