Spaces:
Sleeping
Sleeping
| 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() |