Open-Deep-Research:开源复现版 Deep Research,支持切换多种大模型,不再依赖 OpenAI o3

275 阅读5分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


大家好,我是蚝油菜花,今天跟大家分享一下 Open Deep Research 这个开源复现版智能体,支持切换多种语言模型。除此之外,还有其他两个开源复现的项目值得一提,他们都各有特色,详细可查阅:

  • 《OpenDeepResearcher:开源 AI 研究工具,自动完成搜索、评估、提取和生成报告》
  • 《node-DeepResearch:开源复现版OpenAI Deep Research,支持多步推理和复杂查询的AI智能体》

🚀 快速阅读

Open Deep Research 是一个开源的 AI 智能体,能够从多个网站抓取和分析数据,支持多种语言模型。

  1. 核心功能:实时数据提取、多源数据整合、AI推理和分析。
  2. 技术原理:基于 Firecrawl 抓取数据,结合 Next.js 和 Vercel 提供的 AI SDK 实现高效推理和前端展示。

Open Deep Research 是什么

Open Deep Research

Open Deep Research 是一个开源的 AI 智能体,旨在通过推理大量网络数据完成复杂的多步骤研究任务。它是 Deep Research 的开源复现项目,不依赖 OpenAI 的 o3 微调模型,而是使用 Firecrawl 的搜索和提取功能,结合多种语言模型(如 OpenAI、Anthropic、Cohere 等)进行数据分析和推理。

Open Deep Research 提供统一的 API 和 Next.js 应用框架,具备实时数据输入、结构化数据提取、服务器端渲染等功能,广泛应用于文献综述、行业分析、投资研究、政策研究和新闻报道等领域。

Open Deep Research 的主要功能

  • 数据提取与搜索:实时从多个网站获取数据,将其结构化处理,为后续推理提供基础信息。
  • 多源数据整合:从不同类型的网页中提取关键信息,支持多种数据格式,确保数据的多样性和丰富性。
  • 推理与分析:基于强大的推理模型(如 OpenAI 的 GPT-4o 或其他 LLM),对提取的数据进行深度分析和推理,生成综合性的结论。
  • 多维度分析:对数据进行多维度的分析,包括文本内容理解、数据关联分析、趋势预测等。

Open Deep Research 的技术原理

  • 数据提取与搜索技术

    • Firecrawl:基于 Firecrawl 快速从多个网站抓取数据,模拟浏览器行为,访问目标网站并提取网页内容,将其结构化处理为 JSON 或其他格式。
    • 实时数据流:提取的数据基于 API 实时传输到 AI 模型中,确保分析的时效性。
  • AI 推理模型

    • 语言模型:基于先进的语言模型(如 OpenAI 的 GPT 系列)作为核心推理引擎。
    • 模型调用:基于 AI SDK,用户灵活调用不同的语言模型,根据需求选择合适的模型进行推理。
  • 前端与后端集成

    • Next.js 框架:Next.js 作为前端框架,结合 React Server Components 和 Server Actions,实现高效的服务器端渲染和动态用户界面。
    • API 接口:基于 AI SDK 提供的统一 API 接口,前端能方便地调用后端的 AI 模型和服务。
  • 数据持久化与存储

    • Vercel Postgres:用 Vercel Postgres 作为数据库,支持结构化数据的存储和查询。
    • Vercel Blob:用于存储文件数据,支持大文件的高效存储和访问。

如何运行 Open Deep Research

1. 安装依赖

pnpm install

2. 运行数据库迁移

pnpm db:migrate

3. 启动应用

pnpm dev

你的应用程序现在应该在 localhost:3000 上运行。

模型依赖

如果你想要使用其他语言模型(而非默认的 OpenAI gpt-4o),你需要安装相应模型的依赖项。例如:

  • DeepSeek
pnpm add @ai-sdk/deepseek
  • TogetherAI 的 DeepSeek
pnpm add @ai-sdk/togetherai

推理模型配置

应用程序使用一个单独的模型来进行推理任务(如研究分析和结构化输出)。你可以通过设置 REASONING_MODEL 环境变量来配置推理模型。

可用选项

ProviderModelsNotes
OpenAIgpt-4o, o1, o3-mini支持原生 JSON 格式
TogetherAIdeepseek-ai/DeepSeek-R1需要设置 BYPASS_JSON_VALIDATION=true
Deepseekdeepseek-reasoner需要设置 BYPASS_JSON_VALIDATION=true

重要提示

  • 仅某些 OpenAI 模型(如 gpt-4o, o1, o3-mini)支持原生 JSON 输出。
  • 其他模型(如 deepseek-reasoner)可以使用,但可能需要禁用 JSON 验证。
  • 当使用不支持 JSON 验证的模型时,需在 .env 文件中设置 BYPASS_JSON_VALIDATION=true

使用示例

.env 文件中添加以下内容:

# 选择推理模型:deepseek-reasoner, deepseek-ai/DeepSeek-R1
REASONING_MODEL=deepseek-reasoner

# 当使用不支持 JSON 验证的模型时,必须设置此参数
BYPASS_JSON_VALIDATION=true

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦