NassimeBejaia commited on
Commit
d2e9bfa
·
verified ·
1 Parent(s): bec2841

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -0
app.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import pipeline
3
+
4
+ # تحميل النموذج مرة واحدة فقط
5
+ @st.cache_resource
6
+ def load_generator():
7
+ return pipeline("text-generation", model="aubmindlab/aragpt2-base", device=-1) # استخدام CPU
8
+
9
+ # تحميل نموذج التوليد
10
+ generator = load_generator()
11
+
12
+ # عنوان التطبيق
13
+ st.title("مُحسِّن الجمل العربية والدردشة")
14
+
15
+ # --- قسم تحسين الجمل ---
16
+ st.subheader("تحسين جملة عربية")
17
+ user_input = st.text_input("أدخل جملة عربية لتحسينها:", "أنا ذهبت الحديقة")
18
+
19
+ if st.button("تحسين الجملة"):
20
+ if user_input:
21
+ # توليد الرد
22
+ prompt = f"صحح هذه الجملة العربية وأجب فقط باللغة العربية: '{user_input}'"
23
+ try:
24
+ response = generator(prompt, max_new_tokens=50, temperature=0.7)[0]["generated_text"]
25
+ # نحاول استخراج الجملة المصححة
26
+ corrected_sentence = response.replace(prompt, "").strip()
27
+ st.session_state.corrected_sentence = corrected_sentence
28
+ st.success(f"✅ الجملة المحسّنة: {corrected_sentence}")
29
+ except Exception as e:
30
+ st.error(f"❌ حدث خطأ: {str(e)}")
31
+ else:
32
+ st.warning("⚠️ الرجاء إدخال جملة أولاً!")
33
+
34
+ # --- قسم الدردشة ---
35
+ st.subheader("الدردشة حول الجملة المحسّنة")
36
+
37
+ if "corrected_sentence" in st.session_state:
38
+ chat_input = st.text_input("اطرح سؤالاً عن الجملة المحسّنة:", key="chat_input")
39
+ if st.button("إرسال"):
40
+ if chat_input:
41
+ # توليد المحادثة
42
+ prompt = (
43
+ f"الجملة المصححة هي: '{st.session_state.corrected_sentence}'. "
44
+ f"سؤال المستخدم: '{chat_input}'. "
45
+ f"أجب فقط باللغة العربية الفصحى، ولا تستخدم أي كلمات إنجليزية."
46
+ )
47
+ try:
48
+ response = generator(prompt, max_new_tokens=100, temperature=0.7)[0]["generated_text"]
49
+ reply = response.replace(prompt, "").strip()
50
+ st.write(f"🧑‍💬 **المستخدم:** {chat_input}")
51
+ st.write(f"🤖 **المساعد:** {reply}")
52
+ except Exception as e:
53
+ st.error(f"❌ حدث خطأ أثناء المحادثة: {str(e)}")
54
+ else:
55
+ st.warning("⚠️ الرجاء كتابة سؤال!")
56
+ else:
57
+ st.info("💬 يرجى تحسين جملة أولاً للبدء في الدردشة.")