Spaces:
Runtime error
Runtime error
| 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() |