Spaces:
Runtime error
Runtime error
File size: 2,128 Bytes
7ce0b90 dae419d 05bd21b 7d5fd45 dae419d ff525f5 dae419d ff525f5 dae419d 7ce0b90 ff525f5 dae419d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import gradio as gr
from transformers import pipeline, AutoTokenizer, AutoModelForSeq2SeqLM
from googletrans import Translator
# ๋ชจ๋ธ ๋ก๋
model_name = "Aoi785/kobart-disaster-summary-v1"
tokenizer = AutoTokenizer.from_pretrained("digit82/kobart-summarization")
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
summarizer = pipeline("summarization", model=model, tokenizer=tokenizer)
# ๋ฒ์ญ๊ธฐ
translator = Translator()
# ์์ฝ + ๋ฒ์ญ ํจ์
def summarize_and_translate(text, lang):
if not text.strip():
return "์
๋ ฅ๋ ํ
์คํธ๊ฐ ์์ต๋๋ค.", ""
# ์์ฝ
try:
summary = summarizer(text, max_length=50, min_length=10, do_sample=False)[0]['summary_text']
except Exception as e:
summary = f"์์ฝ ์คํจ: {str(e)}"
return summary, ""
# ๋ฒ์ญ
try:
if lang == "ko":
translated = summary
else:
translated = translator.translate(summary, dest=lang).text
except Exception as e:
translated = f"๋ฒ์ญ ์คํจ: {str(e)}"
return summary, translated
# Gradio UI
with gr.Blocks() as demo:
gr.Markdown("## ๐ ์ฌ๋ ๋ฌธ์ ์์ฝ ๋ฐ ๋ฒ์ญ๊ธฐ")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label="์ฌ๋ ๋ฌธ์ ์
๋ ฅ", lines=5, placeholder="์: ๋ด์ผ๊น์ง ์ฅ๋ง์ ์ ์ํฅ์ผ๋ก ๋ง์ ๋น ์์...")
lang = gr.Dropdown(
choices=["ko(ํ๊ตญ์ด)", "en(English)", "zh(์ค๊ตญ์ด)", "vi(๋ฒ ํธ๋จ์ด)"],
value="ko(ํ๊ตญ์ด)",
label="๋ฒ์ญ ์ธ์ด ์ ํ"
)
run_button = gr.Button("์์ฝ ๋ฐ ๋ฒ์ญ ์คํ")
with gr.Column():
output_summary = gr.Textbox(label="โ
์์ฝ ๊ฒฐ๊ณผ")
output_trans = gr.Textbox(label="๐ ๋ฒ์ญ ๊ฒฐ๊ณผ")
def process_lang_code(lang_dropdown):
return lang_dropdown.split("(")[0]
run_button.click(
fn=lambda txt, ln: summarize_and_translate(txt, process_lang_code(ln)),
inputs=[input_text, lang],
outputs=[output_summary, output_trans]
)
demo.launch() |