引言:深度研究助手的崛起
不久前,OpenAI推出的Deep Research深度研究助手功能引起了广泛关注。该功能基于OpenAI最新的推理模型o3-mini和强大的信息获取引擎,能够深入挖掘网络信息并生成高质量的研究报告,为用户提供类似于"迷你研究团队"的体验。然而,Deep Research目前仅向ChatGPT Pro用户开放,而这需要高达200美元/月的订阅费用,这对许多用户来说是一项不小的开销。
为了解决这一问题,活跃的开源社区推出了一系列功能强大且成本更低的替代方案,这里统称为"Open Deep Research"。这些工具一般都是通过结合搜索引擎查询、网页抓取和大语言模型(LLM),为用户提供了类似Deep Research的能力,同时保持了开源工具的灵活性和透明度。本文此次介绍的这款Deep Research项目,则是由 Aomni(aomni.com)的CEO David Zhang开源的GitHub万星项目。该项目也是默认使用o3-mini作为核心LLM,同时使用Firecrawl作为信息搜索和抓取的工具。本文将详细介绍这款Deep Research的功能、使用方法,以及Firecrawl在其中扮演的重要角色。
深入研究的重要性与价值
Deep Research的核心价值在于其能够模拟人类研究员的深度探索过程。相比传统的AI聊天工具,Deep Research通过多步骤推理和深入阅读,能够从多种来源(如网页、PDF、图片等)中收集数据,并生成引用明确、结构清晰的综合报告。这种能力对于需要高准确性或数据验证的场景尤为重要。
Open Deep Research作为一种开源工具,通过结合搜索引擎查询、网页抓取和大语言模型(LLM),实现了类似的深度研究功能。其主要特点一般包括:
- 迭代式研究:生成相关的搜索查询,处理结果,并根据新发现进一步深入探索。
- 深度与广度控制:用户可以自定义研究的深度和广度,以满足不同的研究需求。
- 引用与参考:生成的报告中包含所有数据来源,便于用户验证信息的可靠性。
- API驱动:比如通过OpenAI和Firecrawl API,用户仅需为实际使用的部分付费。
这一工具不仅降低了使用门槛,还赋予用户对研究过程的透明性和控制权,是学术研究、市场分析和商业决策的有力助手。
Open Deep Research详解:功能与使用方法
功能全面概览
本文介绍的这款Open Deep Research项目地址为:github.com/dzhng/deep-…
该Open Deep Research的核心流程包括以下几个步骤:
- 智能查询生成:根据用户的研究目标和初始问题,生成多种精准搜索查询。
- 搜索结果深度处理:分析搜索结果,提取关键信息和研究方向。
- 递归探索机制:根据新的研究方向进一步挖掘信息,直到达到设定的研究深度。
- 结构化报告生成:将所有发现汇总为结构化的Markdown报告,包含完整的引用和参考。
下面是该项目的研究流程图,可以看到用户除了一般的查询输入,还可以指定研究的深度和宽度:
详细安装与配置指南
使用这款Open Deep Research也非常简单,只需以下几步即可开始:
-
克隆仓库并安装依赖:
git clone https://github.com/dzhng/deep-research.git cd deep-research npm install -
配置API密钥,在项目根目录建立.env.local文件:
在文件中添加以下内容:
FIRECRAWL_KEY="your_firecrawl_key" OPENAI_KEY="your_openai_key" -
启动应用:
npm start
关键使用提示与注意事项
这里有个小坑,我尝试的时候,发现o3-mini无法调用,研究发现是因为目前o3-mini的API调用需要至少Tier3的额度才行(如下图所示),如果不是经常使用OpenAI API的用户,目前就无法直接使用o3-mini了。
不过,该项目理论上支持任何兼容OpenAI SDK的调用方式,所以我就改用OpenRouter的API作为中转,成功调用o3-mini,具体就是在.env.local文件中按如下配置就可以:
FIRECRAWL_KEY="your_firecrawl_key"
OPENAI_KEY="your_openrouter_key"
OPENAI_ENDPOINT="https://openrouter.ai/api/v1"
OPENAI_MODEL="openai/o3-mini"
详细使用步骤与操作流程
启动应用后,系统会提示用户输入以下信息:
- 研究问题(明确具体的研究主题)。
- 研究广度(推荐范围:2–10,默认值为4)。
- 研究深度(推荐范围:1–5,默认值为2)。
- 回答后续问题以进一步优化研究方向。
系统会依次执行以下步骤:
- 生成并执行搜索查询。
- 处理和分析搜索结果。
- 根据新发现递归探索更深层次的信息。
- 生成一份包含完整引用的Markdown格式综合报告,保存在工作目录的
output.md文件中。
Firecrawl技术解析:Deep Research的信息获取引擎
o3-mini这样的LLM,主要是用来综合处理并输出信息的,所以另一个重要角色就是Firecrawl这样的信息抓取工具。Firecrawl是一种强大的数据抓取和处理工具,能够将网站内容转化为适合LLM处理的Markdown或结构化数据。
Firecrawl的核心功能与技术优势
- 高效网页抓取:支持从单个页面或整个网站抓取内容,生成Markdown、HTML等格式。
- 智能网站爬取:自动抓取所有可访问的子页面,无需提供站点地图。
- 精准数据提取:根据用户定义的模式或提示,从网页中提取结构化数据。
- 强大可靠性:能够处理复杂动态内容和反爬机制。
- 高度灵活性:支持自定义抓取参数,如最大抓取深度、文件格式等。
- 并行处理效率:支持批量抓取和并行处理,大幅提升数据获取效率。
Firecrawl Search服务详解
此外,这个项目还使用了Firecrawl独特的Search服务,这个服务将搜索引擎结果与抓取功能结合,能够直接根据用户的查询进行搜索并返回完整的网页内容,所以就不需要额外的搜索引擎了,能让代码也变得相对简单。下面是Search服务的简单Python示例,可以看到,对搜索也能做一些简单的定制,比如语言,国家,地区等。虽然没有专业搜索引擎那么复杂,不过处理小规模搜索应用也算足够。
import requests
url = "https://api.firecrawl.dev/v1/search"
payload = {
"query": "<string>",
"limit": 5,
"tbs": "<string>",
"lang": "en",
"country": "us",
"location": "<string>",
"timeout": 60000,
"scrapeOptions": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
实测案例分析:BYD与Tesla对比研究
作为实测,我输入的研究问题是:"比较BYD和Tesla这两家企业",系统会先生成三个让我回答的问题,用来确认研究的方向,然后就会自动生成相关搜索查询,解析搜索结果,提出待澄清性问题,根据迭代次数设定进行深入研究,并最终生成一份全面的研究报告,并列出全部的参考信息链接。
整份报告我设置的深度为3,宽度为3,Firecrawl一共搜索和爬取了60个网页,花费0.38美金,o3-mini处理信息并生成报告花费了0.588美金,合起来差不多要1美金,不到5分钟的时间。难怪OpenAI只给Pro用户开放这个功能,这么用有点烧钱,一个Plus用户每天用一次研究,就超额了!
生成的报告质量如何呢?我觉得还可以,不过暂时还没有特别客观的Benchmark,只能作为参考分享给大家。具体报告篇幅很长,这里就不复制粘贴了,原始版本还是英文的,我就用gpt-4o翻译了一下,中英文两个版本我都会放在公众号文章里,方便大家理解和对比。
结论与未来展望
推理模型与Firecrawl的结合,提供了一种务实且经济的深度研究解决方案。借助迭代式研究模型和精准的数据抓取能力,这一开源方案能够在较短时间内生成高质量的研究报告,同时有效规避了每月200美元订阅服务的支出。在学术研究、市场分析和技术探索等领域,该组合展现了不错的实用价值,并为用户提供了一个切实可行的替代选择。
未来,随着更多开源模型的发展和数据抓取技术的进步,我们可以期待这类工具在性能和成本效益上的进一步提升,为更广泛的用户群体提供专业级的研究能力。