当前位置: 首页 > news >正文

自主获取最新相关文献:codex+ollama自动化办公

用 Python + Ollama 搭建一个每天自动读论文的本地科研助手

一、为什么做这个项目

做科研时,每天都会遇到一个很现实的问题:论文太多,真正值得精读的论文却需要花大量时间筛选。

我的研究方向主要集中在无人机与智能网络相关领域,例如:

  • 无人机集群通信
  • 无人机轨迹预测
  • 无人机智能组网
  • 多智能体强化学习
  • GNN 图神经网络
  • Wi-Fi Direct / UAV Ad Hoc 网络
  • 多路径传输
  • 数据加密与网络传输安全

这些方向更新很快,如果每天手动去 arXiv、Semantic Scholar、Crossref 检索,再下载 PDF、阅读摘要、整理笔记,时间成本非常高。

因此我做了一个自动化项目:paper_auto_collector。它可以每天自动检索论文、下载开放 PDF、解析正文、调用本地大模型 Ollama 生成中文总结,并导出 Markdown、Excel、JSON 报告。

重点是:整个项目不依赖 OpenAI API Key,可以完全使用本地大模型运行。
项目地址:https://github.com/fookqilee/paper_auto_collector.git

二、项目能做什么

这个项目目前已经实现了一个完整的自动化论文整理流程:

  1. 从配置文件读取研究关键词。
  2. 自动检索 arXiv、Semantic Scholar、Crossref。
  3. 对多源结果进行去重。
  4. 根据关键词和论文内容计算相关性分数。
  5. 自动判断论文所属研究方向。
  6. 下载公开可访问的 PDF。
  7. 解析 PDF 正文。
  8. 调用本地 Ollama 模型qwen2.5:7b生成中文总结。
  9. 如果 Ollama 不可用,自动回退到抽取式总结。
  10. 每天生成 Markdown、Excel、JSON 报告。
  11. 使用 SQLite 记录历史论文,避免重复下载和重复总结。
  12. 支持 Windows 任务计划程序每天自动运行。
  13. 运行结束后弹窗提示当天整理结果。

三、项目架构

项目采用模块化结构,每个模块只负责一类任务:

paper_auto_collector/ ├── config/ │ ├── config.yaml │ └── test_config.yaml ├── scripts/ │ ├── notify_summary.py │ └── test_ollama.py ├── src/ │ ├── analyzer/ │ │ ├── classifier.py │ │ ├── recommender.py │ │ └── relevance.py │ ├── downloader/ │ │ └── pdf_downloader.py │ ├── exporter/ │ │ ├── excel_exporter.py │ │ ├── json_exporter.py │ │ └── markdown_exporter.py │ ├── fetchers/ │ │ ├── arxiv_fetcher.py │ │ ├── crossref_fetcher.py │ │ └── semantic_fetcher.py │ ├── parser/ │ │ └── pdf_parser.py │ ├── storage/ │ │ └── db.py │ ├── summarizer/ │ │ ├── extractive_summarizer.py │ │ ├── ollama_summarizer.py │ │ └── summary_manager.py │ └── main.py ├── requirements.txt ├── run_daily.bat └── README.md

整体流程如下:

读取配置 -> 多源检索论文 -> DOI / arXiv ID / 标题哈希去重 -> 相关性评分 -> 研究方向分类 -> 下载开放 PDF -> 解析 PDF 正文 -> Ollama 中文总结 -> Markdown / Excel / JSON 导出 -> SQLite 保存历史记录 -> Windows 弹窗提示

四、为什么选择 Ollama

很多论文总结项目都依赖云端大模型 API,但这会带来几个问题:

  • 需要 API Key。
  • 长文档总结成本较高。
  • 论文内容可能涉及未公开研究,不适合上传到云端。
  • 网络不稳定时自动化流程容易失败。

所以我选择了 Ollama,把大模型放在本地运行。

项目默认使用:

summary:mode:"ollama"language:"zh"ollama_base_url:"http://localhost:11434"ollama_model:"qwen2.5:7b"max_input_chars:30000temperature:0.2fallback_to_extractive:true

如果 Ollama 没启动,或者模型没下载,程序不会崩溃,而是自动回退到extractive抽取式总结模式。

五、Ollama 总结输出格式

每篇论文会尽量生成结构化 JSON,字段包括:

{"research_problem":"研究问题","method":"使用方法","dataset_or_environment":"数据集或实验环境","experiment_result":"实验结果","innovation":"创新点","limitation":"局限性","relation_to_my_research":"与我的研究方向的关系","recommended_reading":"是否值得精读","suitable_for_thesis_section":"可用于论文中的章节","keywords":["关键词1","关键词2"],"category":"文章策略","summary_mode":"ollama"}

如果模型输出不是标准 JSON,程序会做容错处理,保留原始输出,不会中断主流程。

六、研究方向分类

项目会把论文自动分类到以下方向:

  • 你自定义的方向
  • 其他

七、每日推荐模块

每天生成的 Markdown 报告顶部会自动给出“今日最值得精读的 3 篇论文”,并说明:

  • 推荐理由
  • 适合借鉴的部分
  • 可用于论文中的章节
  • 对当前仿真数据集的启发

这部分对论文写作很有帮助,因为它不是简单堆论文列表,而是把论文和自己的研究任务联系起来。

八、安装与运行

1. 创建环境

conda create -y -n paper_auto_collector_py310 python=3.10 conda run -n paper_auto_collector_py310 python -m pip install -r requirements.txt

2. 安装 Ollama

访问 Ollama 官网下载安装:

https://ollama.com/

拉取模型:

ollama pull qwen2.5:7b

测试模型:

ollama run qwen2.5:7b

测试项目调用:

conda run -n paper_auto_collector_py310 python scripts\test_ollama.py

3. 运行项目

conda run -n paper_auto_collector_py310 python src\main.py --config config\config.yaml

或者直接运行:

run_daily.bat

九、输出结果

项目会生成以下文件:

data/papers/ 下载的 PDF data/reports/paper_report_日期.md Markdown 每日报告 data/summaries/paper_summaries_日期.xlsx data/summaries/paper_summaries_日期.json data/paper_history.sqlite3 历史记录数据库 logs/daily.log 运行日志

Markdown 报告适合直接阅读,Excel 适合筛选和排序,JSON 适合后续做知识库或二次处理。

十、Windows 每天自动运行

可以使用任务计划程序让项目每天自动执行。例如每天 9 点运行:

schtasks /Create /SC DAILY /TN "paper_auto_collector_daily" /TR "C:\Users\你的用户名\Documents\readPaper_auto\paper_auto_collector\run_daily.bat" /ST 09:00

我还增加了一个弹窗脚本scripts/notify_summary.py,运行结束后会弹出当天的简要整理情况,例如:

  • 处理了多少篇论文
  • 使用了 Ollama 还是 extractive
  • 主要研究方向分布
  • 推荐优先阅读的论文

十一、合法下载说明

这个项目只下载公开可访问的 PDF,例如:

  • arXiv
  • OpenReview
  • PubMed Central
  • Semantic Scholar 返回的openAccessPdf

Crossref 主要用于补充元数据,不强制下载 PDF。项目不会绕过付费墙,也不会尝试下载未授权论文。

十二、项目总结

paper_auto_collector的目标不是替代科研阅读,而是把重复性的论文搜集、下载、初筛、格式化整理自动化。

它比较适合以下场景:

  • 每天跟踪一个研究方向的新论文。
  • 做毕业论文或项目申请前的文献积累。
  • 用本地大模型生成第一版阅读笔记。
  • 建立个人长期论文数据库。

后续可以继续扩展 RSS 期刊订阅、Web 可视化页面、向量数据库检索、BibTeX 导出等功能。

对我来说,它更像是一个每天早上自动工作的“科研信息秘书”:先帮我把论文粗筛一遍,真正需要精读的部分再交给自己。

http://www.jsqmd.com/news/1159284/

相关文章:

  • 常用编程语言和库的正则表达式性能对比
  • 单目测距误差分析:YOLOv5 检测框偏移对距离计算的 3 种影响与修正
  • CVE-2022-46169漏洞复现:Cacti监控系统命令注入原理与实战
  • Unity3D一站式安装指南:从零搭建高效开发环境
  • 真空涡旋动力学
  • LangChain核心原理与生产实践:从Runnable协议到LangGraph智能体
  • 2026年最新教程:PDF转Word怎么转才不乱码 亲测有效 - 玩机日常
  • WordPress建站与Affiliate Marketing:打造月入5000美元的垂直内容网站
  • 2026年7月最新百达翡丽广州王府井百货维修保养服务电话 - 百达翡丽服务中心
  • 2026年7月最新东莞爱彼官方售后客服电话及服务网点地址查询 - 爱彼中国官方服务中心
  • 从通用RAG到智能体专属知识库:架构升级与工程实践
  • 微信小程序支付全链路排错:从“支付失败”到“回调丢失”的 7 类问题定位
  • 百达翡丽功能表专业售后维修保养服务权威公示(2026年7月最新) - 百达翡丽官方售后中心
  • 前策工代——四个设计模式撑起一个政务Web框架
  • 别再瞎注册任推邦!2026最高佣金权限开通方法(官方一级服务商5888888) - 格行官方招商总部
  • Python 接入美股实时行情 API:AAPL.US ticker、K线和 timestamp 字段校验
  • 2026年7月市场有实力的墙改梁加固厂家找哪家,建筑裂缝修补加固/建筑基础下沉加固,墙改梁加固施工厂家哪家专业 - 品牌推荐师
  • Rust编写的DeepSeek命令行工具deepseek-tui实战指南
  • XLua跨平台编译实战:从Windows到iOS的完整避坑指南
  • 2026年7月最新苏州宝珀官方售后热线及客户服务网点地址 - 宝珀官方售后服务中心
  • 从手工记录到自动采集:瑞宇科技胰岛素泵监测案例
  • 工科生如何将3D打印机从玩具变为生产力工具:从CAD到实物的完整指南
  • Q格式定点数 Q1.14 实战:C语言实现 3 种基本运算与精度分析
  • AI小领班 · 品牌故事
  • 5分钟掌握AMD Ryzen处理器性能调校:RyzenAdj终极优化指南
  • 萧邦官方售后服务中心电话和详细维修地址实地考察报告多信源验证(2026年7月最新) - 萧邦中国官方服务中心
  • ETF 套利实战:3 步识别定价偏差,解析 2 类常见风险与应对
  • AI Agent开发实战:从核心概念到复杂工作流构建指南
  • AI 辅助内容创作工作流:从选题到发布的全链路自动化实践
  • 2026年企业级AI API网关选型深度解构:八大平台六维横向评测