在OSS 的 Open Deep Research 中实现 Deep Research

前言

这次我想实际运行由 Hugging Face 公开的开源 AI 代理(AI Agent)——Open Deep Research。

huggingface.co

  1. 概要

Deep Research 指的是在进行网络搜索的同时,自主收集信息并输出详细报告的服务。目前,带有 “Deep Research” 名称的代表性服务如下。

服务名称OpenAI Deep ResearchGoogle Gemini Deep ResearchPerplexity Deep ResearchOpen Deep Research
提供商OpenAIGooglePerplexity AIHugging Face
价格ChatGPT Pro(月费 200 美元),ChatGPT Plus(月费 20 美元)可有限次数使用Gemini Advanced(月费 20 美元)免费(未注册用户每日限 5 次)免费(开源)
精度GAIA 基准测试 67%、Humanity’s Last Exam 26.6%(采用 GPT-4 系列 “o3” 模型)无官方基准测试,被评价为可生成高精度医疗、市场调查报告Humanity’s Last Exam 21.1%,检索与解读性能强,但存在部分错误取决于开源模型性能(使用 o1 模型时,GAIA 55%、Humanity’s Last Exam 8.5%)
特点在 ChatGPT 内运行,结合检索与推理,5-30 分钟生成详细调查报告从 50 余个网站收集信息,支持计划编辑、进度可视化、Google 文档输出通过反复检索与推理,短时间生成全面报告,具备检索对象指定及导出功能仅需开源大语言模型即可运行,适合完全离线部署及隐私保护

在以上服务中,本次我想重点介绍由 Hugging Face 开发的开源项目 ——Open Deep Research。该服务以复现 OpenAI 的 Deep Research 为目标,与 OpenAI Deep Research 类似,可结合大规模语言模型(LLM)与代理框架进行信息检索和推理。

huggingface.co

openai.com

OpenAI 的 Deep Research 是一款利用网络检索来应对复杂问题的工具,但其代理框架的详细信息未公开。与之相对,Hugging Face 团队开发了这款 “Open Deep Research” 作为开源替代方案,构建了任何人都可使用、改良的系统。

Open Deep Research 的工作机制

Open Deep Research 通过以下两种代理协同工作,实现信息检索与推理。

CodeAgent

  • 接收用户的问题,制定检索计划
  • 将检索任务交给其他代理(SearchAgent)

SearchAgent

  • 负责实际执行网络检索、收集并整理信息的工作。

具体流程如下。

尤其值得注意的是,CodeAgent 向 SearchAgent 下达指令的方式基于以下代码形式,通过这种方式,Agent 能够将更复杂的操作作为指令传递出去。

Open Deep Research 的请求示例

search_results = search_agent(task="请在互联网上搜索关于『Open Deep Research』的信息,调查其属于何种组织或具体活动内容。")
print(search_results)

2. 运行 Open Deep Research

接下来,我们马上开始实际运行 Open Deep Research。

准备工作

需获取以下 3 个 API 密钥:

此外,本次将使用 o1 模型进行 Deep Research。

搭建方法

按照以下步骤搭建环境:

git clone https://github.com/huggingface/smolagents.git
cd smolagents/examples/open_deep_research

pip install -r requirements.txt
pip install smolagents[litellm]

export OPENAI_API_KEY="填入获取的密钥"
export HF_TOKEN="填入获取的Hugging Face令牌"
export SERPAPI_API_KEY="填入SERPAPI的密钥"

执行搜索

使用以下命令执行搜索:

python run.py --model-id "o1" "请介绍一下Open Deep Research。"

执行过程(中途进展)

启动搜索后,内部会执行如下处理:

以下是我为解决该任务将遵循的行动方案: 1. 审视任务“请介绍一下Open Deep Research。”及已知事实。 2. 调用search_agent获取关于“Open Deep Research”的信息。 3. 总结搜索结果中的关键信息,例如背景、目标或重要成果。 4. 使用final_answer呈现调查结果。

━━━━━━━━━━━━━━━━━━━━━━━━━ 步骤 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

大语言模型(LLM)的输出信息: ──────────────────────────────

思考:我需要查找关于 “Open Deep Research” 的信息。我会让 search_agent 用中文进行网络搜索以获取相关信息。

代码:

py

search_results = search_agent(task="请在互联网上搜索关于『Open Deep
Research』的信息,调查其属于何种组织或具体活动内容。")
print(search_results)

─ 执行解析后的代码: ──────────────────────────────search_results = search_agent (task=” 请在互联网上搜索关于『Open DeepResearch』的信息,调查其属于何种组织或具体活动内容。”)

print(search_results)

──────────────────────────────

可以看出,CodeAgent 通过 Python 代码形式向 SearchAgent 发送请求,SearchAgent 则根据该请求执行搜索操作。

回答结果

获取到的回答:以下是关于『Open Deep Research』的概要总结。

【概要】

『Open Deep Research』是一个开源项目,旨在运用 AI 技术及网络搜索功能获取大量信息,为摘要撰写、报告生成及研究工作提供支持。GitHub 上存在多个相关仓库,目前该项目正以开源形式推进开发与改进。此外,其官方网站及演示版本等也已公开,任何人都可进行部署与扩展。

【背景・特点】

  • 其核心特点是基于 OpenAI 最初发布的 “Deep Research”,由社区主导实现了 “开源化”。
  • 具备 AI 代理(AI Agent)检索、分析互联网上的大规模文本数据,并自动生成摘要与报告的功能。
  • 也能看到其采用结合 Firecrawl 等爬虫技术以提升搜索精度的实现方式。

【应用案例】

  • 预计可用于需高效处理网络上海量信息的场景,例如自动生成研究资料、整理信息等。
  • 由于属于非营利性社区项目,开发者与用户正通过协作扩充、改进功能,推动项目发展。

【注意事项】

  • 搜索到的信息多汇总于 2025 年前后,该项目可能尚未形成固定的正式企业组织。实际使用时,建议确认 GitHub 仓库及官方网站(如https://opendeepresearch.vercel.app 等)。
  • 关于许可证形式及持续开发状况,也建议提前核查最新信息。

以上即为关于『Open Deep Research』的主要信息。

系统已根据最新信息,生成了关于搜索对象的报告。

与 OpenAI Deep Research 的对比

向 OpenAI Deep Research 提出相同问题后,得到的结果如下。

OpenAI Deep Research 的回答结果:

明白了。我将对 “Open Deep Research” 的概况进行调查,并汇总其目的、活动内容、相关组织及项目等信息。调查完成后会通知您。

Open Deep Research 概况

一、概述

Open Deep Research(开放深度研究)是一个旨在为 OpenAI 开发的高级调查代理(AI Agent)“Deep Research” 提供开源替代方案的项目。该项目以 Hugging Face 联合创始人托马斯・沃尔夫(Thomas Wolf)等人为核心,目标是让任何人都能结合自己偏好的语言模型,在本地环境中使用高级调查代理。具体而言,其公开了 OpenAI 未披露的代理控制部分(即指示网络浏览、工具使用的框架)并自行实现相关功能,肩负着推动封闭性尖端 AI 功能民主化的使命。

二、主要研究领域与活动内容

Open Deep Research 的核心焦点是实现与 Deep Research 同等的网络研究功能。针对用户的问题,它能自动从互联网收集、分析信息,进行逻辑推理并生成长篇回答。其特色功能可归纳为以下 3 点:

  • 内容发现:通过网络搜索收集与用户问题相关的信息(自动生成搜索查询,探寻最新信息)。
  • 内容整合:汇总、整合来自多个信息源的内容,提取关键要点。
  • 信息推理:基于收集到的信息进行层层逻辑推理,得出针对问题的结论及详细解释。

通过上述流程,该项目据称可在数分钟至数十分钟内完成人类需耗时数小时的调查工作,并生成专业级的详细报告。

从技术层面看,Open Deep Research 通过组合以下要素实现功能:

  1. 搜索引擎:借助外部搜索服务检索相关信息,获取对应页面的 URL(例如 DuckDuckGo API 等)。
  2. 解析器(网页内容提取):从搜索结果的 URL 中提取页面正文,并转换为文本数据的模块。
  3. 大规模语言模型(LLM):基于提取的文本执行摘要生成、问答及推理的 AI 模型(目前主要使用 OpenAI 的 o1 等模型)。
  4. 代理控制逻辑:指示 LLM 使用网络浏览、文件读取等工具,并管理多步骤操作的框架。在 Hugging Face 版本中,该逻辑通过 Python 轻量级代理库 “smolagents” 实现,并结合 OpenAI 的 LLM(o1 模型)API,复现了与 Deep Research 相当的运行效果。

三、相关组织与项目

Open Deep Research 是由Hugging Face 公司的研究团队推进的项目。尤其是托马斯・沃尔夫(Hugging Face 联合创始人)、艾美瑞・鲁歇尔(Aymeric Roucher)等人通过 24 小时黑客马拉松式的努力搭建了原型,并公开了成果。该项目受 OpenAI 的 Deep Research(原始封闭代理)启发,以开源社区的协作支持为显著特征。

目前存在多个具有类似目标的相关项目。例如,Jina AI 公司开发了基于 TypeScript/Node.js 实现的开源代理 “node-DeepResearch”,采用以 Google 的 PaLM 2、Gemini 模型为后端的技术路径。此外,个人开发者开发的复刻版本也陆续出现,据 Hugging Face 报告,dzhngnickscamara等开发者已各自公开了 Deep Research 的开源版本。这些尝试相互促进,为整个代理 AI 领域的发展做出了贡献。

四、官方网站与信息来源

Open Deep Research 的官方信息及资源如下:

  • 官方博客文章(Hugging Face 博客):Hugging Face 于 2025 年 2 月 4 日公开的文章《Open-source DeepResearch – Freeing our search agents》(开源 DeepResearch—— 解放我们的搜索代理),详细解读了 Open Deep Research 的背景、实现方式及成果。
  • 演示网站(Hugging Face Spaces):在 Hugging Face 提供的演示页面可试用 Open Deep Research。从浏览器输入问题后,代理会自动执行搜索并给出回答。目前该演示收到了来自全球的大量请求,可能会出现响应等待时间较长的情况。
  • 源代码(GitHub):Open Deep Research 的实现代码已在GitHub公开,可在 Hugging Face 的smolagents仓库内的open_deep_research示例中查看。任何人都可浏览、使用代码,同时也欢迎通过 Issue(问题反馈)和 Pull Request(代码提交)提供反馈与贡献。

此外,TechCrunch、Ars Technica 等科技媒体也已针对该项目发布详细报道;日语信息方面,Qiita、GIGAZINE 等平台介绍了项目背景及搭建方法。

五、最新研究成果与发布动态

Open Deep Research 自公开以来便展现出较高性能,据报道其成果已接近 OpenAI 官方的 Deep Research。具体而言,在测试通用 AI 助手能力的GAIA 基准测试中,Deep Research 官方版本的平均正确率达到67.36% ,而 Open Deep Research 的得分已达到54% 左右。仅用约 1 天时间便复现核心功能,并实现了官方版本约 80% 的性能,这无疑是一项重大成果。Hugging Face 团队表示 “这仅仅是开始,仍有许多需要改进的地方”,并明确表达了将持续推进开发以提升性能的意向。

此后,Open Deep Research 持续稳步更新。例如,截至 2025 年 3 月,项目已新增 “Visual Flow”(可视化流程)功能,可将代理的探索过程以视觉形式呈现,便于用户理解多阶段深度调查的流程。此外,作为未来计划,团队还将致力于开发可与 OpenAI 发布的浏览器操作代理 “Operator” 相媲美的GUI 操作兼容代理(通过视觉识别画面,使用鼠标、键盘进行操作的代理)。从这些最新动态可以看出,Open Deep Research 项目正与社区协作不断进化,站在拓展开源 AI 代理可能性的最前沿。

以下是简单的对比。

对比项目Open Deep ResearchOpenAI Deep Research
参考网站数量8 个网站17 个网站
回答所需时间约 2 分钟约 16 分钟
报告质量反映了搜索结果,但内容较为简洁能触及搜索结果的细节之处

结果来看,果然还是 OpenAI Deep Research 参考了更多网站,生成的报告内容也更充实。

不过,Hugging Face 的 Open Deep Research 作为开源项目公开,能够结合任意的大语言模型(LLM),还可以嵌入自家服务中使用,这一点是很有优势的。

总结

我实际运行了作为开源项目公开的 Open Deep Research。

能够通过开源(OSS)搭建 Deep Research 功能,这一点让我觉得很有吸引力。

在精度方面,随着 Operator 等功能的引入,未来还有很大的改善空间,非常期待后续的更新。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注