langchain-ai/open_deep_research
GitHub: langchain-ai/open_deep_research
一个开源的深度研究 Agent,支持多种模型和搜索工具,自动执行多轮检索与综合分析并生成高质量研究报告。
Stars: 12067 | Forks: 1730
# 🔬 Open Deep Research
深度研究(Deep research)已成为最受欢迎的 agent 应用之一。这是一个简单、可配置且完全开源的深度研究 agent,兼容多种模型提供商、搜索工具和 MCP 服务器。其性能与许多流行的深度研究 agent 相当([请参阅 Deep Research Bench 排行榜](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard))。
### 🔥 最近更新
**2025年8月14日**:请参阅我们关于构建开源深度研究的免费课程,[点击这里](https://academy.langchain.com/courses/deep-research-with-langgraph)(课程仓库在[这里](https://github.com/langchain-ai/deep_research_from_scratch))。
**2025年8月7日**:添加了 GPT-5 支持,并更新了 Deep Research Bench 评估,加入了 GPT-5 的结果。
**2025年8月2日**:以 0.4344 的总分在 [Deep Research Bench 排行榜](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard)上获得第 6 名。
**2025年7月30日**:在我们的[博客文章](https://rlancemartin.github.io/2025/07/30/bitter_lesson/)中了解从最初实现到当前版本的演变过程。
**2025年7月16日**:在我们的[博客](https://blog.langchain.com/open-deep-research/)中阅读更多内容,并观看我们的[视频](https://www.youtube.com/watch?v=agGiWUpxkhg)以获取快速概述。
### 🚀 快速开始
1. 克隆仓库并激活虚拟环境:
```
git clone https://github.com/langchain-ai/open_deep_research.git
cd open_deep_research
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
2. 安装依赖项:
```
uv sync
# 或
uv pip install -r pyproject.toml
```
3. 设置您的 `.env` 文件以自定义环境变量(用于模型选择、搜索工具和其他配置设置):
```
cp .env.example .env
```
4. 在本地使用 LangGraph server 启动 agent:
```
# 安装 dependencies 并启动 LangGraph server
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev --allow-blocking
```
这将在您的浏览器中打开 LangGraph Studio UI。
```
- 🚀 API: http://127.0.0.1:2024
- 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- 📚 API Docs: http://127.0.0.1:2024/docs
```
在 `messages` 输入框中提问并点击 `Submit`。在“Manage Assistants”标签页中选择不同的配置。
### ⚙️ 配置
#### LLM :brain:
Open Deep Research 通过 [init_chat_model() API](https://python.langchain.com/docs/how_to/chat_models_universal_init/) 支持多种 LLM 提供商。它将 LLM 用于完成几项不同的任务。有关更多详细信息,请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 文件中的以下模型字段。可以通过 LangGraph Studio UI 访问这些配置。
- **摘要生成 (Summarization)**(默认:`openai:gpt-4.1-mini`):总结搜索 API 结果
- **研究 (Research)**(默认:`openai:gpt-4.1`):为搜索 agent 提供动力
- **压缩 (Compression)**(默认:`openai:gpt-4.1`):压缩研究发现
- **最终报告模型 (Final Report Model)**(默认:`openai:gpt-4.1`):撰写最终报告
#### 搜索 API :mag:
Open Deep Research 支持多种搜索工具。默认情况下,它使用 [Tavily](https://www.tavily.com/) 搜索 API。它具备完全的 MCP 兼容性,并支持 Anthropic 和 OpenAI 的原生网络搜索。有关更多详细信息,请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 文件中的 `search_api` 和 `mcp_config` 字段。可以通过 LangGraph Studio UI 访问这些配置。
#### 其他
请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 中的字段,了解用于自定义 Open Deep Research 行为的各种其他设置。
### 📊 评估
Open Deep Research 已配置为使用 [Deep Research Bench](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard) 进行评估。该基准测试包含 100 个博士级研究任务(50 个英文,50 个中文),由 22 个领域(例如科技、商业与金融)的领域专家精心设计,以反映现实世界的深度研究需求。它包含 2 个评估指标,但排行榜基于 RACE 分数。它使用 LLM 作为裁判(Gemini),根据专家编制的黄金报告集,通过一系列指标对研究报告进行评估。
#### 用法
该数据集可通过[此链接在 LangSmith 上获取](https://smith.langchain.com/public/c5e7a6ad-fdba-478c-88e6-3a388459ce8b/d)。要启动评估,请运行以下命令:
```
# 在 LangSmith datasets 上运行全面评估
python tests/run_evaluate.py
```
这将提供一个指向 LangSmith 实验的链接,该实验将具有一个名称 `YOUR_EXPERIMENT_NAME`。完成后,将结果提取到 JSONL 文件中,以便提交给 Deep Research Bench。
```
python tests/extract_langsmith_data.py --project-name "YOUR_EXPERIMENT_NAME" --model-name "you-model-name" --dataset-name "deep_research_bench"
```
这将生成具有所需格式的 `tests/expt_results/deep_research_bench_model-name.jsonl` 文件。将生成的 JSONL 文件移动到 Deep Research Bench 仓库的本地克隆中,并按照他们的[快速入门指南](https://github.com/Ayanami0730/deep_research_bench?tab=readme-ov-file#quick-start)提交评估。
#### 结果
| 名称 | Commit | 摘要生成 | 研究 | 压缩 | 总成本 | 总 Token 数 | RACE 分数 | 实验 |
|------|--------|---------------|----------|-------------|------------|--------------|------------|------------|
| GPT-5 | [ca3951d](https://github.com/langchain-ai/open_deep_research/pull/168/commits) | openai:gpt-4.1-mini | openai:gpt-5 | openai:gpt-4.1 | | 204,640,896 | 0.4943 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-613c-4bda-8bde-f64f0422bbf3/compare?selectedSessions=4d5941c8-69ce-4f3d-8b3e-e3c99dfbd4cc&baseline=undefined) |
| 默认配置 | [6532a41](https://github.com/langchain-ai/open_deep_research/commit/6532a4176a93cc9bb2102b3d825dcefa560c85d9) | openai:gpt-4.1-mini | openai:gpt-4.1 | openai:gpt-4.1 | $45.98 | 58,015,332 | 0.4309 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=cf4355d7-6347-47e2-a774-484f290e79bc&baseline=undefined) |
| Claude Sonnet 4 | [f877ea9](https://github.com/langchain-ai/open_deep_research/pull/163/commits/f877ea93641680879c420ea991e998b47aab9bcc) | openai:gpt-4.1-mini | anthropic:claude-sonnet-4-20250514 | openai:gpt-4.1 | $187.09 | 138,917,050 | 0.4401 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=04f6002d-6080-4759-bcf5-9a52e57449ea&baseline=undefined) |
| Deep Research Bench 提交 | [c0a160b](https://github.com/langchain-ai/open_deep_research/commit/c0a160b57a9b5ecd4b8217c3811a14d8eff97f72) | openai:gpt-4.1-nano | openai:gpt-4.1 | openai:gpt-4.1 | $87.83 | 207,005,549 | 0.4344 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=e6647f74-ad2f-4cb9-887e-acb38b5f73c0&baseline=undefined) |
### 🚀 部署与使用
#### LangGraph Studio
按照[快速入门](#-quickstart)在本地启动 LangGraph server,并在 LangGraph Studio 上测试该 agent。
#### 托管部署
您可以轻松部署到 [LangGraph Platform](https://langchain-ai.github.io/langgraph/concepts/#deployment-options)。
#### Open Agent Platform
Open Agent Platform (OAP) 是一个 UI 界面,非技术用户可以通过它构建和配置自己的 agent。OAP 非常适合允许用户使用最适合他们需求以及他们想要解决的问题的不同 MCP 工具和搜索 API 来配置 Deep Researcher。
我们已经将 Open Deep Research 部署到了 OAP 的公开演示实例中。您只需添加您的 API Keys,就可以亲自测试 Deep Researcher 了!在[这里](https://oap.langchain.com)试试吧。
您也可以部署自己的 OAP 实例,并在其上向您的用户提供您自己的自定义 agent(如 Deep Researcher)。
1. [部署 Open Agent Platform](https://docs.oap.langchain.com/quickstart)
2. [将 Deep Researcher 添加到 OAP](https://docs.oap.langchain.com/setup/agents)
### 早期实现 🏛️
`src/legacy/` 文件夹包含两个早期实现,它们提供了实现自动化研究的替代方法。它们的性能不如当前的实现,但提供了解析深度研究不同方法的替代思路。
#### 1. 工作流实现 (`legacy/graph.py`)
- **计划与执行 (Plan-and-Execute)**:具有人机协作 (human-in-the-loop) 规划的结构化工作流
- **顺序处理 (Sequential Processing)**:通过反思逐个创建部分
- **交互控制 (Interactive Control)**:允许对报告计划进行反馈和审批
- **注重质量 (Quality Focused)**:通过迭代优化强调准确性
#### 2. 多 Agent 实现 (`legacy/multi_agent.py`)
- **主管-研究员架构 (Supervisor-Researcher Architecture)**:协调的多 agent 系统
- **并行处理 (Parallel Processing)**:多名研究员同时工作
- **速度优化 (Speed Optimized)**:通过并发实现更快的报告生成
- **MCP 支持 (MCP Support)**:广泛的 Model Context Protocol 集成
深度研究(Deep research)已成为最受欢迎的 agent 应用之一。这是一个简单、可配置且完全开源的深度研究 agent,兼容多种模型提供商、搜索工具和 MCP 服务器。其性能与许多流行的深度研究 agent 相当([请参阅 Deep Research Bench 排行榜](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard))。
### 🔥 最近更新
**2025年8月14日**:请参阅我们关于构建开源深度研究的免费课程,[点击这里](https://academy.langchain.com/courses/deep-research-with-langgraph)(课程仓库在[这里](https://github.com/langchain-ai/deep_research_from_scratch))。
**2025年8月7日**:添加了 GPT-5 支持,并更新了 Deep Research Bench 评估,加入了 GPT-5 的结果。
**2025年8月2日**:以 0.4344 的总分在 [Deep Research Bench 排行榜](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard)上获得第 6 名。
**2025年7月30日**:在我们的[博客文章](https://rlancemartin.github.io/2025/07/30/bitter_lesson/)中了解从最初实现到当前版本的演变过程。
**2025年7月16日**:在我们的[博客](https://blog.langchain.com/open-deep-research/)中阅读更多内容,并观看我们的[视频](https://www.youtube.com/watch?v=agGiWUpxkhg)以获取快速概述。
### 🚀 快速开始
1. 克隆仓库并激活虚拟环境:
```
git clone https://github.com/langchain-ai/open_deep_research.git
cd open_deep_research
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
2. 安装依赖项:
```
uv sync
# 或
uv pip install -r pyproject.toml
```
3. 设置您的 `.env` 文件以自定义环境变量(用于模型选择、搜索工具和其他配置设置):
```
cp .env.example .env
```
4. 在本地使用 LangGraph server 启动 agent:
```
# 安装 dependencies 并启动 LangGraph server
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev --allow-blocking
```
这将在您的浏览器中打开 LangGraph Studio UI。
```
- 🚀 API: http://127.0.0.1:2024
- 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- 📚 API Docs: http://127.0.0.1:2024/docs
```
在 `messages` 输入框中提问并点击 `Submit`。在“Manage Assistants”标签页中选择不同的配置。
### ⚙️ 配置
#### LLM :brain:
Open Deep Research 通过 [init_chat_model() API](https://python.langchain.com/docs/how_to/chat_models_universal_init/) 支持多种 LLM 提供商。它将 LLM 用于完成几项不同的任务。有关更多详细信息,请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 文件中的以下模型字段。可以通过 LangGraph Studio UI 访问这些配置。
- **摘要生成 (Summarization)**(默认:`openai:gpt-4.1-mini`):总结搜索 API 结果
- **研究 (Research)**(默认:`openai:gpt-4.1`):为搜索 agent 提供动力
- **压缩 (Compression)**(默认:`openai:gpt-4.1`):压缩研究发现
- **最终报告模型 (Final Report Model)**(默认:`openai:gpt-4.1`):撰写最终报告
#### 搜索 API :mag:
Open Deep Research 支持多种搜索工具。默认情况下,它使用 [Tavily](https://www.tavily.com/) 搜索 API。它具备完全的 MCP 兼容性,并支持 Anthropic 和 OpenAI 的原生网络搜索。有关更多详细信息,请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 文件中的 `search_api` 和 `mcp_config` 字段。可以通过 LangGraph Studio UI 访问这些配置。
#### 其他
请参阅 [configuration.py](https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/configuration.py) 中的字段,了解用于自定义 Open Deep Research 行为的各种其他设置。
### 📊 评估
Open Deep Research 已配置为使用 [Deep Research Bench](https://huggingface.co/spaces/Ayanami0730/DeepResearch-Leaderboard) 进行评估。该基准测试包含 100 个博士级研究任务(50 个英文,50 个中文),由 22 个领域(例如科技、商业与金融)的领域专家精心设计,以反映现实世界的深度研究需求。它包含 2 个评估指标,但排行榜基于 RACE 分数。它使用 LLM 作为裁判(Gemini),根据专家编制的黄金报告集,通过一系列指标对研究报告进行评估。
#### 用法
该数据集可通过[此链接在 LangSmith 上获取](https://smith.langchain.com/public/c5e7a6ad-fdba-478c-88e6-3a388459ce8b/d)。要启动评估,请运行以下命令:
```
# 在 LangSmith datasets 上运行全面评估
python tests/run_evaluate.py
```
这将提供一个指向 LangSmith 实验的链接,该实验将具有一个名称 `YOUR_EXPERIMENT_NAME`。完成后,将结果提取到 JSONL 文件中,以便提交给 Deep Research Bench。
```
python tests/extract_langsmith_data.py --project-name "YOUR_EXPERIMENT_NAME" --model-name "you-model-name" --dataset-name "deep_research_bench"
```
这将生成具有所需格式的 `tests/expt_results/deep_research_bench_model-name.jsonl` 文件。将生成的 JSONL 文件移动到 Deep Research Bench 仓库的本地克隆中,并按照他们的[快速入门指南](https://github.com/Ayanami0730/deep_research_bench?tab=readme-ov-file#quick-start)提交评估。
#### 结果
| 名称 | Commit | 摘要生成 | 研究 | 压缩 | 总成本 | 总 Token 数 | RACE 分数 | 实验 |
|------|--------|---------------|----------|-------------|------------|--------------|------------|------------|
| GPT-5 | [ca3951d](https://github.com/langchain-ai/open_deep_research/pull/168/commits) | openai:gpt-4.1-mini | openai:gpt-5 | openai:gpt-4.1 | | 204,640,896 | 0.4943 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-613c-4bda-8bde-f64f0422bbf3/compare?selectedSessions=4d5941c8-69ce-4f3d-8b3e-e3c99dfbd4cc&baseline=undefined) |
| 默认配置 | [6532a41](https://github.com/langchain-ai/open_deep_research/commit/6532a4176a93cc9bb2102b3d825dcefa560c85d9) | openai:gpt-4.1-mini | openai:gpt-4.1 | openai:gpt-4.1 | $45.98 | 58,015,332 | 0.4309 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=cf4355d7-6347-47e2-a774-484f290e79bc&baseline=undefined) |
| Claude Sonnet 4 | [f877ea9](https://github.com/langchain-ai/open_deep_research/pull/163/commits/f877ea93641680879c420ea991e998b47aab9bcc) | openai:gpt-4.1-mini | anthropic:claude-sonnet-4-20250514 | openai:gpt-4.1 | $187.09 | 138,917,050 | 0.4401 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=04f6002d-6080-4759-bcf5-9a52e57449ea&baseline=undefined) |
| Deep Research Bench 提交 | [c0a160b](https://github.com/langchain-ai/open_deep_research/commit/c0a160b57a9b5ecd4b8217c3811a14d8eff97f72) | openai:gpt-4.1-nano | openai:gpt-4.1 | openai:gpt-4.1 | $87.83 | 207,005,549 | 0.4344 | [链接](https://smith.langchain.com/o/ebbaf2eb-769b-4505-aca2-d11de10372a4/datasets/6e4766ca-6[…]ons=e6647f74-ad2f-4cb9-887e-acb38b5f73c0&baseline=undefined) |
### 🚀 部署与使用
#### LangGraph Studio
按照[快速入门](#-quickstart)在本地启动 LangGraph server,并在 LangGraph Studio 上测试该 agent。
#### 托管部署
您可以轻松部署到 [LangGraph Platform](https://langchain-ai.github.io/langgraph/concepts/#deployment-options)。
#### Open Agent Platform
Open Agent Platform (OAP) 是一个 UI 界面,非技术用户可以通过它构建和配置自己的 agent。OAP 非常适合允许用户使用最适合他们需求以及他们想要解决的问题的不同 MCP 工具和搜索 API 来配置 Deep Researcher。
我们已经将 Open Deep Research 部署到了 OAP 的公开演示实例中。您只需添加您的 API Keys,就可以亲自测试 Deep Researcher 了!在[这里](https://oap.langchain.com)试试吧。
您也可以部署自己的 OAP 实例,并在其上向您的用户提供您自己的自定义 agent(如 Deep Researcher)。
1. [部署 Open Agent Platform](https://docs.oap.langchain.com/quickstart)
2. [将 Deep Researcher 添加到 OAP](https://docs.oap.langchain.com/setup/agents)
### 早期实现 🏛️
`src/legacy/` 文件夹包含两个早期实现,它们提供了实现自动化研究的替代方法。它们的性能不如当前的实现,但提供了解析深度研究不同方法的替代思路。
#### 1. 工作流实现 (`legacy/graph.py`)
- **计划与执行 (Plan-and-Execute)**:具有人机协作 (human-in-the-loop) 规划的结构化工作流
- **顺序处理 (Sequential Processing)**:通过反思逐个创建部分
- **交互控制 (Interactive Control)**:允许对报告计划进行反馈和审批
- **注重质量 (Quality Focused)**:通过迭代优化强调准确性
#### 2. 多 Agent 实现 (`legacy/multi_agent.py`)
- **主管-研究员架构 (Supervisor-Researcher Architecture)**:协调的多 agent 系统
- **并行处理 (Parallel Processing)**:多名研究员同时工作
- **速度优化 (Speed Optimized)**:通过并发实现更快的报告生成
- **MCP 支持 (MCP Support)**:广泛的 Model Context Protocol 集成标签:AI智能体, LangChain, Petitpotam, 人工智能, 深度研究, 用户模式Hook绕过, 网络调试, 自动化, 轻量级, 逆向工具