❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
大家好,我是蚝油菜花,今天跟大家分享一下 Open Deep Research 这个开源复现版智能体,支持切换多种语言模型。除此之外,还有其他两个开源复现的项目值得一提,他们都各有特色,详细可查阅:
- 《OpenDeepResearcher:开源 AI 研究工具,自动完成搜索、评估、提取和生成报告》
- 《node-DeepResearch:开源复现版OpenAI Deep Research,支持多步推理和复杂查询的AI智能体》
🚀 快速阅读
Open Deep Research 是一个开源的 AI 智能体,能够从多个网站抓取和分析数据,支持多种语言模型。
- 核心功能:实时数据提取、多源数据整合、AI推理和分析。
- 技术原理:基于 Firecrawl 抓取数据,结合 Next.js 和 Vercel 提供的 AI SDK 实现高效推理和前端展示。
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
环境变量来配置推理模型。
可用选项
Provider | Models | Notes |
---|---|---|
OpenAI | gpt-4o , o1 , o3-mini |
支持原生 JSON 格式 |
TogetherAI | deepseek-ai/DeepSeek-R1 |
需要设置 BYPASS_JSON_VALIDATION=true |
Deepseek | deepseek-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技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦