OpenDeepResearcher:开源 AI 研究工具,自动完成搜索、评估、提取和生成报告

204 阅读4分钟

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

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


🚀 快速阅读

  1. 工具介绍:OpenDeepResearcher 是一款开源 AI 研究工具,能自动完成从搜索到报告生成的全过程。
  2. 主要功能:支持迭代研究循环、异步处理、去重功能和 LLM 驱动的决策。
  3. 技术原理:利用 SERPAPI、Jina 和 OpenRouter 提供的 LLM 进行搜索、数据获取和推理。

正文(附运行示例)

OpenDeepResearcher 是什么

OpenDeepResearcher

OpenDeepResearcher 是一款开源的 AI 研究工具,旨在帮助用户高效地完成复杂的信息查询和分析任务。基于迭代搜索和推理,系统能够自动从网络中获取相关数据,并生成综合报告。用户只需输入研究主题,系统即可自动完成搜索、评估、提取和报告生成的全过程。这使得 OpenDeepResearcher 成为金融、科学、政策和工程等领域研究人员的理想选择,提供了低成本且高效的解决方案。

OpenDeepResearcher 支持异步处理,显著提高了处理速度和效率。此外,系统具备去重功能,避免重复处理相同内容,进一步节省时间和资源。通过大型语言模型(LLM)驱动的决策,系统能够生成高质量的搜索查询、评估页面的相关性、提取关键信息,并最终生成详细的综合报告。

OpenDeepResearcher 的主要功能

  • 迭代研究循环:根据用户输入的研究主题,系统生成初始搜索查询,并在每次迭代中逐步细化研究范围,直到满足研究目标或达到设定的迭代次数。
  • 异步处理:搜索、网页抓取、页面评估和上下文提取等操作并行执行,显著提高处理速度和效率。
  • 去重功能:系统自动聚合和去重链接,避免重复处理相同的网页内容,节省时间和资源。
  • LLM 驱动的决策:使用大型语言模型(LLM)生成搜索查询、评估页面的相关性、提取关键信息,并生成最终的综合报告。

OpenDeepResearcher 的技术原理

  • 搜索与数据获取:使用 SERPAPI 进行 Google 搜索,快速获取与用户查询相关的网页链接。基于 Jina 提取网页内容,将 HTML 网页转换为适合 LLM 处理的纯文本格式。
  • LLM 驱动的推理:使用 OpenRouter 提供的 LLM(如 anthropic/claude-3.5-haiku)进行自然语言处理和推理。LLM 负责生成搜索查询、评估网页的相关性、提取关键信息,并决定是否需要进一步的搜索。
  • 迭代优化:系统将每次迭代获取的信息反馈给 LLM,根据 LLM 的评估结果生成新的搜索查询,逐步优化研究结果。
  • 异步处理与去重:使用 nest_asyncio 等异步编程技术,实现搜索、抓取、评估和提取的并行处理。基于去重机制,避免重复处理相同的链接,提高效率。

如何运行 OpenDeepResearcher

1. 克隆或打开 Notebook

下载 Notebook 文件或直接在Google Colab中打开。

OpenDeepResearcher-colab

2. 安装 nest_asyncio

运行第一个代码单元格以安装 nest_asyncio

3. 配置 API 密钥

将笔记本中的 OPENROUTER_API_KEYSERPAPI_API_KEYJINA_API_KEY 替换为你的实际 API 密钥。

4. 运行 Notebook 单元格

依次执行所有单元格。系统将提示你输入:

  • 研究查询/主题。
  • 可选的最大迭代次数(默认为 10)。
5. 跟随研究过程
  • 初始查询与搜索生成:系统使用 LLM 生成初始搜索查询。
  • 异步搜索与提取:系统并发执行 SERPAPI 搜索,聚合唯一链接,并并行处理每个链接以确定页面的相关性和提取相关信息。
  • 迭代优化:每次迭代后,系统将聚合的上下文传递给 LLM,判断是否需要进一步的搜索查询。
  • 最终报告生成:一旦 LLM 表示无需进一步研究(或达到迭代限制),系统将生成最终的综合报告。
6. 查看最终报告

最终的综合报告将在输出中显示。

资源


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

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