Oqura-ai/deepdoc

Deep research tool for local knowledge base.

deepdoc – 本地深度研究报告生成器

功能说明

  • 接收本地文档文件夹(PDF、DOCX、PPTX、图像、TXT、Markdown)作为输入,使用 Qdrant 构建可搜索的向量索引。
  • 可指定报告主题和大纲。规划用 LLM 生成章节结构,支持编辑。
  • 每个章节由一个 研究代理 执行以下步骤:
    1. 生成聚焦查询。
    2. 从 Qdrant 中检索候选片段。
    3. 使用 TypeSafe 的 Jev 模型对相关性、证据质量、矛盾及潜在提示注入内容进行评分。
    4. 过滤/重排序片段,检查每个子章节是否有足够证据;若不足,则在可配置的反思次数限制内发出新查询。
    5. 将验证后的证据传递给写作 LLM,由其生成该章节的最终 Markdown 内容。
  • 所有章节合并为一个 Markdown 报告,保存在 output_folder 中。

核心组件

  • Qdrant – 用于快速相似性搜索的本地向量数据库。
  • Jev (TypeSafe) – 返回类型化概率的分类器,作为守门人确保只有高质量证据到达写作者。
  • LLM – 默认为 OpenAI gpt-4o-mini,但配置可插拔(例如 Mistral、Anthropic)。
  • Python 3.10+ – 协调整个流水线;配置位于 configuration.py。
  • uv – 轻量级虚拟环境与依赖管理工具。

为何重要

  • 所有数据均本地化,确保机密文档不会离开你的设备。
  • 在原始向量检索基础上增加 Jev 验证层,减少幻觉并提升引用质量。
  • 完全可配置:可调整检索大小、并发数、Jev 阈值和重试限制,以匹配你的硬件或 API 配额。

典型工作流程

  1. 安装 uv,克隆仓库,创建并激活虚拟环境。
  2. 复制 .env.example → .env,并添加你的 OpenAI 和 TypeSafe API 密钥。
  3. 使用 Docker 启动 Qdrant(docker-compose up --build)。
  4. 运行 python main.py,回答 CLI 提示(主题、大纲、文档文件夹)。
  5. 审查生成的大纲,批准或编辑后,让代理进行研究和撰写。
  6. 从 output_folder 获取完成的 Markdown 报告。

适合人群

  • 需要快速、结构化地总结私有文档集合的研究人员或分析师。
  • 需要引用感知生成的内部知识库构建团队。
  • 正在实验检索增强生成(RAG)流水线,且需要额外证据过滤步骤的任何人。

许可证

  • MIT 许可证(参见 LICENSE)。

贡献指南

  • 欢迎提交问题和拉取请求;请参阅仓库中的 CONTRIBUTING 指南。

相关

  • 项目
  • 项目
  • 项目
  • 项目