MakD1227's picture
Update app.py
2f923fa verified
import gradio as gr
from transformers import pipeline
# ----------------------------------
# Load model from Hugging Face Hub
# ----------------------------------
MODEL_REPO = "MakD1227/afriberta-hsd-full"
classifier = pipeline(
"text-classification",
model=MODEL_REPO,
tokenizer=MODEL_REPO
)
# ----------------------------------
# Prediction function
# ----------------------------------
def predict_speech(text):
results = classifier(text)
label_map = {
"LABEL_0": "Free (Neutral)",
"LABEL_1": "Offensive",
"LABEL_2": "Hate"
}
label = results[0]["label"]
score = results[0]["score"]
return label_map.get(label, label), f"{score * 100:.2f}%"
# ----------------------------------
# Gradio Interface
# ----------------------------------
demo = gr.Interface(
fn=predict_speech,
inputs=gr.Textbox(
lines=2,
label="Input Text",
placeholder="Enter Amharic or Afan Oromo text..."
),
outputs=[
gr.Label(label="Classification"),
gr.Text(label="Confidence")
],
title="Amharic & Afan Oromo Hate Speech Detector",
description="Classify text into Free, Offensive, or Hate Speech",
article="""
<p style='text-align:center;'>© 2025 Mequanent Degu Belete</p>
<p style='text-align:center;'>mekuanentde@gmail.com</p>
<p style='text-align:center;'>SNHCC, Academia Sinica, Taiwan</p>
""",
examples=[
["ኢትዮጵያ ለዘላለም ትኑር"],
["haatee sali shamtuu situ nuu beekaa waa ee baalee"]
]
)
if __name__ == "__main__":
demo.launch()