methodya commited on
Commit
e77ecae
·
verified ·
1 Parent(s): abbf779

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +77 -0
app.py ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
+ import torch
4
+ import os
5
+ from huggingface_hub import login
6
+
7
+ # تسجيل الدخول
8
+ login(token=os.environ.get('HUGGING_FACE_HUB_TOKEN'))
9
+
10
+ # تهيئة النموذج
11
+ model_name = "google/gemma-2b-it"
12
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
13
+ model = AutoModelForCausalLM.from_pretrained(
14
+ model_name,
15
+ torch_dtype=torch.float16, # استخدام الدقة النصفية لتسريع الأداء
16
+ )
17
+
18
+ device = 'cuda' if torch.cuda.is_available() else 'cpu'
19
+ model = model.to(device)
20
+
21
+ def generate_summary(text):
22
+ prompt = f"""اكتب تلخيصاً موجزاً ومنظماً للنص التالي في نقطتين:
23
+
24
+ 1. ملخص موجز في فقرة واحدة فقط
25
+ 2. أهم 3 أفكار رئيسية
26
+
27
+ النص:
28
+ {text}
29
+ """
30
+
31
+ inputs = tokenizer(
32
+ prompt,
33
+ return_tensors="pt",
34
+ truncation=True,
35
+ max_length=512
36
+ ).to(device)
37
+
38
+ outputs = model.generate(
39
+ **inputs,
40
+ max_length=512,
41
+ temperature=0.5,
42
+ top_k=20,
43
+ top_p=0.9,
44
+ do_sample=True,
45
+ no_repeat_ngram_size=2,
46
+ pad_token_id=tokenizer.eos_token_id
47
+ )
48
+
49
+ return tokenizer.decode(outputs[0], skip_special_tokens=True)
50
+
51
+ css = """
52
+ .rtl-text { direction: rtl; text-align: right; }
53
+ .container { max-width: 800px; margin: auto; }
54
+ """
55
+
56
+ # واجهة مبسطة
57
+ interface = gr.Interface(
58
+ fn=generate_summary,
59
+ inputs=gr.Textbox(
60
+ label="النص المراد تلخيصه",
61
+ lines=8,
62
+ placeholder="أدخل النص هنا...",
63
+ elem_classes="rtl-text"
64
+ ),
65
+ outputs=gr.Textbox(
66
+ label="الملخص",
67
+ lines=8,
68
+ elem_classes="rtl-text"
69
+ ),
70
+ title="ملخص النصوص العربية",
71
+ description="يقوم هذا النموذج بتلخيص النص وإبراز أهم الأفكار الرئيسية",
72
+ theme=gr.themes.Soft(),
73
+ css=css,
74
+ examples=[["الذكاء الاصطناعي تقنية ثورية تغير العالم وتستخدم في مجالات متعددة كالطب والتعليم والصناعة، مما يسهم في تحسين حياة البشر وحل المشكلات المعقدة."]]
75
+ )
76
+
77
+ interface.launch()