Open Deep Research项目--开源项目文档
Open Deep Research是一个基于LangChain和LangGraph的开源AI研究系统,通过多智能体协作实现自动化深度研究。系统采用模块化设计,包含核心研究代理、安全认证和历史版本三大模块。核心模块基于状态图驱动架构,支持问题澄清、任务分解、工具调用和报告生成全流程;安全模块集成Supabase实现身份认证和资源访问控制;历史版本系统提供图工作流和多智能体两种架构方案。该系统具有高
在团队协作里,“文档滞后于代码”几乎是常态。本次分享我们通过hivulse蜂巢这个产品针对langchian的Open Deep Research这个最新开源的项目做了文档生成给大家进行分享
Open Deep Research 项目设计文档
Open Deep Research 是一个开源 AI 驱动的深度研究系统,集成了多模型和多工具支持,具备智能问题理解、并行任务调度、工具调用协调和结构化报告生成等功能,致力于为用户提供高质量的自动化研究报告。
系统架构
架构概览
系统采用模块化设计,基于 LangGraph 和 LangChain 构建多智能体研究代理系统,支持并行任务执行和工具集成。整体架构包含核心研究模块、安全认证模块、历史版本模块和测试评估模块,具有良好的可扩展性和可维护性。
核心功能模块
核心研究代理系统
基于 LangGraph 实现的多智能体研究代理系统,负责问题澄清、研究主题提取、任务分解、并行研究执行、结果压缩和报告生成等全流程自动化处理。
核心研究代理系统模块说明
模块概述
核心研究代理系统是基于 LangGraph 和 LangChain 构建的 AI 驱动深度研究系统,旨在自动化执行复杂研究任务。该系统通过多智能体协作机制,实现从用户问题输入到结构化报告输出的完整流程,具备以下核心能力:
- 智能问题澄清
- 研究主题提取
- 任务分解调度
- 并行研究执行
- 信息压缩与报告生成
模块职责
-
智能问题理解与澄清
通过自然语言交互识别用户输入中的模糊信息,主动发起澄清以明确研究目标。 -
研究任务规划与调度
将复杂问题分解为可执行的子任务,并进行并行调度与资源分配。 -
工具集成与调用协调
整合网络搜索(Tavily)、MCP 工具和网页摘要等外部能力,协调工具调用与结果整合。 -
研究状态管理与流程控制
基于 LangGraph 状态图机制维护研究任务生命周期,确保流程可控性和可追溯性。 -
研究结果压缩与结构化输出
对原始研究信息进行智能压缩,生成简洁、结构化的研究摘要与报告。 -
配置驱动与多模型支持
支持灵活的系统配置,包括模型选择、搜索 API 和 MCP 工具接入,适配多种运行环境。
模块架构与核心组件
1. 状态图驱动架构
系统采用 LangGraph 状态图架构,通过定义状态节点与流转规则实现研究流程的模块化管理。
2. 多智能体协作机制
采用 Supervisor-Researcher 协作模式:
- Supervisor:负责任务调度和结束决策
- Researcher:执行具体研究任务,调用工具获取信息
3. 核心功能模块
| 模块名称 | 核心功能 |
|---|---|
| 状态管理 | 定义研究流程状态结构,支持状态合并与更新 |
| 配置管理 | 提供系统运行参数的结构化定义 |
| 提示工程 | 定义各阶段 AI 行为的提示模板 |
| 工具集成 | 封装网络搜索、网页摘要等功能 |
| 研究流程控制 | 实现完整流程控制,支持并行任务调度 |
数据模型设计
1. 状态结构模型
| 状态字段 | 类型 | 说明 |
|---|---|---|
messages |
List[Message] |
交互消息历史 |
research_brief |
Optional[str] |
研究主题描述 |
research_notes |
List[ResearchNote] |
研究笔记与工具调用结果 |
final_report |
Optional[str] |
最终研究报告 |
2. 工具调用模型
| 模型名称 | 用途 |
|---|---|
ConductResearch |
启动新研究任务 |
ResearchComplete |
标记任务完成 |
Summary |
压缩研究结果 |
ClarifyWithUser |
发起问题澄清 |
3. Token 缓存模型
| 字段名 | 类型 | 说明 |
|---|---|---|
access_token |
str |
用户访问令牌 |
expires_in |
int |
令牌有效期(秒) |
created_at |
datetime |
令牌创建时间 |
数据访问与缓存机制
| 访问方式 | 用途 |
|---|---|
| 内存状态对象 | 维护研究临时状态 |
| 键值存储缓存 | 缓存用户 Token |
| LangGraph 状态图 | 管理状态流转 |
模块作用
- 业务逻辑核心:实现完整 AI 研究流程
- 系统集成中心:整合多种 AI 模型和工具
- 状态管理中心:维护研究任务生命周期
- 配置控制中心:提供灵活配置
- 提示工程基础:标准化 AI 行为指导
技术特性
1. 状态图架构模式
- 明确的状态流转控制
- 可视化流程管理
- 灵活状态更新
2. 多智能体协作模式
- Supervisor 负责调度
- Researcher 执行任务
- 结构化通信协议
3. 配置驱动架构
- 声明式配置管理
- 运行时动态配置
- 环境适配能力
4. 工具集成抽象
- 统一工具接口
- 认证与错误处理
- 多提供商支持
总结
核心研究代理系统是高度模块化、可扩展的 AI 研究自动化系统。通过状态图驱动架构与多智能体协作,能够高效处理复杂问题,整合多种工具与模型,生成结构化报告。设计兼顾灵活性、健壮性与可维护性,为 AI 驱动研究提供强大支持。
安全认证模块说明
模块概述
安全认证模块负责用户身份认证与资源访问授权,通过集成外部身份验证服务(如 Supabase)提供统一的安全访问控制机制,确保所有敏感操作经过严格验证。
模块通过中间件机制集成到 LangGraph 应用,拦截请求进行安全校验,保障 threads、assistants 和 store 等资源的安全访问。
核心功能
1. 身份认证
- 解析 HTTP 请求中的 Bearer Token
- 使用 Supabase 校验 JWT
- 提取用户身份信息
- 支持特殊用户类型
StudioUser
2. 访问授权
资源级权限控制:
- Threads 与 Assistants:
- 创建时注入
owner元数据 - 操作前检查用户权限
- 创建时注入
- Store 命名空间:
- 限制第一级路径访问
细粒度权限策略:
- 所有资源访问需验证身份
- Store 查询限制命名空间匹配
- 支持高权限用户绕过控制
模块架构与流程
数据库设计意图
模块本身不直接定义数据库结构,但其权限历史版本系统包含项目历史版本的实现方案。该方案涵盖了图工作流和多智能体架构,并配有完整的配置管理、状态管理、工具集成和测试套件,为当前系统提供了架构参考和演进基础。
模块说明:历史版本系统
1. 模块概述
历史版本系统是 Open Deep Research 项目中用于自动化生成结构化研究报告的完整实现模块。该模块提供两种架构方案:基于图的工作流架构和多智能体协作架构,通过 AI 智能体与多种外部工具(如搜索引擎、语言模型)协同工作,完成从主题分析、信息检索、内容撰写到质量评估的全流程报告生成任务。
该模块实现了核心报告生成功能,并集成了完整的配置管理、状态流转、工具集成、提示词模板、测试评估等辅助系统,形成了一个自洽且可扩展的研究报告生成生态系统。
2. 模块职责
| 职责类别 | 描述 |
|---|---|
| 报告生成架构 | 提供两种研究报告生成架构: 1. 图工作流架构:节点化流程控制,支持人类反馈机制 2. 多智能体架构:主管智能体协调多个研究智能体并行处理章节内容 |
| 工具集成中心 | 集成多种搜索引擎(Tavily、DuckDuckGo、Google、arXiv、PubMed等)和 AI 模型接口,统一处理搜索请求、结果去重、内容摘要与格式化 |
| 状态管理机制 | 使用 Pydantic 和 TypedDict 定义严格的状态模型,支持复杂的状态传递、合并与更新机制,确保工作流各节点间的数据一致性 |
| 配置驱动机制 | 提供灵活的配置加载机制,支持从环境变量和运行时参数动态加载模型、搜索工具、MCP 工具等配置项 |
| 提示词模板管理 | 统一管理各类提示词模板,包括报告规划、查询生成、章节撰写和质量评估等关键环节的提示词,提升 LLM 输出质量 |
| 测试与质量评估 | 包含完整的测试套件和自动化质量评估机制,支持参数化测试、报告质量评分和实验追踪 |
3. 核心功能模块
3.1 报告生成架构
图工作流架构
- 节点化流程控制:将报告生成流程划分为多个节点,包括报告规划、人类反馈、查询生成、网络搜索、章节撰写、质量评估和报告编译
- 人类反馈机制:支持用户对报告结构进行审核和调整,确保生成内容符合预期
- 章节研究循环:每个章节经历"查询生成→网络搜索→内容撰写→质量评估"的循环优化过程,确保内容质量
多智能体架构
- 主管智能体:负责整体报告规划、章节分配和最终整合
- 研究智能体:并行处理报告各章节的研究与撰写任务,提升生成效率
- 状态合并机制:通过
Annotated字段和操作符实现多智能体状态的合并与更新
模块架构清晰,职责划分明确。各功能模块协同工作,形成完整的报告生成流程,确保系统输出内容的可靠性和一致性。
模块说明:测试与评估系统
1. 模块概述
测试与评估系统是一个完整的自动化质量保障与性能分析平台,专为AI研究系统设计。该模块通过集成多维度评估机制、并行处理验证、对比实验支持和结构化评分引擎,实现对AI系统输出质量的全面量化分析。
该模块构建了一个可扩展、可配置、可追溯的评估基础设施,支持从单点评估到复杂对比实验的全流程管理,并与LangSmith平台深度集成,实现评估数据的集中化管理和可视化分析。
2. 核心功能与特性
2.1 多维度智能评估引擎
- 整体质量评估:基于深度、来源、分析、实用性、客观性、写作质量六个维度进行综合评分
- 专项评估能力:支持相关性、结构性、正确性、事实依据、完整性等五个专项维度评估
- 结构化输出:所有评估结果均以标准化的Pydantic模型返回,确保数据一致性
- 智能评分机制:利用大语言模型(GPT/Anthropic)进行自动化评分,评分范围标准化为0-1区间
2.2 对比实验支持系统
- 两两对比评估:支持不同实现版本间的直接对比分析
- 三方自由竞争评估:提供多方案同时评估的排序机制
- 智能排序算法:基于回答全面性、引用质量、需求满足度等标准进行自动排序
2.3 并行处理验证机制
- 并发能力测试:验证系统在并行处理场景下的性能表现
- 工具调用验证:确保实际并行工具调用数与预期配置一致
- 多配置支持:支持多种并发参数配置,适应不同测试需求
2.4 评估提示模板库
- 标准化评估指导:提供六大核心评估维度的标准化提示模板
- 结构化输出要求:每个模板明确要求模型输出符合预定义格式
- 内容质量控制:强调引用验证和事实依据,确保评估客观性
3. 模块架构设计
4. 数据模型设计
4.1 评估结果数据模型
| 模型名称 | 核心字段 | 评分维度 | 用途说明 |
|---|---|---|---|
| OverallQualityScore | depth, sources, analysis, useful, objective, writing | 6个维度 | 整体研究报告质量评估 |
| RelevanceScore | relevance | 1个维度 | 内容与问题的相关性评估 |
| StructureScore | structure | 1个维度 | 报告结构合理性评估 |
| CorrectnessScore | correctness | 1个维度 | 事实正确性评估 |
| GroundednessScore | claims | 多个声明 | 事实依据验证评估 |
| CompletenessScore | completeness | 1个维度 | 内容完整性评估 |
| HeadToHeadRanking | winner, reasoning | 排名+理由 | 两两对比评估结果 |
| Rankings | first_place, second_place, third_place, reasoning | 三方排序 | 三方竞争评估结果 |
4.2 评估配置模型
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| max_iterations | int | 15 | 最大迭代次数限制 |
| model | string | “gpt-4o-mini” | 使用的评估模型 |
| parallel_tool_calls | boolean | true | 是否启用并行工具调用 |
| search_api | string | “exa” | 搜索API选择 |
| disable_followup | boolean | true | 是否禁用后续问题 |
5. 技术实现特点
5.1 评估引擎技术亮点
| 特性 | 实现方式 | 优势 |
|---|---|---|
| 结构化输出 | with_structured_output |
确保输出格式一致性 |
| 多模型支持 | 条件判断处理不同模型 | 提高系统兼容性 |
| 评分标准化 | 0-1区间映射 | 便于结果比较和分析 |
| 详细理由 | 每个评分附带说明 | 增强评估结果可解释性 |
5.2 执行器技术特点
| 特性 | 实现方式 | 价值 |
|---|---|---|
| 异步执行 | asyncio + await |
提高评估效率 |
| 配置管理 | 字典式参数配置 | 增强系统灵活性 |
| 状态保存 | MemorySaver |
便于调试和回溯 |
| 元数据记录 | 实验信息完整记录 | 支持实验复现 |
6. 在整体架构中的作用
测试与评估系统作为AI研究平台的质量保障基础设施,承担以下关键职责:
- 质量控制中心:通过自动化评估确保系统输出质量符合预期标准
- 性能监控平台:持续监控系统在不同配置下的性能表现
- 版本对比工具:支持不同实现版本的量化对比分析
- 实验管理中心:与LangSmith深度集成,提供完整的实验生命周期管理
该模块通过标准化评估流程和结构化数据输出,为系统优化和迭代提供可靠数据支撑,是确保AI研究系统持续改进的核心组件。
7. 依赖关系与集成
7.1 外部依赖
| 依赖组件 | 用途 | 集成方式 |
|---|---|---|
| LangChain | 大语言模型接口 | 直接调用模型API |
| LangGraph | 流程图构建 | 构建评估执行流程 |
| LangSmith | 实验管理 | 评估数据存储和分析 |
| Pydantic | 数据模型 | 结构化评估结果定义 |
| OpenDeepResearch | 被测系统 | 评估目标系统集成 |
7.2 内部模块关系
所有模块采用松耦合设计,通过标准化接口进行交互:
- 评估提示模板库为评估引擎提供输入指导
- 评估引擎为核心执行器提供评估能力
- 执行器负责协调各组件完成端到端评估
- 对比评估和并行评估作为专项功能模块独立运行
8. 安全与可靠性
该模块不涉及本地数据库操作,所有数据处理均在内存中完成或通过LangSmith平台进行持久化,依赖平台提供的安全机制保障数据安全。通过结构化输出和标准化评估流程,确保评估结果的可靠性和一致性。
配置管理模块说明
模块概述
配置管理模块是整个系统的核心基础设施模块,负责定义、验证和管理系统的运行时配置参数。该模块通过结构化的配置模型,为研究流程、AI工作流、模型调用、并发控制等核心功能提供统一的配置管理机制。
核心功能
1. 结构化配置管理
- 使用
pydantic.BaseModel提供强类型配置验证 - 支持从环境变量和运行时配置动态加载参数
- 提供配置项的默认值和约束验证机制
2. 多维度配置控制
- 研究流程配置:控制搜索API选择、最大迭代次数、重试机制等
- 模型配置管理:支持不同阶段使用不同AI模型(摘要、研究、压缩、报告生成)
- 并发控制配置:管理最大并发数、最大工具调用次数等资源控制参数
- MCP集成配置:支持Model Coordination Protocol服务器连接配置
3. 工作流配置支持
- 基于图的工作流配置:支持搜索、总结、规划、写作等模块参数配置
- 多智能体系统配置:为不同角色(supervisor、researcher等)提供独立模型配置
4. 搜索API集成
支持多种搜索服务集成,包括:
- Tavily
- Perplexity
- Arxiv
- Anthropic
- OpenAI
重要配置项说明
核心配置参数
| 配置类别 | 参数名称 | 类型 | 说明 |
|---|---|---|---|
| 通用配置 | max_retries | int | 最大重试次数 |
| 通用配置 | allow_clarification | bool | 是否允许澄清问题 |
| 研究配置 | search_api | SearchAPI | 搜索API选择 |
| 研究配置 | max_iterations | int | 最大迭代次数 |
| 模型配置 | summary_model | str | 摘要生成模型 |
| 模型配置 | research_model | str | 研究阶段模型 |
| 模型配置 | compression_model | str | 内容压缩模型 |
| 模型配置 | final_report | str | 最终报告生成模型 |
状态管理模块说明
1. 模块概述
状态管理模块是多智能体协作系统中负责定义和维护流程状态的核心组件。该模块采用Pydantic数据模型和TypedDict状态结构,实现研究任务与报告生成流程中的信息传递、状态更新和上下文管理功能。所有状态数据均通过Python对象在内存中进行管理,不涉及数据库操作。
2. 核心功能
2.1 状态建模与流转控制
模块定义多种状态结构,支持智能体(Supervisor、Researcher等)间的上下文传递及多轮迭代的研究流程:
- 研究目标定义与问题澄清
- 资料收集与内容生成
- 报告产出与反馈处理
- 状态合并与更新控制
2.2 结构化工具交互
提供标准化的输入输出模型,确保智能体间交互的语义一致性:
| 模型名称 | 功能描述 |
|---|---|
ConductResearch |
研究任务启动 |
ResearchComplete |
标记研究完成 |
ClarifyWithUser |
用户澄清请求 |
ResearchQuestion |
研究问题定义 |
Summary |
研究内容概要 |
Section |
报告章节结构 |
SearchQuery |
搜索查询条件 |
Feedback |
报告评估反馈 |
2.3 状态更新机制
通过Annotated和override_reducer函数实现灵活的状态更新策略:
- 覆盖更新:完整替换现有状态
- 增量更新:在现有状态基础上追加内容
确保多轮交互中的状态可控性和一致性。
3. 系统架构定位
作为多智能体系统的核心支撑模块,主要承担以下职责:
- 流程控制:支撑研究任务与报告生成的多阶段流转
- 上下文管理:维护智能体间的任务状态与历史信息
- 接口标准化:为工具调用提供结构化模型
- 状态持久化:在内存中维护状态对象,支持流程演进
4. 模块架构
5. 状态模型分类
5.1 研究任务模型
| 模型名称 | 描述 |
|---|---|
AgentInputState |
消息列表输入状态 |
AgentState |
主智能体完整状态 |
SupervisorState |
研究迭代管理状态 |
ResearcherState |
研究主题管理状态 |
ResearcherOutputState |
研究者输出状态 |
5.2 报告生成模型
| 模型名称 | 描述 |
|---|---|
ReportStateInput |
报告主题输入状态 |
ReportStateOutput |
最终报告输出状态 |
ReportState |
完整报告状态 |
SectionState |
章节处理状态 |
SectionOutputState |
章节输出状态 |
6. 模块协作关系
| 协作模块 | 交互方式 |
|---|---|
| 工具调用模块 | 使用结构化模型作为接口规范 |
| 主流程控制模块 | 通过状态结构支持流程协调 |
| 搜索研究模块 | 使用SearchQuery等模型交互 |
| 反馈评估模块 | 基于Feedback模型进行质量评估 |
7. 总结
状态管理模块作为系统的核心组件,主要负责流程控制和上下文管理。该模块采用结构化模型和状态更新机制,有效支持多智能体系统中的研究任务处理和报告生成流程。所有状态信息均在内存中维护,不涉及数据库操作,特别适合基于LangGraph的状态图驱动系统。模块设计具备良好的扩展性和灵活性,能够满足不同阶段的任务流转和状态更新需求。
模块说明:提示工程模块(Prompt Engineering Module)
一、模块概述
提示工程模块是AI研究与报告生成系统的核心指令层,负责定义和管理各阶段指导AI Agent行为的提示模板。通过规范化的自然语言指令,驱动AI完成从用户意图理解到最终报告生成的全流程工作。
该模块专注于提供清晰的行为边界和输出规范,不涉及数据库操作或模型训练。其主要作用是确保系统输出的准确性、结构性和可追溯性。
二、模块核心功能
| 功能类别 | 描述 |
|---|---|
| 用户意图澄清 | 判断是否需要进一步询问以明确研究需求 |
| 研究任务规划 | 将复杂问题拆解为可并行执行的子任务 |
| 研究执行引导 | 指导AI Agent进行资料检索等操作 |
| 研究结果整理 | 对信息进行去重、压缩和结构化处理 |
| 报告结构设计 | 规划报告章节结构和写作指令 |
| 章节撰写与审核 | 引导报告内容编写并进行质量评估 |
| 最终报告生成 | 生成格式规范的完整研究报告 |
| 内容质量评估 | 提供多维度质量评估标准 |
三、模块特性
- 结构化模板:提示以字符串常量形式定义,便于维护
- 全流程控制:支持从用户交互到报告输出的完整流程
- 质量保障:通过审核提示确保内容相关性和完整性
- 标准化输出:遵循Markdown格式规范
- 高扩展性:模板可复用,支持功能扩展
四、模块在系统架构中的作用
作为"指令中枢",为以下模块提供指导:
- 用户交互模块:判断意图澄清需求
- 研究调度模块:指导任务分解与执行
- 工具调用模块:控制工具使用规范
- 报告生成模块:提供写作指导
- 评估与反馈模块:提供质量标准
五、模块依赖关系
%% 模块为系统各组件提供行为指令,AI Agent据此执行任务
六、模块内部提示模板分类
| 模板类别 | 功能描述 | 示例 |
|---|---|---|
| 用户意图澄清 | 判断询问需求 | clarify_with_user_instructions |
| 研究任务规划 | 问题拆解 | transform_messages_into_research_topic_prompt |
| 研究执行引导 | 指导工具调用 | lead_researcher_prompt |
| 信息整理 | 结构化处理 | compress_research_system_prompt |
| 报告规划 | 设计结构 | report_planner_instructions |
| 章节撰写 | 内容编写 | section_writer_instructions |
| 质量评估 | 多维评估 | OVERALL_QUALITY_PROMPT |
七、模块流程示意
%% 展示模块在整个流程中的规范作用
八、总结
提示工程模块作为系统的"大脑指令层",通过结构化提示模板为AI Agent提供明确指导。专注于自然语言指令设计,是实现自动化、高质量输出的核心支撑。其模块化设计具有良好的适应性,可灵活应用于多种AI场景。
工具集成模块
提供网络搜索和工具集成功能,支持多引擎搜索、模型调用、MCP工具集成和认证、API管理,具备智能错误处理和Token检测能力。
工具集成模块说明
模块概述
工具集成模块是一个功能强大的通用工具集合,为AI研究系统提供基础支持。该模块整合了以下核心功能:
- 多搜索引擎接入
- 大语言模型(LLM)调用
- MCP协议工具集成
- API密钥管理
- Token检测
- 网页内容处理与摘要生成
采用异步并发机制提升性能,支持多源信息检索与统一结果处理,具备出色的扩展性和容错能力,是连接外部服务与上层业务的关键组件。
核心功能
🔍 搜索引擎集成
- 支持Tavily、Azure AI Search、Perplexity等主流搜索引擎
- 提供同步/异步调用接口
- 输出标准化数据结构
🧠 模型调用
- 封装OpenAI、Anthropic等LLM调用
- 支持MCP工具加载与认证
- 提供插件化工具注册机制
📄 内容处理
- 网页抓取与HTML转Markdown
- 内容分块、摘要提取与去重
- 基于LLM的智能摘要
🔐 认证管理
- 多平台API密钥管理
- MCP令牌获取与缓存
- Token自动刷新
⚠️ 异常处理
- 检测各平台Token限制
- 统一异常处理机制
🧰 辅助工具
- 日期获取
- 消息历史处理
- 配置加载
- 上下文管理
模块架构
数据库设计
采用键值存储(Redis/内存)缓存用户Token,提升性能与安全性。
存储结构
| 键名格式 | 类型 | 说明 |
|---|---|---|
(user_id,"tokens") |
dict | 用户Token缓存 |
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
| access_token | str | MCP令牌 |
| expires_in | int | 有效期(秒) |
| created_at | datetime | 创建时间 |
五、模块在系统中的作用
工具集成模块作为AI深度研究系统的核心支撑模块,主要功能包括:
- 信息检索支持:为研究模块提供高效的多源信息检索接口
- 模型与工具集成:封装模型调用逻辑,支持MCP工具和插件扩展
- 安全认证管理:集中管理API密钥和Token,确保系统安全
- 内容处理服务:生成结构化、易读的研究结果输出
- 容错处理机制:提升系统稳定性,优化用户体验
六、依赖关系
| 依赖项 | 功能说明 |
|---|---|
tavily, exa_py, linkup, arxiv, beautifulsoup4, httpx, aiohttp |
搜索引擎与网页处理工具 |
langchain, langchain_mcp_adapters |
模型调用与MCP集成 |
markdownify |
HTML转Markdown工具 |
open_deep_research.state |
使用数据结构定义 |
open_deep_research.configuration |
系统配置加载 |
open_deep_research.prompts |
提供摘要模板 |
七、总结
工具集成模块通过模块化设计实现了多源检索、模型调用、安全认证等核心功能。其灵活架构和扩展能力为智能研究助手、知识问答等AI应用提供了坚实基础。
项目配置模块说明
1. 模块概述
模块名称:项目配置
层级定位:基础设施层/配置管理层
主要职责:统一管理项目元数据、依赖项、构建配置和外部服务集成规范。
作为项目配置中心,通过pyproject.toml统一管理:
- 第三方依赖
- 构建工具
- 开发工具链
- 云平台集成规范
2. 核心功能
2.1 依赖管理
| 类型 | 功能 | 主要依赖 |
|---|---|---|
| LLM集成 | 主流模型调用 | langchain-openai等 |
| 信息检索 | 多源数据获取 | tavily-python等 |
| 文档处理 | 非结构化数据解析 | pymupdf等 |
| 云平台 | 身份验证与搜索 | azure-identity等 |
| 开发工具 | 代码质量保障 | ruff等 |
2.2 构建与部署
- 使用
setuptools构建 - 支持PEP 621标准
- 明确包结构和资源路径
2.3 开发环境
- 统一代码风格(
ruff) - 静态类型检查(
mypy) - 自动化测试(
pytest)
3. 架构作用
4. 数据库分析
4.1 潜在依赖
| 依赖项 | 用途 | 类型 | 备注 |
|---|---|---|---|
supabase |
数据存储 | PostgreSQL | 支持实时订阅 |
azure-search-documents |
全文检索 | Azure搜索 | 可能同步数据 |
4.2 待确认事项
supabase的CRUD操作- 数据同步至Azure搜索
- ORM模型定义情况
5. 总结
项目配置模块作为基础设施核心,通过标准化管理提升了系统的可维护性和扩展性,为上层模块提供全面的运行时支持。
部署指南模块
模块职责
提供完整的系统部署方案,包括:
- 本地LangGraph环境
- 云平台部署
- 快速启动配置
- 评估机制说明
作为开发与生产环境的桥梁,整合了配置管理、模型集成等关键能力。
1. 多平台部署支持
本模块支持 Open Deep Research 系统在以下平台的灵活部署:
- 本地 LangGraph Studio:专为开发调试设计,提供智能体运行流程的可视化功能
- LangGraph Platform:面向生产环境的高性能部署方案,支持分布式运行和高并发处理
- Open Agent Platform:多智能体协作的统一运行环境
2. 灵活的模型与工具集成
- 统一模型接口:通过标准化的
init_chat_model()接口,无缝切换 OpenAI、Anthropic、Ollama 等主流模型服务 - 智能搜索集成:整合多种搜索 API,为智能体提供实时外部信息获取能力
- MCP 扩展工具:通过 MCP Server 实现本地/远程工具(文件系统、数据库、API 服务)的快速接入
3. 配置管理与资源控制
- 集中式配置:通过
.env文件统一管理模型参数、工具配置和并发设置 - 智能并发控制:动态调节智能体并发执行数量,确保系统资源合理利用
4. 智能体工作流程
系统采用"规划-执行-总结"的标准化研究流程:
- 接收用户研究问题
- 主智能体制定研究计划
- 并行调取子智能体收集资料
- 资料压缩与结构化处理
- 生成最终研究报告
5. 评估与测试体系
- LangSmith 集成:支持多维度智能体输出评估
- 自动化测试:通过
run_evaluate.py脚本实现评估流程自动化
模块架构图
技术依赖关系
| 组件 | 功能说明 |
|---|---|
langgraph |
智能体流程控制框架 |
langchain |
模型调用与工具管理 |
pydantic |
配置校验与数据建模 |
uv |
Python 依赖管理 |
.env |
运行参数配置 |
MCP Server |
工具扩展接口 |
LangSmith |
智能体评估系统 |
系统定位
部署指南模块是 Open Deep Research 的核心支撑组件,提供从开发到生产的全流程部署方案。通过标准化接口和灵活配置,确保系统在各类环境中稳定运行,显著提升可维护性和扩展性。
核心价值
本模块为项目提供完整的技术支撑:
- 覆盖环境配置、模型接入、工具扩展等全流程
- 支持多平台灵活部署
- 内置完善的评估测试机制
- 确保系统的高可用性和可扩展性
LangGraph 配置模块说明
模块定位
作为系统的核心配置中枢,负责:
- AI代理工作流定义
- 运行环境管理
- 安全认证集成
- 依赖关系维护
核心功能
1. 工作流配置
- 定义"Deep Researcher"智能体工作流
- 图结构化的执行逻辑编排
- 支持多节点任务分解
2. 环境管理
- Python 3.11 运行时配置
- 环境变量统一管理
- 本地依赖维护
3. 安全体系
- 集成标准化认证模块
- 完善的权限控制机制
- 企业级安全保障
架构设计
graph TD
"配置中心" --> "环境管理"
"配置中心" --> "工作流引擎"
"配置中心" --> "安全认证"
"配置中心" --> "依赖管理"
"环境管理" --> "Python配置"
"环境管理" --> "变量管理"
"工作流引擎" --> "智能体实例"
"工作流引擎" --> "图执行器"
"安全认证" --> "Auth模块"
"安全认证" --> "权限控制"
"依赖管理" --> "本地包"
"依赖管理" --> "外部依赖"
技术特性
- 声明式配置:JSON 格式,易读易维护
- 模块化设计:功能解耦,独立演进
- 环境隔离:确保运行稳定性
- 安全合规:内置企业级认证
- 智能依赖管理:支持本地/外部包
示例文档库说明
资源概览
类型:跨领域知识库
内容:
- AI 推理市场分析
- 医学研究综述
- 公共健康研究
核心价值
-
行业洞察:
- AI 推理市场竞争格局
- 技术演进趋势分析
-
医学参考:
- 糖尿病肾病治疗方案
- 个性化医疗策略
-
公共健康:
- 肥胖问题研究
- 干预措施建议
文档索引
| 文件 | 内容重点 | 应用场景 |
|---|---|---|
inference-market-gpt45.md |
AI 推理厂商技术对比 | 技术选型 |
inference-market.md |
市场趋势与定价分析 | 商业决策 |
pubmed.md |
肾病诊疗方案 | 临床参考 |
arxiv.md |
肥胖问题研究 | 政策制定 |
知识支撑
为以下模块提供专业参考:
- 技术架构设计
- 医疗系统开发
- 产品策略制定
更多推荐


所有评论(0)