"""Simple web UI for the hate speech classifier using Flask."""
from flask import Flask, request, jsonify
from inference import load_model, predict
app = Flask(__name__)
model, tokenizer, device = load_model()
HTML = """
Hate Speech Detector
Hate Speech Detector
"""
@app.route("/")
def index():
return HTML
@app.route("/predict", methods=["POST"])
def predict_route():
text = request.json.get("text", "")
if not text.strip():
return jsonify({"error": "No text provided"}), 400
result = predict(text, model, tokenizer, device)
return jsonify(result)
if __name__ == "__main__":
import os
port = int(os.environ.get("PORT", 5000))
host = "0.0.0.0" if "PORT" in os.environ else "127.0.0.1"
print(f"\n Serving on http://{host}:{port}\n")
app.run(host=host, port=port, debug=False)