❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 工具介绍:OpenDeepResearcher 是一款开源 AI 研究工具,能自动完成从搜索到报告生成的全过程。
- 主要功能:支持迭代研究循环、异步处理、去重功能和 LLM 驱动的决策。
- 技术原理:利用 SERPAPI、Jina 和 OpenRouter 提供的 LLM 进行搜索、数据获取和推理。
正文(附运行示例)
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
中打开。
- Google Colab:https://colab.research.google.com/github/mshumer/OpenDeepResearcher/blob/main/open_deep_researcher.ipynb
2. 安装 nest_asyncio
运行第一个代码单元格以安装 nest_asyncio
。
3. 配置 API 密钥
将笔记本中的 OPENROUTER_API_KEY
、SERPAPI_API_KEY
和 JINA_API_KEY
替换为你的实际 API 密钥。
4. 运行 Notebook 单元格
依次执行所有单元格。系统将提示你输入:
- 研究查询/主题。
- 可选的最大迭代次数(默认为 10)。
5. 跟随研究过程
- 初始查询与搜索生成:系统使用 LLM 生成初始搜索查询。
- 异步搜索与提取:系统并发执行 SERPAPI 搜索,聚合唯一链接,并并行处理每个链接以确定页面的相关性和提取相关信息。
- 迭代优化:每次迭代后,系统将聚合的上下文传递给 LLM,判断是否需要进一步的搜索查询。
- 最终报告生成:一旦 LLM 表示无需进一步研究(或达到迭代限制),系统将生成最终的综合报告。
6. 查看最终报告
最终的综合报告将在输出中显示。
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦