pdf-summarizer-app / textsumm.py
3a05chatgpt's picture
Upload 8 files
50a43ab verified
raw
history blame
763 Bytes
from transformers import pipeline
# 使用 Hugging Face 支援中文的 Pegasus 模型
summarizer = pipeline(
"summarization",
model="IDEA-CCNL/Randeng-Pegasus-523M-Summary-Chinese"
)
def 摘要(text, max_length=128, min_length=20):
if not text.strip():
return "⚠️ 請輸入要摘要的內容"
# 依據模型最大長度做裁剪
if len(text) > 1500:
text = text[:1500]
result = summarizer(text, max_length=max_length, min_length=min_length, do_sample=False)
# 處理不同模型回傳格式
if isinstance(result, list) and "summary_text" in result[0]:
return result[0]["summary_text"]
elif isinstance(result, str):
return result
else:
return str(result)