File size: 1,213 Bytes
ff22b8c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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

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()