clickbait-demo / app.py
Ma120's picture
Create app.py
3dd3f90 verified
import gradio as gr
import joblib
from huggingface_hub import hf_hub_download
# --- 1. تحميل النموذج الخاص بك من مستودعك ---
REPO_ID = "Ma120/clickbait-detector"
FILENAME = "clickbait_model.pkl"
print(f"Loading model {FILENAME} from {REPO_ID}...")
model_path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
model = joblib.load(model_path)
print("Model loaded successfully.")
# --- 2. تعريف الدالة التي ستنفذ التصنيف ---
def classify_headline(headline):
prediction = model.predict([headline])[0]
probabilities = model.predict_proba([headline])[0]
if prediction == 1:
confidences = {
"Clickbait": float(probabilities[1]),
"Not Clickbait": float(probabilities[0])
}
else:
confidences = {
"Not Clickbait": float(probabilities[0]),
"Clickbait": float(probabilities[1])
}
return confidences
# --- 3. بناء الواجهة الرسومية ---
inputs = gr.Textbox(
label="Enter a Headline:",
placeholder="e.g., You Won't Believe What Happens Next!"
)
outputs = gr.Label(label="Result", num_top_classes=2)
demo = gr.Interface(
fn=classify_headline,
inputs=inputs,
outputs=outputs,
title="Clickbait Detector",
description="Enter a news headline to see if it's clickbait or not. Model trained by Ma120."
)
# --- 4. تشغيل الواجهة ---
demo.launch()