Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import pipeline | |
# 한국어 이메일 요약 모델 로딩 | |
summarizer = pipeline("summarization", model="digit82/kobart-summarization") | |
# 이메일 요약 함수 | |
def summarize_email(email_text): | |
max_length = 500 # 최대 입력 텍스트 길이 제한 | |
if len(email_text.strip()) < 20: | |
return "⚠️ 요약할 내용이 너무 짧습니다." | |
elif len(email_text) > max_length: | |
return f"⚠️ 입력 텍스트가 너무 깁니다. 최대 {max_length}자까지 입력할 수 있습니다." | |
try: | |
summary = summarizer(email_text, max_length=45, min_length=5, do_sample=False) | |
return summary[0]['summary_text'] | |
except Exception as e: | |
return f"⚠️ 요약 중 오류가 발생했습니다: {str(e)}" | |
# Gradio 웹 인터페이스 정의 | |
demo = gr.Interface( | |
fn=summarize_email, | |
inputs=gr.Textbox(lines=5, label="✉️ 이메일 내용 입력", max_lines=10), | |
outputs=gr.Textbox(label="📌 요약 결과"), | |
title="이메일 요약기", | |
description="한국어 이메일을 자동으로 1~2줄로 요약해주는 웹앱입니다. (최대 500자)", | |
theme="soft" | |
) | |
# 앱 실행 | |
demo.launch() | |