PapersChat
基于 RAG 与 Agent 架构的论文对话平台,支持 arXiv、PubMed 与本地 PDF 的智能问答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 RAG 与 Agent 架构的论文对话平台,支持 arXiv、PubMed 与本地 PDF 的智能问答
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:PapersChat 项目 Logo
想象这样一个场景:你是一个医学研究人员,面对堆积如山的 PDF 文献——有最新发表的 arXiv 预印本,有 PubMed 上的同行评审论文——你需要在几个小时内找到它们之间的关联、验证一个假设。单靠人眼逐篇阅读,无异于大海捞针。PapersChat 正是为解决这个痛点而生的。
学术文献的数量正以指数级速度增长。2024 年,仅 arXiv 一个平台每日新增预印论文就超过 1000 篇。对于研究者而言,如何高效地从海量文献中提取关键信息、如何将不同来源的论文关联起来,是一个长期困扰学界的问题。
传统的文献管理工具(如 Zotero、Mendeley)侧重于文献的组织与引用管理,但在「理解内容、建立关联」层面能力有限。基于大语言模型(LLM)的 RAG(检索增强生成)技术,为这一难题提供了新的解决思路——让 AI 代替人工阅读,通过自然语言对话的方式「消化」文献内容。
PapersChat 的作者 AstraBert 来自意大利,项目托管于 GitHub,采用 MIT 开源许可证。自 2024 年下半年发布以来,该项目已积累 157 个 GitHub Stars、29 个 Forks,吸引了来自计算机科学、生物医学等多个领域开发者的关注。
PapersChat 的设计目标明确:让用户通过对话的方式,与自己上传的科研论文、arXiv 预印本和 PubMed 医学文献进行实时交互。项目支持三条数据输入路径:
1. 自定义 PDF 上传(本地文档对话)
用户可以直接将 PDF 格式的论文上传至应用,通过 LlamaParse(可选,需 LlamaCloud API Key)或内置解析器将 PDF 转换为结构化文本,再由向量数据库 Qdrant 完成语义索引。上传后,用户可以指定一个「集合」(Collection)来管理不同主题的文献库,并针对该集合发起自然语言提问。系统会检索与问题最相关的文档片段,结合 LLM 生成答案,并标注引用来源。
2. ArXiv 预印本搜索
集成的 ArXiv 工具允许用户直接搜索预印本数据库。通过调用 ArXiv 官方 API,项目会自动获取近两年内的相关论文,并使用 MarkItDown 将 XML 格式的返回结果转换为纯文本,注入 LLM 的上下文中。搜索结果默认返回相关性最高的 3 篇论文。
3. PubMed 医学文献检索
对于医学和生命科学领域的用户,项目提供了 PubMed 检索工具。通过 Biopython 的 Entrez 模块访问 PubMed 数据库,返回 XML 格式的检索结果(含标题、摘要等),由项目自定义 XML 解析器提取结构化信息后喂给 LLM。
这三路数据最终汇聚到同一个对话系统中,用户无需在多个平台之间切换,一个界面完成所有文献调研工作。
PapersChat 的架构设计体现了清晰的模块化思维,整体可分为四个层次:
数据层
底层使用 Qdrant 作为向量数据库,负责存储文档的语义嵌入向量。Qdrant 支持混合检索(Hybrid Search,即关键词 + 向量联合检索),通过 enable_hybrid=True 参数开启。对于嵌入模型,项目选用 nomic-ai/modernbert-embed-base,这是一款现代高效的 BERT 风格编码器,支持 GPU 加速。
索引层
文档解析与索引构建依赖 LlamaIndex 框架。若用户配置了 LlamaCloud API Key,系统会调用商业级的 LlamaParse 服务进行 PDF 解析(支持表格、公式等复杂布局);否则退化为 SimpleDirectoryReader 的基础解析。在 scripts/utils.py 中,ingest_documents() 函数负责整个索引创建流程。
Agent 层
核心推理引擎基于 LlamaIndex 的 ReActAgent。Agent 会根据用户提问自动决定调用哪个工具(本地 PDF 检索 / ArXiv 搜索 / PubMed 搜索),而不是简单地将问题一股脑塞给 LLM。这种 Tool-augmented Agent 范式显著提升了系统的灵活性和答案质量。
LLM 后端
项目在 scripts/app.py 中实现了灵活的多后端 LLM 切换逻辑,按优先级依次尝试:
这种设计确保了用户在有不同 API 预算和使用偏好时,都能找到适合自己的运行方式。

图2:PapersChat 技术架构流程图
此外,项目集成了 Arize Phoenix 作为可观测性工具,实时追踪 LlamaIndex Agent 的执行链路,便于开发者调试 prompt 和工具调用行为。
PapersChat 的前端界面基于 Gradio 构建,提供了一个直观的 Chatbot 风格的交互界面。用户在界面上可以:
界面通过 scripts/app.py 中的 reply() 异步生成函数实现流式输出,每次回答伴随打字机效果(逐字输出),提升用户体验。
项目提供了完整的容器化部署方案。根目录的 compose.yaml 定义了两个服务:
./qdrant_storage 目录,API 端口 6333/6334启动命令简洁:
docker compose up
但需要注意,前置条件是配置好 API 密钥(通过 Docker Secrets 注入 mistral_api_key / phoenix_api_key / llamacloud_api_key)。本地开发环境则推荐使用 conda 创建独立环境后直接运行 python3 scripts/app.py。
PapersChat 并非没有局限性,需要用户在上手前有所了解:
1. API 密钥强依赖
核心功能依赖外部 LLM API,Mistral AI 免费额度有限,生产级使用需要付费订阅。用户若不想产生云服务费用,必须自行部署 Ollama 并准备具备足够显存的 GPU 机器。
2. PDF 解析质量瓶颈
基础模式下的 PDF 解析能力有限,对于包含复杂数学公式、多栏布局或扫描版 PDF 的处理效果可能不理想。LlamaParse 提供了增强解析能力,但需要额外的 LlamaCloud 订阅。
3. 数据隐私风险
用户上传的 PDF 文献会通过 API 发送给 LLM 服务商,若涉及未发表的研究成果或敏感医疗数据,需要谨慎评估数据合规性。Ollama 本地部署是唯一的本地化方案。
PapersChat 代表了 AI for Science 领域的一个重要趋势:用自然语言接口降低科研文献的阅读门槛。随着 LLMs 在专业领域知识理解上的能力不断提升,类似工具正在从「玩具 demo」走向「真实生产力」。
从增长数据看,该项目月度趋势得分为 46.67,反映出学术研究者对这类工具的持续需求。未来可能的演进方向包括:支持更多文献数据库(如 Semantic Scholar、CrossRef)、引入多模态能力解析图表、以及基于知识图谱的论文关联发现等。
项目速览