Odstranit sk1/README.md

This commit is contained in:
Tetiana Mohorian 2025-04-29 22:39:34 +00:00
parent 75247eb457
commit 4c71ebef2d

View File

@ -1,124 +0,0 @@
# 🧠 Detekcia nenávistnej reči
Webová aplikácia na klasifikáciu textov a detekciu nenávistnej alebo toxickej reči.
---
## Čo aplikácia robí
- Umožňuje používateľovi zadať text cez frontend (React)
- Text sa odosiela na backend (Flask API), kde je analyzovaný pomocou ML modelu
- Výsledok predikcie („Pravdepodobne toxický“ alebo „Neutrálny text“) sa zobrazí používateľovi
- Každá požiadavka sa uloží do `history.json` spolu s časovou pečiatkou
- Endpoint `/api/history` vracia históriu predikcií vo formáte JSON
---
## Použité technológie
### Cloud infraštruktúra [Railway](https://railway.app)
- Automatizované nasadenie z GitHub
- Predkonfigurovaný HTTPS a verejná doména
- Automatická správa buildov, reštartov a logovania
### Docker
- Backend kontajnerizovaný vlastným `Dockerfile` (Flask + model)
- Frontend ako samostatná React služba (build cez Nixpacks alebo Docker)
- Podpora manuálneho spustenia cez `Docker Compose`
### Lokálna a dočasná perzistencia
- `history.json`: lokálna databáza vo forme JSON
- Uchováva: vstupný text, predikciu a čas
- Endpoint: `GET /api/history`
---
## Štruktúra projektu
```
.
├── backend/
│ ├── app.py # Flask API endpointy
│ ├── Dockerfile # Konfigurácia kontajnera pre backend
│ └── history.json # Perzistencia predikcií
├── frontend/
│ └── vite.config.js # Railway doménová konfigurácia
├── docker-compose.yaml # Definuje služby pre frontend a backend
├── prepare-app.sh # Spustenie Docker kontajnerov
├── remove-app.sh # Zastavenie a odstránenie kontajnerov
└── README.md # Dokumentácia projektu
```
## Ako aplikáciu použiť
1. Otvor frontend:
[https://hate-frontend-production.up.railway.app](https://hate-frontend-production.up.railway.app)
2. Zadaj text do vstupného poľa
3. Klikni na tlačidlo ✈️
4. Výsledok sa zobrazí a zároveň uloží do histórie
5. Históriu si môžeš pozrieť cez:
[https://hate-backend-production.up.railway.app/api/history](https://hate-backend-production.up.railway.app/api/history)
### Lokálne spustenie
**Požiadavky:**
- OS: Linux/macOS alebo WSL
- Docker + Docker Compose
```bash
chmod +x prepare-app.sh start-app.sh stop-app.sh remove-app.sh
./prepare-app.sh # Build a príprava kontajnerov
./start-app.sh # Spustenie aplikácie
./stop-app.sh # Zastavenie aplikácie
./remove-app.sh # Úplné vyčistenie aplikácie a odstránenie všetkých kontajnerov
```
## API Endpointy
- `POST /api/predict` predikcia toxickosti zadaného textu
- `GET /api/history` výpis histórie všetkých analyzovaných textov
- `GET /api/history/raw` - surový obsah history.json
- `POST /api/history/reset` - resetovanie a vyčistenie histórie
## Model strojového učenia
- **Názov:** [`tetianamohorian/hate_speech_model`](https://huggingface.co/tetianamohorian/hate_speech_model)
- **Architektúra:** vlastný klasifikačný model trénovaný na báze Slovak-T5-base-small.Model bol vlastnoručne fine-tunovaný na binárnu klasifikáciu textov (toxický vs. neutrálny) s použitím dátovej množiny určenenej na detekciu nenávistnej reči [`TUKE-KEMT/hate_speech_slovak`](https://huggingface.co/datasets/TUKE-KEMT/hate_speech_slovak).
- **Typ:** Encoder-decoder transformer, finetunovaný na binárnu klasifikáciu (toxický / neutrálny)
## Použité knižnice
- `transformers` práca s Hugging Face modelmi
- `torch` tensorový backend
- `flask` API backend
- `flask_cors` povolenie CORS
- `flask_caching` cache výsledkov
## Funkcionality
Projekt demonštruje:
- Nasadenie do cloudu (Railway) ✅
- HTTPS certifikát ✅
- Docker kontajnery pre frontend a backend ✅
- Ukladanie predikcií (JSON) ✅
- Automatické reštarty ✅
- API testovanie ✅
- Kvalitná dokumentácia ✅