GhadaAlothman commited on
Commit
0d14ca9
·
verified ·
1 Parent(s): 4f9c223

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -10
app.py CHANGED
@@ -5,14 +5,11 @@ import re
5
  from typing import Dict
6
  import textstat
7
 
8
- # ---------- تحميل الموديل ----------
9
- MODEL_PATH = "GhadaAlothman/arabert_readability_3class" # بعد شوي نشرح كيف ترفعين مودلك له
10
-
11
  tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
12
  model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
13
  model.eval()
14
 
15
- # ---------- كود التحليل الإحصائي ----------
16
  DIACRITICS = re.compile(r"[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06ED]")
17
  AR_LETTERS = r"[\u0600-\u06FF]"
18
  SENT_SEP = re.compile(r"[\.!\?؟؛…]+")
@@ -46,19 +43,20 @@ def analyze_text(text):
46
  outputs = model(**inputs)
47
  probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
48
  label_id = torch.argmax(probs, dim=1).item()
49
-
50
  label_map = {0: "سهل", 1: "متوسط", 2: "صعب"}
51
  label = label_map[label_id]
52
  stats = compute_metrics(text)
53
- return f"🔹 التصنيف: {label}\n\n" + "\n".join([f"{k}: {v}" for k,v in stats.items()])
54
 
 
 
55
  demo = gr.Interface(
56
  fn=analyze_text,
57
- inputs=gr.Textbox(label="أدخل النص العربي هنا", lines=6, placeholder="ألصق النشرة أو النص العربي هنا..."),
58
- outputs=gr.Textbox(label="نتائج التحليل", lines=10),
 
59
  title="Arabic Readability Analyzer",
60
- description="أداة ذكية لتقييم مقروئية النصوص العربية وحساب مؤشراتها الإحصائية باستخدام نموذج AraBERT"
61
  )
62
 
63
  demo.launch(server_name="0.0.0.0", server_port=7860, share=True)
64
-
 
5
  from typing import Dict
6
  import textstat
7
 
8
+ MODEL_PATH = "GhadaAlothman/arabert_readability_3class"
 
 
9
  tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
10
  model = AutoModelForSequenceClassification.from_pretrained(MODEL_PATH)
11
  model.eval()
12
 
 
13
  DIACRITICS = re.compile(r"[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06ED]")
14
  AR_LETTERS = r"[\u0600-\u06FF]"
15
  SENT_SEP = re.compile(r"[\.!\?؟؛…]+")
 
43
  outputs = model(**inputs)
44
  probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
45
  label_id = torch.argmax(probs, dim=1).item()
 
46
  label_map = {0: "سهل", 1: "متوسط", 2: "صعب"}
47
  label = label_map[label_id]
48
  stats = compute_metrics(text)
49
+ return {"Predicted_Label": label, **stats}
50
 
51
+
52
+ # ✅ هذا هو الجزء الجديد اللي يفعّل الـ API فعليًا:
53
  demo = gr.Interface(
54
  fn=analyze_text,
55
+ inputs=gr.Textbox(label="أدخل النص العربي هنا", lines=6),
56
+ outputs=gr.JSON(label="نتائج التحليل"),
57
+ api_name="predict", # <== هذا السطر أهم شي
58
  title="Arabic Readability Analyzer",
59
+ description="أداة ذكية لتقييم مقروئية النصوص العربية باستخدام نموذج AraBERT."
60
  )
61
 
62
  demo.launch(server_name="0.0.0.0", server_port=7860, share=True)