开源文档解析工具,把 PDF、Office、HTML 等文件转换为结构化数据,供生成式 AI 使用。
Future-House/paper-qa
面向科学文献的智能体 RAG 工具,基于 PDF 等文档回答问题并附带文内引用。
- Star
- 9,422
- Fork
- 944
- 未关闭 Issue
- 155
- 最近提交
- 7天前
这是什么?
PaperQA2 是一个 Python 包,用于对 PDF、文本、Microsoft Office 文档和源代码文件做检索增强生成(RAG),重点面向科学文献。它会在本地文档目录中检索相关段落,经过摘要与重排序后生成带有文内引用的回答,引用可追溯到原始论文。
它还会通过 Semantic Scholar、Crossref、Unpaywall 等服务补充论文元数据,包括被引次数、期刊信息和撤稿检查。使用方式包括命令行工具 pqa(支持建立索引、全文检索和保存配置),以及同步与异步两套 Python API。
模型调用基于 LiteLLM,可接入 OpenAI、Anthropic、Gemini,也可使用 llama.cpp、llamafile、Ollama 等本地模型。嵌入支持稠密、稀疏和混合模式,还可使用本地 Sentence Transformers 模型,以及 Qdrant 等外部向量库。
核心功能
- 01基于本地 PDF、文本、Office 文件和代码回答问题,并附带文内引用。
- 02智能体工作流:模型可迭代地检索、收集证据并生成答案。
- 03通过元数据服务补充被引次数、期刊质量与撤稿信息。
- 04提供命令行工具 pqa 用于建立索引、检索和提问,并提供 Python 异步 API。
- 05兼容所有 LiteLLM 支持的模型,包括本地部署的模型。
适用场景
- 针对一批研究论文,查找某个科学问题的相关证据。
- 在文献集合中发现相互矛盾或相互支持的结论。
- 基于本地文档构建可检索、带引用的知识库。
快速上手
- 1
从 PyPI 安装包
pip install paper-qa - 2
创建存放论文的文件夹
mkdir my_papers - 3
进入文件夹,使用 pqa 命令行提问(需要 OPENAI_API_KEY 等 LLM API 密钥)
cd my_papers && pqa ask 'What is PaperQA2?'
使用前须知
- 需要 LLM 的 API 密钥,或自行部署的开源 LLM 服务器才能运行。
- 索引 100 篇以上论文时,可能需要 Crossref 和 Semantic Scholar 的 API 密钥以避免公共速率限制。
- 版本 5 需要 Python 3.11 或更高版本,旧版 PaperQA 保存的 Docs 对象需要重新构建。
标签
常见问题
- paper-qa 是什么?
- 面向科学文献的智能体 RAG 工具,基于 PDF 等文档回答问题并附带文内引用。 PaperQA2 是一个 Python 包,用于对 PDF、文本、Microsoft Office 文档和源代码文件做检索增强生成(RAG),重点面向科学文献。它会在本地文档目录中检索相关段落,经过摘要与重排序后生成带有文内引用的回答,引用可追溯到原始论文。
- paper-qa 可以免费使用吗?用的什么许可证?
- paper-qa 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- paper-qa 还在维护吗?
- 活跃维护中。paper-qa 最近一次提交是在 2026年10月13日。
- paper-qa 适合用来做什么?
- 针对一批研究论文,查找某个科学问题的相关证据。 在文献集合中发现相互矛盾或相互支持的结论。 基于本地文档构建可检索、带引用的知识库。
- paper-qa 怎么安装和运行?
- 从 PyPI 安装包: pip install paper-qa 创建存放论文的文件夹: mkdir my_papers 进入文件夹,使用 pqa 命令行提问(需要 OPENAI_API_KEY 等 LLM API 密钥): cd my_papers && pqa ask 'What is PaperQA2?'
- 在哪里获取 paper-qa?
- 源代码和安装说明在 GitHub 上:https://github.com/Future-House/paper-qa
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 AI 应用的开源数据基础设施,用于存储文档与向量并支持语义、混合及全文检索。
命令行与 Web 工作台,用 LLM 将原始文档编译为相互链接、自动维护的 Markdown 知识库。
面向智能体的记忆基础设施,将对话与执行过程转化为可持久化的结构化记忆,支持 Python 与 TypeScript。
面向 AI 智能体的本地优先、Markdown 原生长期记忆层,记忆以可编辑文件保存并配合 SQLite 与 LanceDB 索引。
一个命令行工具和 Python 库,用于调用远程及本地部署的大语言模型运行提示词和对话。