sadeghsam commited on
Commit
53448aa
·
verified ·
1 Parent(s): 08b2ff1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -33
app.py CHANGED
@@ -1,41 +1,29 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
- import pandas as pd
4
 
5
- # استفاده از مدل ParsT5 برای تولید خلاصه متون فارسی
6
- summarizer = pipeline("text2text-generation", model="HooshvareLab/parsT5-base")
7
- # استفاده از مدل ParsBERT برای دسته‌بندی (برچسب‌گذاری) متن فارسی
8
- classifier = pipeline("text-classification", model="HooshvareLab/bert-base-parsbert-uncased")
9
 
10
- def process_chats(file_obj):
11
- # خواندن فایل CSV؛ فرض شده ستون 'chat' شامل متن هر چت است.
12
- df = pd.read_csv(file_obj)
13
- summaries = []
14
- tags = []
15
-
16
- for chat in df['chat']:
17
- # افزودن پیشوند برای روشن کردن وظیفه خلاصه‌سازی به مدل
18
- sum_input = "خلاصه کن: " + chat
19
- summary_text = summarizer(sum_input, max_length=130, min_length=30, do_sample=False)[0]['generated_text']
20
-
21
- # دسته‌بندی متن برای اختصاص برچسب
22
- classification = classifier(chat)
23
- tag = classification[0]['label']
24
-
25
- summaries.append(summary_text)
26
- tags.append(tag)
27
-
28
- df['خلاصه'] = summaries
29
- df['برچسب'] = tags
30
- # برگرداندن خروجی به صورت فایل CSV
31
- return df.to_csv(index=False)
32
 
 
33
  iface = gr.Interface(
34
- fn=process_chats,
35
- inputs=gr.File(label="آپلود فایل چت (CSV با ستون 'chat')"),
36
- outputs="file",
37
- title="خلاصه‌سازی و برچسب‌گذاری چت‌های پشتیبانی به زبان فارسی",
38
- description="با آپلود فایل چت (CSV) که شامل ستون 'chat' است، یک نسخه خلاصه‌شده و برچسب‌خورده از چت‌ها دریافت کنید."
 
 
 
39
  )
40
 
41
- iface.launch()
 
 
1
  import gradio as gr
2
  from transformers import pipeline
 
3
 
4
+ # ساخت pipeline تولید متن با مدل GPT-2 فارسی
5
+ generator = pipeline("text-generation", model="HooshvareLab/gpt2-fa")
 
 
6
 
7
+ def generate_text(prompt, max_length):
8
+ """
9
+ تابع دریافت متن ورودی (prompt) و تولید متن تکمیلی با حد اکثر طول مشخص شده.
10
+ """
11
+ # فراخوانی مدل برای تولید متن
12
+ generated = generator(prompt, max_length=int(max_length), do_sample=True)
13
+ # مدل خروجی را در قالب یک دیکشنری برمی‌گرداند؛ به همین دلیل اولین خروجی را انتخاب می‌کنیم.
14
+ return generated[0]['generated_text']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
+ # طراحی رابط کاربری با استفاده از Gradio
17
  iface = gr.Interface(
18
+ fn=generate_text,
19
+ inputs=[
20
+ gr.Textbox(lines=5, placeholder="متن ورودی خود را وارد کنید...", label="متن ورودی (Prompt)"),
21
+ gr.Slider(minimum=20, maximum=200, step=1, value=100, label="حداکثر طول متن تولیدی")
22
+ ],
23
+ outputs="text",
24
+ title="تولید متن فارسی با HooshvareLab/gpt2-fa",
25
+ description="با وارد کردن یک متن اولیه، مدل GPT-2 فارسی متن تکمیلی تولید می‌کند."
26
  )
27
 
28
+ if __name__ == "__main__":
29
+ iface.launch()