Aziz-Storage / app.py
Aziz-AI98's picture
Update app.py
3271809 verified
Raw
History Blame Contribute Delete
1.98 kB
import gradio as gr
from transformers import pipeline
# تحميل النماذج بشكل آمن متوافق مع السيرفر السحابي
try:
classifier_en = pipeline("text-classification", model="distilbert-base-uncased")
classifier_ar = pipeline("text-classification", model="CAMeL-Lab/bert-base-arabic-camelbert-mix")
except Exception as e:
print(f"Error loading models: {e}")
# الدالة الأساسية لمعالجة النصوص وتوقع الإجهاد
def predict_stress(text):
if not text.strip():
return "الرجاء إدخال نص للتحليل."
# تحديد لغة النص المسلمة (عربي أم إنجليزي) بشكل مبسط
is_arabic = any("\u0600" <= char <= "\u06FF" for char in text)
try:
if is_arabic:
res = classifier_ar(text)[0]
else:
res = classifier_en(text)[0]
label = res['label']
score = res['score'] * 100
return f"النتيجة: {label} (نسبة التأكد: {score:.2f}%)"
except Exception as e:
return f"حدث خطأ أثناء التحليل: {str(e)}"
# بناء واجهة المستخدم باستخدام Gradio
with gr.Blocks() as demo:
gr.Markdown("# 🧠 نظام التنبؤ بمستويات الإجهاد النفسي باستخدام الذكاء الاصطناعي")
with gr.Row():
input_text = gr.Textbox(label="أدخل النص المراد تحليله (يدعم العربية والإنجليزية)", placeholder="اكتب شعورك هنا...")
with gr.Row():
output_text = gr.Textbox(label="تحليل النظام")
submit_btn = gr.Button("تحليل النص")
submit_btn.click(fn=predict_stress, inputs=input_text, outputs=output_text)
# تشغيل الواجهة (يجب تركها فارغة تماماً لتعمل على السيرفر)
demo.launch()