一个用于自动化搜索、筛选和下载ArXiv论文的工具,特别适合LLM过滤和Semantic Scholar数据富集功能,帮助研究者高效管理学术文献。
- 论文搜索:根据关键词、时间范围和学科分类自动搜索ArXiv论文
- 智能过滤:使用大语言模型(LLM)筛选与研究方向相关的论文
- 内容翻译:自动将论文标题和摘要翻译成中文
- 数据富集:通过Semantic Scholar补充论文的发表期刊/会议信息
- 批量下载:并发下载筛选后的论文PDF
- Python 3.8+
- 所需依赖见
requirements.txt
- 克隆本项目:
git clone https://github.com/sfmoraa/SimpleArxivPaperHelper.git
cd SimpleArxivPaperHelper- 安装依赖:
pip install -r requirements.txt- 配置环境变量(用于LLM API访问):
# Linux/Mac
export SILICON_FLOW_API_KEY="your_api_key_here"
# Windows (PowerShell)
$env:SILICON_FLOW_API_KEY = "your_api_key_here"可在config.py中修改以下关键配置:
-
搜索参数:
REQUIRED_KEYWORDS:搜索关键词列表TIME_RANGE_START/TIME_RANGE_END:论文提交时间范围CATEGORY_WHITELIST/CATEGORY_BLACKLIST:学科分类过滤
-
LLM配置:
SILICON_FLOW_BASE_URL:LLM API基础地址LLM_FILTER_MODEL:用于筛选论文的模型LLM_TRANSLATE_MODEL:用于翻译的模型LLM_FILTER_PROMPT:筛选提示词
-
下载配置:
DOWNLOAD_DIR:PDF下载目录
程序通过命令行参数指定数据库名称和操作类型,支持三种操作:
- 搜索论文并保存到数据库:
python main.py [数据库名称] search- 筛选论文并富集信息:
python main.py [数据库名称] filter该操作会:
- 使用LLM筛选相关论文
- 翻译合格论文的标题和摘要
- 从Semantic Scholar获取发表信息
- 下载筛选后的论文:
python main.py [数据库名称] download程序使用SQLite数据库存储所有信息,包含三个表:
config:存储搜索和过滤的配置参数raw_paper:存储从ArXiv搜索到的原始论文数据filtered_paper:存储筛选结果、翻译内容和富集信息
- 请遵守ArXiv和Semantic Scholar的API使用规范
- 大规模下载可能需要调整并发参数(
max_workers) - LLM调用需要有效的API密钥,且可能产生费用
- 建议根据网络情况调整重试参数和请求间隔
- 首先配置
config.py中的搜索关键词和时间范围 - 执行搜索命令获取原始论文数据
- 执行筛选命令进行论文过滤和信息富集
- 执行下载命令获取PDF文件
# 完整流程示例
python main.py llm_graph_papers.db search
python main.py llm_graph_papers.db filter
python main.py llm_graph_papers.db download