Spaces:
Sleeping
Sleeping
import streamlit as st | |
from textsumm import 摘要 | |
from pdfsum import pdf摘要 | |
from papersearch import 論文搜尋 | |
st.set_page_config(page_title="PDF 工具箱 (中文)", page_icon=":books:", layout="wide") | |
st.sidebar.title("📑 PDF 工具箱") | |
功能 = st.sidebar.radio( | |
"請選擇功能", | |
["文字摘要", "PDF 摘要", "論文搜尋(arXiv)"], | |
index=0 | |
) | |
st.sidebar.markdown("---") | |
st.sidebar.markdown("本應用支援中文摘要(Pegasus 中文模型)") | |
if 功能 == "文字摘要": | |
st.header("📝 文字摘要") | |
text = st.text_area("請輸入要摘要的文字") | |
if st.button("生成摘要"): | |
with st.spinner("AI 生成中..."): | |
summary = 摘要(text) | |
st.subheader("摘要結果") | |
st.success(summary) | |
elif 功能 == "PDF 摘要": | |
st.header("📄 PDF 摘要") | |
pdf_file = st.file_uploader("請上傳 PDF 檔案", type=["pdf"]) | |
if st.button("產生 PDF 摘要"): | |
if pdf_file is not None: | |
with st.spinner("AI 解析中..."): | |
summary = pdf摘要(pdf_file) | |
st.subheader("PDF 摘要結果") | |
st.success(summary) | |
else: | |
st.warning("請先上傳 PDF 檔案") | |
elif 功能 == "論文搜尋(arXiv)": | |
st.header("🔎 論文搜尋(arXiv)") | |
關鍵字 = st.text_input("輸入主題或關鍵字") | |
max_results = st.slider("結果數量", 1, 30, 10) | |
col1, col2 = st.columns(2) | |
with col1: | |
start_year = st.number_input("起始年份", min_value=1991, max_value=2025, value=2011) | |
with col2: | |
end_year = st.number_input("結束年份", min_value=1991, max_value=2025, value=2025) | |
if st.button("搜尋論文"): | |
with st.spinner("搜尋中..."): | |
papers = 論文搜尋(關鍵字, max_results, start_year, end_year) | |
if not papers: | |
st.info("在所選年份範圍內沒有找到相關論文。") | |
else: | |
for idx, p in enumerate(papers, 1): | |
with st.expander(f"📄 {idx}. {p['標題']}"): | |
st.write(f"**作者:** {p['作者']}") | |
st.write(f"**發表日期:** {p['發表日期']}") | |
st.write(f"**摘要:** {p['摘要']}") | |
st.write(f"[arXiv 連結]({p['arXiv 連結']})") | |