methodya commited on
Commit
bd98d2c
·
verified ·
1 Parent(s): 1e60058

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
+ import torch
4
+
5
+ # تهيئة النموذج
6
+ model_name = "google/gemma-2b-it"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+
10
+ if torch.cuda.is_available():
11
+ model = model.to('cuda')
12
+
13
+ def generate_summary(text):
14
+ prompt = f"""قم بتلخيص النص التالي بطريقتين:
15
+ 1. ملخص مترابط: اكتب فقرة واحدة مترابطة باستخدام كلمات الربط المناسبة
16
+ 2. نقاط رئيسية: اكتب النقاط الرئيسية مسبوقة بـ "**ــ**"
17
+
18
+ قواعد التلخيص:
19
+ - تقليل 8 كلمات من كل فقرة
20
+ - الحفاظ على المعنى الأساسي والسياق
21
+ - التلخيص بأسلوب علمي وواضح
22
+
23
+ النص الأصلي:
24
+ {text}
25
+ """
26
+
27
+ inputs = tokenizer(prompt, return_tensors="pt")
28
+ if torch.cuda.is_available():
29
+ inputs = inputs.to('cuda')
30
+
31
+ outputs = model.generate(
32
+ **inputs,
33
+ max_length=1024,
34
+ temperature=0.7,
35
+ top_k=50,
36
+ top_p=0.95,
37
+ num_return_sequences=1
38
+ )
39
+
40
+ summary = tokenizer.decode(outputs[0], skip_special_tokens=True)
41
+ return summary
42
+
43
+ # إنشاء واجهة Gradio
44
+ interface = gr.Interface(
45
+ fn=generate_summary,
46
+ inputs=gr.Textbox(label="أدخل النص المراد تلخيصه", lines=10, dir="rtl"),
47
+ outputs=gr.Textbox(label="الملخص", lines=10, dir="rtl"),
48
+ title="خدمة تلخيص النصوص العربية",
49
+ description="يقوم هذا النموذج بتلخيص النصوص العربية مع الحفاظ على المعنى الأساسي",
50
+ examples=[
51
+ ["قم بإضافة نص مثال هنا للتجربة السريعة"]
52
+ ],
53
+ theme=gr.themes.Soft()
54
+ )
55
+
56
+ interface.launch()