salalah commited on
Commit
2ad8bbc
·
verified ·
1 Parent(s): b2b607e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -1,24 +1,31 @@
1
  import streamlit as st
2
- from transformers import (
3
- AutoTokenizer,
4
- AutoModelForSequenceClassification,
5
- # ... استيراد النماذج والوظائف الأخرى التي تحتاجها
6
- )
7
 
8
  # تحميل النموذج والمُميز
9
- tokenizer = AutoTokenizer.from_pretrained("model_name")
10
- model = AutoModelForSequenceClassification.from_pretrained("model_name")
 
 
 
11
 
12
- # واجهة المستخدم (Streamlit)
13
- st.title("تطبيق معالجة اللغة الطبيعية")
14
- text_input = st.text_area("أدخل نصًا:")
15
 
16
- if text_input:
17
- # معالجة النص باستخدام النموذج
18
- inputs = tokenizer(text_input, return_tensors="pt")
19
- outputs = model(**inputs)
20
 
21
- # عرض النتائج
22
- st.write("النتائج:")
23
- # ... عرض النتائج بالشكل المناسب
 
 
 
 
 
24
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
+ import torch
 
 
 
4
 
5
  # تحميل النموذج والمُميز
6
+ @st.cache_resource # تخزين مؤقت لتحسين الأداء
7
+ def load_model_and_tokenizer():
8
+ tokenizer = AutoTokenizer.from_pretrained("aubmindlab/bert-base-arabertv02")
9
+ model = AutoModelForSequenceClassification.from_pretrained("aubmindlab/bert-base-arabertv02")
10
+ return tokenizer, model
11
 
12
+ tokenizer, model = load_model_and_tokenizer()
 
 
13
 
14
+ # واجهة المستخدم
15
+ st.title("AraBERT Demo - تصنيف النصوص العربية")
16
+ text_input = st.text_area("أدخل نصًا عربيًا:")
 
17
 
18
+ if st.button("صنف"):
19
+ if text_input:
20
+ # معالجة النص وتصنيفه
21
+ inputs = tokenizer(text_input, return_tensors="pt", truncation=True, padding=True)
22
+ with torch.no_grad(): # تعطيل حساب التدرجات لتوفير الذاكرة
23
+ outputs = model(**inputs)
24
+ logits = outputs.logits
25
+ predicted_class_id = logits.argmax().item()
26
 
27
+ # عرض النتائج (هنا تحتاج إلى تحديد التصنيفات المناسبة لمهمتك)
28
+ labels = ["تصنيف 1", "تصنيف 2", "تصنيف 3"] # استبدل بالتصنيفات الفعلية
29
+ st.write(f"التصنيف المتوقع: {labels[predicted_class_id]}")
30
+ else:
31
+ st.warning("يرجى إدخال نص.")