Oqura-ai/deepdoc
Deep research tool for local knowledge base.
deepdoc – 本地深度研究报告生成器
功能说明
- 接收本地文档文件夹(PDF、DOCX、PPTX、图像、TXT、Markdown)作为输入,使用 Qdrant 构建可搜索的向量索引。
- 可指定报告主题和大纲。规划用 LLM 生成章节结构,支持编辑。
- 每个章节由一个 研究代理 执行以下步骤:
- 生成聚焦查询。
- 从 Qdrant 中检索候选片段。
- 使用 TypeSafe 的 Jev 模型对相关性、证据质量、矛盾及潜在提示注入内容进行评分。
- 过滤/重排序片段,检查每个子章节是否有足够证据;若不足,则在可配置的反思次数限制内发出新查询。
- 将验证后的证据传递给写作 LLM,由其生成该章节的最终 Markdown 内容。
- 所有章节合并为一个 Markdown 报告,保存在
output_folder中。
核心组件
- Qdrant – 用于快速相似性搜索的本地向量数据库。
- Jev (TypeSafe) – 返回类型化概率的分类器,作为守门人确保只有高质量证据到达写作者。
- LLM – 默认为 OpenAI
gpt-4o-mini,但配置可插拔(例如 Mistral、Anthropic)。 - Python 3.10+ – 协调整个流水线;配置位于
configuration.py。 - uv – 轻量级虚拟环境与依赖管理工具。
为何重要
- 所有数据均本地化,确保机密文档不会离开你的设备。
- 在原始向量检索基础上增加 Jev 验证层,减少幻觉并提升引用质量。
- 完全可配置:可调整检索大小、并发数、Jev 阈值和重试限制,以匹配你的硬件或 API 配额。
典型工作流程
- 安装
uv,克隆仓库,创建并激活虚拟环境。 - 复制
.env.example→.env,并添加你的 OpenAI 和 TypeSafe API 密钥。 - 使用 Docker 启动 Qdrant(
docker-compose up --build)。 - 运行
python main.py,回答 CLI 提示(主题、大纲、文档文件夹)。 - 审查生成的大纲,批准或编辑后,让代理进行研究和撰写。
- 从
output_folder获取完成的 Markdown 报告。
适合人群
- 需要快速、结构化地总结私有文档集合的研究人员或分析师。
- 需要引用感知生成的内部知识库构建团队。
- 正在实验检索增强生成(RAG)流水线,且需要额外证据过滤步骤的任何人。
许可证
- MIT 许可证(参见
LICENSE)。
贡献指南
- 欢迎提交问题和拉取请求;请参阅仓库中的
CONTRIBUTING指南。
相关
- 项目
- 项目
- 项目
- 项目