概览
随附的 README 将 PaperQA 描述为 PaperQA2。它是一个专注于科学文献的 Python 检索增强生成软件包,可处理 PDF、文本、Microsoft Office 文档和源代码文件。因此,它适用于研究工作流程中的文档搜索与证据综合环节,而非科学预测模型。用户可以通过 pqa 命令行界面使用它,也可以将其 Python API 集成到自己的应用程序中。
文档所述的智能体工作流程会搜索本地文档索引,对候选文档进行分块和嵌入,检索相关段落,再使用语言模型根据问题对证据进行评分和摘要。随后,选取的摘要用于生成带文内引文的回答。智能体可以重复或调整这些操作的顺序,以优化搜索。Python 响应会提供答案、格式化答案、问题和证据上下文;如果用户希望明确控制文档选择,也可以通过 Docs 添加和查询文档,而不使用智能体编排。
PaperQA 还会从 Crossref 和 Semantic Scholar 等外部提供方检索论文元数据,并在后续查询中复用本地索引。语言模型和嵌入模型可通过基于 LiteLLM 的接口进行配置,文档还列出了本地托管模型和其他向量存储的选项。这些依赖项与代码仓库本身分开。使用时需要 LLM 服务或本地服务器;README 提醒,公开的软件包并未包含 FutureHouse 内部所有论文访问工具。用户需要自行提供 PDF,因此不应假定已发表的研究结果能代表该软件在任意本地文献集合上的性能。
主要功能
- 智能体式搜索、证据收集和答案生成,并可重复调用工具或以不同顺序调用。
- 检索段落后,使用基于 LLM 的相关性评分和上下文摘要,为带文内引文的回答提供支持。
- 本地全文索引可在后续查询中复用,并可在添加文档时同步更新。
- 自动从多个提供方检索论文元数据,包括引文信息,以及快速入门文档中所述的撤稿检查。
- 支持导入 PDF、文本、Microsoft Office 文档和源代码,并提供文档所述的图表和表格读取器。
- 可配置 LLM、嵌入模型和向量存储;提供同步与异步 Python 接口,以及手动使用 `Docs` 的工作流程。
使用场景
- 建议的评估方式:针对整理好的本地论文集合提出一个范围明确的化学文献问题,然后逐一核对引文段落与原始文档。
- 建议的评估方式:使用文档所述的 `contracrow` 配置,调查所提供的论文中是否包含与某项具体科学主张相矛盾的证据。
- 建议的评估方式:将 Python API 集成到文献综述工作流程中,保留生成的答案及其支持性证据摘要,供研究人员检查。
使用方式
- 阅读代码仓库 README,选择 CLI、智能体式 Python API 或手动
Docs工作流程。随附的软件包元数据要求 Python 3.11 或更高版本。 - 按照 README 中针对 paper-qa 软件包的安装说明操作。如果文献集合包含 Office 文档或 PDF 媒体,请检查可选读取器依赖项。
- 使用文档所述的设置配置 LLM 提供方和嵌入模型。有关提供方要求,请查阅链接的 LiteLLM 提供方文档,或参照 README 中的本地服务器示例。
- 整理一个规模较小且相关的论文集合,并选择其目录。使用文档所述的
pqa问答工作流程或 Pythonask接口来建立索引并检索证据。 - 对照源文档检查格式化答案、引文和证据上下文。如需进行评估,可在受控设置下重复提出有代表性的问题,并在扩大文献集合前记录缺乏依据的主张或遗漏的证据。