📑 快速分析论文 | 🧠 多模型支持 | 📊 结构化输出 | 🔌 易于扩展
功能特点 • 快速开始 • 高级配置 • 示例展示 • 参与贡献 • 许可证
SmartPaper 是一个领先的智能论文阅读和分析工具,通过集成多种大语言模型 (LLM) 接口,自动分析学术论文内容并生成高质量的结构化报告。无论您是研究人员、学生还是对最新研究感兴趣的专业人士,SmartPaper 都能帮助您更高效地理解和提炼复杂的学术内容。
注意:项目当前处于高速迭代阶段,API 可能会发生变动。架构稳定后将尽量避免核心代码变更。
- 国内外主流大模型:
- 文心一言大模型
- OpenAI (GPT系列)
- Deepseek
- SiliconFlow
- Kimi (Moonshot)
- 豆包 (Doubao)
- 智谱AI
- 多种输入方式:
- 单个 PDF 文件分析
- PDF 文件夹批量处理
- 论文 URL(支持 arXiv 格式自动转换和验证)
- 多种分析模式:
- 单提示词模式:使用精心设计的提示词模板高效分析
- Agent 模式:智能对话式深度分析(开发中)
- 多种交互方式:
- 命令行工具(标准模式和流式输出模式)
- 基于 Streamlit 的直观图形界面
- 多样化输出格式:
- Markdown 格式报告
- CSV 格式 (开发中)
- 结构化文件夹输出 (开发中)
- 自定义提示词模板(支持文本和图像分析)
- 灵活的请求策略与限制保护
- 可扩展的文档转换器系统(查看注册指南)
# 克隆仓库
git clone https://github.com/sanbuphy/SmartPaper.git
cd SmartPaper
# 开发模式安装
pip install -e .
git clone https://github.com/sanbuphy/SmartPaper.git
cd SmartPaper
pip install -r requirements.txt
# 卸载之前安装的 markitdown
pip uninstall markitdown
git clone https://github.com/jingsongliujing/markitdown.git
cd markitdown
pip install -e packages/markitdown
创建并编辑配置文件:
cp config/config.yaml.example config/config.yaml
在 config.yaml
中配置 API 密钥和其他设置:
openai_deepseek:
api_key: "your-api-key"
base_url: "https://api.deepseek.com/v1"
model: "deepseek-chat"
temperature: 0.7
max_tokens: 8192
# 使用默认提示词模板分析指定论文
python cli_get_prompt_mode_paper.py https://arxiv.org/pdf/2312.12456.pdf
# 指定提示词模板
python cli_get_prompt_mode_paper.py https://arxiv.org/pdf/2312.12456.pdf -p coolpapaers
# 流式输出模式
python cli_get_prompt_mode_paper_stream.py https://arxiv.org/pdf/2312.12456.pdf
streamlit run streamlit.app.py
项目提供两种命令行交互方式:
-
标准模式 (
cli_get_prompt_mode_paper.py
)- 一次性分析并输出结果
- 适合快速分析场景
python cli_get_prompt_mode_paper.py [论文URL] --prompt [模板名称]
-
流式模式 (
cli_get_prompt_mode_paper_stream.py
)- 实时显示分析进度和结果
- 适合长文档分析
python cli_get_prompt_mode_paper_stream.py [论文URL] --prompt [模板名称]
- 启动 Streamlit 应用
- 在侧边栏选择 LLM 提供商和分析模式
- 输入论文 URL 或上传 PDF 文件
- 选择提示词模板
- 点击"开始分析"按钮
- 实时查看分析进度和结果
- 下载分析报告或进行新的分析
模板名称 | 描述 |
---|---|
yuanbao |
类似混元元宝的总结风格,包含研究背景、方法、实验设计和结果分析 |
coolpapaers |
类似 papers.cool 的分析风格,包含问题定义、相关研究、解决方案、实验和未来方向 |
methodology |
专注于研究方法论分析 |
results |
专注于实验结果分析 |
contribution |
专注于主要贡献分析 |
full_analysis |
全面深入的分析 |
description_image |
VLM模板:图像内容描述 |
ocr_image |
VLM模板:OCR图像到Markdown的转换 |
查看完整配置说明:配置文件使用说明
主要配置项包括:
- LLM 提供商设置
- API 请求参数
- 请求限制策略
- 输出格式选项
- 模板定制选项
SmartPaper 支持自定义文档转换器,方便处理各种特定格式的文档。 详情请参阅:文档转换器注册指南
# 论文分析报告
## 元数据
- 标题: Transformer-Based Visual Segmentation: A Survey
- 作者: Zhang et al.
- URL: https://arxiv.org/pdf/2304.09854.pdf
- 分析时间: 2024-05-15T14:30:00
## 研究背景
本文是一篇关于基于Transformer的视觉分割技术的综述论文。视觉分割是计算机视觉中的基本任务,包括语义分割、实例分割和全景分割等。随着Transformer在自然语言处理领域取得突破性进展,研究人员开始将其应用于视觉分割任务,并取得了显著成果。
## 核心方法
论文系统地回顾了基于Transformer的视觉分割方法,将其分为四类:
1. **纯Transformer架构**:完全基于自注意力机制的方法
2. **CNN-Transformer混合架构**:结合CNN和Transformer优势的方法
3. **轻量级Transformer**:针对资源受限场景的高效实现
4. **特定任务的创新**:针对特定分割任务的专门设计
## 实验结果
论文对比了各类方法在主流基准测试上的性能,包括Cityscapes、ADE20K等数据集。结果表明:
- 纯Transformer模型在高分辨率图像上表现优异
- 混合架构在平衡精度和效率方面表现良好
- 轻量级设计在移动设备上取得了实用性能
## 未来方向
1. 更高效的注意力机制设计
2. 自监督学习与Transformer分割的结合
3. 针对特定领域的专用模型优化
4. 模型可解释性研究
SmartPaper 提供完整的测试套件,确保功能正常工作:
# 运行所有测试
python run_tests.py
# 运行特定类别的测试
python run_tests.py --category core # 核心功能测试
python run_tests.py --category tools # 工具类测试
python run_tests.py --category integration # 集成测试
# 运行特定的测试文件
python run_tests.py --file test_paper_url.py
# 显示详细测试信息
python run_tests.py --verbose
更多测试相关信息,请参阅 tests/README.md。
- Agent 模式增强
- CSV 格式结构化输出
- 结构化文件夹输出
- 支持更多论文来源和格式
- 批量处理优化
- 进度可视化改进
- 可视化提示词模板编辑器
- 跨平台桌面应用支持
- 国际化支持
我们非常欢迎和感谢各种形式的贡献!
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 打开一个 Pull Request
本项目使用 pre-commit 进行代码质量控制:
# 安装 pre-commit
pip install pre-commit
pre-commit install
# 首次检查所有文件
pre-commit run --all-files
每次提交代码时,pre-commit 将自动检查修改的文件,确保符合项目代码规范。
- 使用 Issue 模板报告 bug
- 提出新功能建议
- 讨论项目的整体方向
感谢以下贡献者为项目做出的宝贵贡献:
- 散步 (Datawhale成员)
- 筱可 (datawhale应用发烧友)
- jingsongliujing
本项目采用 Apache 许可证 2.0 进行许可。