前言
近日,Open AI的Deep Research(深度研究)功能一经推出,迅速受到诸多关注,通过将大模型+超级搜索+研究助理的三合一,金融机构一键生成报告、科研党一键生成综述成为可能。
但囿于企业场景私有化数据的敏感性以及成本问题,如何基于Deep Research做开源的本地化部署,成为不少人关心的问题。
在本篇文章里,我们将对市面上复现Deep Research的各类开源项目做一个简单的分析,并结合Deepseek等主流开源模型,推出开源项目Deep Searcher,帮助大家在企业级场景中,基于Deep Research思路,做私有化部署。这个方案也在目前常见的RAG方案上做了重大升级。
Github 尝鲜链接https://github.com/zilliztech/deep-searcher
什么是Deep Research,为什么需要开源平替?
OpenAI近期推出了一款名为Deep Research的高级AI研究工具,旨在帮助用户高效完成复杂的研究任务。该工具基于OpenAI最新的o3模型,专为网络浏览和数据分析优化。
主要功能
(1)多步骤信息收集与推理:Deep Research能够自主进行多步骤的网络调查,快速整合来自互联网的海量信息,包括文本、图像和PDF文件。
(2)专业级报告生成:通过分析和综合数百个在线资源,Deep Research能在5到30分钟内生成一份带有详细引用的专业报告,大幅缩短传统研究所需时间。
应用场景
(1)学术研究:学生和研究人员可以利用Deep Research快速获取相关领域的深入资料,辅助论文写作和课题研究。
(2)市场分析:企业可以使用该工具进行市场调研、竞争对手分析及产品比较等,支持商业决策。
(3)产品评估:消费者能够借助Deep Research对比不同产品的特性和评价,做出明智的购买决策。
总的来说,Deep Research作为OpenAI推出的深度研究产品,旨在通过自动化的信息收集和分析,帮助用户高效完成复杂的研究任务。不过目前,Deep Research仅向美国地区的OpenAI Pro用户开放,成本需要每月200美金,且每月仅能进行100次查询。
开源方案
目前,大部分用户尚无法使用OpenAI的Deep Research功能。不过好在OpenAI发布该功能后,许多开源贡献者纷纷投入分析,尝试复现该功能。
目前Github上已有许多开源方案,其大致实现思路分为四个步骤:
步骤一,问题分析:大模型分析用户输入问题,确定回答该问题所需的角度和步骤。目前许多大模型(如DeepSeek、ChatGPT、Gemini等)只需勾选推理选项即可生成这一过程。
步骤二,在线搜索:根据生成的问题逐一进行在线搜索,并获取搜索结果的前k项,将其内容反馈给大模型。
步骤三,内容总结:大模型根据在线内容总结出简洁答案。
步骤四,答案判定:将所有内容汇总后,由大模型判断答案是否完整、准确。
如果完整准确,则输出最终答案。
如果达到设定的循环次数或token上限,也输出最终答案。
否则,生成新的问题,重新进入第一步,同时将历史解决信息带入下一次循环。
相比传统RAG,Deep Research有何亮点与不足
相对于之前的RAG(Retrieval-Augmented Generation),该方案有三点突破:
一、额外判定逻辑:通过添加判定逻辑,提高答案的准确性。Deep Research 可以采用多源验证、逻辑推导等质量控制机制,确保研究结果的可靠性,并避免了传统 RAG 中存在的盲目检索和过度检索问题。相比之下,传统 RAG 在信息整合和验证方面可能不够完善
二、搜索结果为主:答案更多来源于搜索结果,而非大模型生成。大模型主要负责内容总结和相关性判定,从而提高答案的可信度。
三、深度思考与复杂任务处理:Deep Research 能够像人类研究员一样自主进行多步骤的互联网研究,理解信息、整合资源,并根据新发现调整研究计划,这种自主性和多步骤解决问题的能力,普通RAG难以做到。
优点很突出,但缺点也不容忽视,从前面给出的实现方案中不难看出,Deep Research 除了响应速度较慢、对算力、网络都有着更高需求之外,其答案的主要信息来源依然还是公开的网络搜索结果。
但对于绝大多数企业场景来说,真正有价值的数据,多以企业内部数据的形式存在,既无法通过在线搜索获取,也不能被上传给大模型,出现隐私泄露风险,这也就导致了它们无法被Deep Research利用。此外,在线搜索引擎的搜索结果可能存在误导(如广告),且小众搜索引擎可能存在延时问题。
因此,在大多数企业级场景中,基于Deep Research思路,做私有化部署,或许是一个更优解决方案。
接下来,我们以Deep Searcher为例,来展示如何通过开源项目+本地数据,部署一个本地升级版Deep Research。
如何针对私有数据,做Deep Research
下图是基于大部分开源Deep Research方案基础上进行改良,做出的Deep Searcher开源实现方案架构:
可以看到,Deep Searcher通过引入向量数据库Milvus,可以对用户存储在本地的数据进行海量低延时的离线搜索。
具体实现思路上,Deep Searcher分为三步:
第一步,问题分析:获取用户问题后,通过LLM分析生成多个子问题,并确定每个问题涉及的数据集合。
第二步,信息检索:根据大模型的分析结果,从向量数据库中检索相关信息。值得注意的是,向量数据库中的数据均为离线数据,因此在查询前需先将数据写入数据库。这些数据可以是内部私有数据、在线获取后下载的数据,或其他流系统中定期输入的数据。
第三步,内容判定:向量数据库检索到相似信息后,将用户原始问题、每个子问题及其相似搜索结果交由大模型进行内容判定。
如果问题已被完整回答,则进入最终回答阶段。
如果达到设定的循环次数或token上限,也进入最终回答阶段。
否则,大模型生成新的问题,进入下一次循环。
亮点
(1)私有数据利用:最大化利用私有数据,更好地接入大模型。
(2)向量数据库优势:充分利用向量数据库的海量数据处理能力、低延时搜索、多种索引参数、高可用性和资源弹性管理等优势。
(3)数据管理:通过向量数据库有效管理私有数据,针对不同类型的数据进行分库分表,接入多种应用,最大化利用数据,降低数据管理成本。
值得注意的是,为更好地保护私有数据,使用的LLM应为离线模型。如使用LLM API,虽然仅返回检索的部分数据,但仍存在数据泄露风险。
Deep Searcher 尝鲜
基于以上思路,Deep Research的本地部署开源版方案Deep Searcher已在Github开源,
项目地址为:https://github.com/zilliztech/deep-searcher
目前功能现状
(1)LLM支持:DeepSeek官方版本、DeepSeek硅基流动、DeepSeek TogetherAI、OpenAI
(2)Embedding模型支持:Pymilvus中的内置模型、OpenAI Embedding、VoyageAI Embedding
(3)数据Loader支持:离线文档(如PDF、Markdown、TXT)、在线文档(通过FireCrawl、JinaReader、Crawl4AI获取)
(4)向量数据库支持:Milvus、Zilliz Cloud(注册即可免费体验,注册地址:https://cloud.zilliz.com.cn/login 海外:https://cloud.zilliz.com/)
最终效果预览
更多细节欢迎访问开源项目Github-Deep Searcher:https://github.com/zilliztech/deep-searcher
项目目前处于快速迭代阶段,期待您的反馈。
写在最后:从地表最强,到最佳部署范式,仍有漫长的磨合期
在本文写作过程中,笔者在思索如何对Deep Research做本地化复现的过程中,也有几个思考想要做一个分享:
1、数据会成为未来企业的生存红线,掌握优质数据的企业,也就拥有了Deep Research +N,脱颖而出的机会,而在这一背景下,数据隐私大于天,如何做好数据保护,是在接入AI能力之前要更早考虑的事情。
2、全能的AI需要人类的Know how来做管理:在本地部署Deep Searcher过程中,如果互联网公开数据与本地数据冲突(尤其是金融类数据更新频繁的行业),我们如何做权重分配?如果AI生成的内容有疏漏,如何进行核查?需要花更多精力去解决。
3、最优不等于最适合:私有数据不适合在线大模型已经是常识,在此之外,我们是不是需要“最优大模型”?复杂高成本的推理,是不是可以通过向量数据库分库分表等方式,就能低成本解决,这也是我们需要考虑的问题。