methodya commited on
Commit
6b89276
ยท
verified ยท
1 Parent(s): c2879e8

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
3
+
4
+ # ุชู‡ูŠุฆุฉ ุงู„ู†ู…ูˆุฐุฌ
5
+ model = AutoModelForSeq2SeqLM.from_pretrained("methodya/arabic-summarizer-philosophy")
6
+ tokenizer = AutoTokenizer.from_pretrained("methodya/arabic-summarizer-philosophy")
7
+
8
+ def summarize(text, max_length=150, num_beams=7, length_penalty=0.8):
9
+ # ุชุญูˆูŠู„ ุงู„ู‚ูŠู… ุฅู„ู‰ ุงู„ู†ูˆุน ุงู„ู…ู†ุงุณุจ
10
+ max_length = int(max_length)
11
+ num_beams = int(num_beams)
12
+ length_penalty = float(length_penalty)
13
+
14
+ # ุชุฌู‡ูŠุฒ ุงู„ุจูŠุงู†ุงุช ู„ู„ู†ู…ูˆุฐุฌ
15
+ inputs = tokenizer(text, return_tensors="pt", max_length=2048, truncation=True)
16
+
17
+ outputs = model.generate(
18
+ **inputs,
19
+ max_length=max_length,
20
+ num_beams=num_beams,
21
+ length_penalty=length_penalty,
22
+ early_stopping=True
23
+ )
24
+
25
+ return tokenizer.decode(outputs[0], skip_special_tokens=True)
26
+
27
+ css = """
28
+ .gradio-container {background: #f9fafb !important}
29
+ .rtl-text {
30
+ direction: rtl;
31
+ text-align: right;
32
+ font-family: Arial, sans-serif;
33
+ }
34
+ """
35
+
36
+ interface = gr.Interface(
37
+ fn=summarize,
38
+ inputs=[
39
+ gr.Textbox(lines=8, label="ุงู„ู†ุต", elem_classes="rtl-text"),
40
+ gr.Slider(50, 250, value=150, label="ุทูˆู„ ุงู„ู…ู„ุฎุต"),
41
+ gr.Slider(1, 10, value=7, step=1, label="ุฏู‚ุฉ ุงู„ุชู„ุฎูŠุต (num_beams)"),
42
+ gr.Slider(0.1, 2.0, value=0.8, step=0.1, label="ู…ุนุงู…ู„ ุงู„ุทูˆู„")
43
+ ],
44
+ outputs=gr.Textbox(label="ุงู„ู…ู„ุฎุต", elem_classes="rtl-text"),
45
+ title="ู…ู„ุฎุต ุงู„ู†ุตูˆุต ุงู„ูู„ุณููŠุฉ",
46
+ theme=gr.themes.Soft(),
47
+ css=css
48
+ )
49
+
50
+ interface.launch()