fatihfauzan26 commited on
Commit
3b911b9
·
verified ·
1 Parent(s): 43e8717

Update komentar app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -23
app.py CHANGED
@@ -2,40 +2,47 @@ import torch
2
  from transformers import (PegasusForConditionalGeneration, PegasusTokenizer, pipeline)
3
  import gradio as gr
4
 
5
- # Load the model and tokenizer
6
  model = PegasusForConditionalGeneration.from_pretrained("fatihfauzan26/PEGASUS_liputan6")
7
  tokenizer = PegasusTokenizer.from_pretrained("google/pegasus-cnn_dailymail")
8
 
9
- # Initialize the summarization pipeline
10
  summarizer = pipeline("summarization", model=model, tokenizer=tokenizer)
11
 
 
12
  def summarize_article(article):
13
- # Generate summary
14
  input_ids = tokenizer.encode(article, return_tensors='pt')
 
 
15
  summary_ids = model.generate(input_ids,
16
- min_length=30,
17
- max_length=128,
18
- num_beams=8,
19
- repetition_penalty=2.0,
20
- length_penalty=0.8,
21
- early_stopping=True,
22
- no_repeat_ngram_size=2,
23
- use_cache=True,
24
- do_sample=True,
25
- temperature=1.2,
26
- top_k=50,
27
- top_p=0.95)
28
 
29
- # Decode the summary
30
  summary_text = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
 
 
31
  return summary_text
32
 
33
- # Gradio interface
34
- iface = gr.Interface(fn=summarize_article,
35
- inputs=gr.Textbox(lines=10, label="Enter the article you want to summarize"),
36
- outputs=gr.Textbox(label="Summary"),
37
- title="Summarization App using PEGASUS",
38
- description="Paste an article and click 'Submit' to get a summarized version using PEGASUS model.")
 
 
39
 
40
- # Launch the Gradio app
41
  iface.launch()
 
2
  from transformers import (PegasusForConditionalGeneration, PegasusTokenizer, pipeline)
3
  import gradio as gr
4
 
5
+ # Memuat model dan tokenizer untuk PEGASUS dari Hugging Face Model Hub
6
  model = PegasusForConditionalGeneration.from_pretrained("fatihfauzan26/PEGASUS_liputan6")
7
  tokenizer = PegasusTokenizer.from_pretrained("google/pegasus-cnn_dailymail")
8
 
9
+ # Inisialisasi pipeline untuk tugas ringkasan menggunakan model dan tokenizer yang dimuat
10
  summarizer = pipeline("summarization", model=model, tokenizer=tokenizer)
11
 
12
+ # Fungsi untuk meringkas artikel
13
  def summarize_article(article):
14
+ # Mengubah artikel menjadi token yang bisa diproses oleh model (konversi teks ke representasi numerik)
15
  input_ids = tokenizer.encode(article, return_tensors='pt')
16
+
17
+ # Menghasilkan ringkasan dari artikel dengan berbagai pengaturan model untuk kualitas output
18
  summary_ids = model.generate(input_ids,
19
+ min_length=30, # Panjang minimal ringkasan
20
+ max_length=128, # Panjang maksimal ringkasan
21
+ num_beams=8, # Beam search untuk meningkatkan hasil ringkasan
22
+ repetition_penalty=2.0, # Penalti untuk pengulangan kata
23
+ length_penalty=0.8, # Penalti terkait panjang hasil
24
+ early_stopping=True, # Menghentikan proses jika hasil cukup bagus
25
+ no_repeat_ngram_size=2, # Menghindari pengulangan frasa yang sama
26
+ use_cache=True, # Menggunakan cache untuk efisiensi
27
+ do_sample=True, # Mengambil sampel untuk variasi
28
+ temperature=1.2, # Mengontrol randomness dari hasil
29
+ top_k=50, # Mempertimbangkan 50 kemungkinan token teratas
30
+ top_p=0.95) # Mengambil token yang memiliki probabilitas kumulatif 95%
31
 
32
+ # Mengubah token output menjadi teks ringkasan (decode dari token ke teks)
33
  summary_text = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
34
+
35
+ # Mengembalikan teks ringkasan
36
  return summary_text
37
 
38
+ # Membuat antarmuka Gradio
39
+ iface = gr.Interface(
40
+ fn=summarize_article, # Fungsi yang dijalankan saat pengguna memberikan input
41
+ inputs=gr.Textbox(lines=10, label="Enter the article you want to summarize"), # Input berupa kotak teks
42
+ outputs=gr.Textbox(label="Summary"), # Output berupa kotak teks untuk menampilkan ringkasan
43
+ title="Summarization App using PEGASUS", # Judul aplikasi
44
+ description="Paste an article and click 'Submit' to get a summarized version using PEGASUS model." # Deskripsi aplikasi
45
+ )
46
 
47
+ # Meluncurkan aplikasi Gradio sehingga bisa diakses di browser
48
  iface.launch()