OpenDeepSearch:搜索引擎革命!这个开源深度搜索工具让AI代理直接读懂网页,复杂问题一键拆解

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: OpenDeepSearch是基于开源推理模型的深度搜索工具,通过语义重排和多源整合优化检索效果,支持与AI代理无缝集成,提供快速和专业两种搜索模式。

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

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 「搜索引擎革命!开源神器让AI代理直接读懂网页,复杂问题一键拆解」

大家好,我是蚝油菜花。当传统搜索引擎还在返回零散链接时,这个开源项目已经让AI学会了「阅读理解」!

你是否也受够了这些搜索困境——

  • 🔍 查学术资料要手动对比10个网页
  • 📊 分析市场数据得自己整理表格
  • 🤖 问AI复杂问题总得到碎片化答案...

今天要介绍的 OpenDeepSearch ,正在重新定义信息检索!这个由Sentient AGI开源的搜索核弹:

  • 语义理解开挂:用知识图谱解析网页内容,告别关键词匹配
  • 多跳推理王:自动拆解「A对B的影响如何通过C体现」类复杂问题
  • AI代理最佳拍档:与Hugging Face生态无缝集成,搜索结果直接喂给代码生成器

已有团队用它1小时完成竞品分析报告,接下来将揭秘这套开源搜索系统的技术架构!

🚀 快速阅读

OpenDeepSearch是专为AI代理优化的开源深度搜索工具。

  1. 功能:支持语义搜索和多跳查询,提供快速和专业两种模式。
  2. 技术:基于语义重排器和ReAct框架,整合网络爬取与推理能力。

OpenDeepSearch 是什么

OpenDeepSearch

OpenDeepSearch 是专为AI代理设计的开源深度搜索工具,通过语义理解优化传统关键词检索方式。该系统包含Open Search Tool和Open Reasoning Agent两大核心组件,支持从简单查询到复杂多跳问题的全场景搜索需求。

作为Hugging Face SmolAgents生态的优化组件,它采用模块化设计,允许自由切换不同的大语言模型作为推理引擎。测试显示其在处理需要跨文档验证的问题时,准确率比传统搜索引擎提升47%。

OpenDeepSearch 的主要功能

  • 语义搜索:基于Qwen2-7B等模型实现语义级结果重排
  • 双模式检索:快速模式响应时间<1秒,专业模式支持多轮验证
  • 代理集成:直接输出结构化数据供AI代理进一步处理
  • 数学计算:通过Wolfram Alpha API处理数值问题
  • 动态爬取:实时抓取最新网页内容确保信息时效性

OpenDeepSearch 的技术原理

  • 查询扩展:生成多个语义相关查询提升召回率
  • 段落提取:从网页中智能抽取关键内容段落
  • ReAct框架:结合思考-行动-观察循环解决复杂问题
  • 代码执行:通过生成Python代码处理计算密集型任务
  • 微服务架构:各组件可独立部署和扩展

如何运行 OpenDeepSearch

下面将带你了解如何安装、配置和运行 OpenDeepSearch,以充分利用其语义搜索和高级搜索模式。

安装

在开始使用 OpenDeepSearch 之前,请确保你的系统满足以下安装要求:

1. 安装依赖

运行以下命令以安装 OpenDeepSearch 的依赖项:

pip install -e . # 你也可以使用:uv pip install -e .
pip install -r requirements.txt # 你也可以使用:uv pip install -r requirements.txt

注意:必须安装 torch,并且建议使用 uv 而非 pip 来简化安装过程。

配置

2. 获取 Serper.dev API 密钥

  1. 获取你的 API 密钥并将其设置为环境变量:
export SERPER_API_KEY='your-api-key-here'

3. 选择重新排序解决方案

OpenDeepSearch 支持以下重新排序选项:

4. 配置 LiteLLM 提供程序

选择一个支持的提供程序(如 OpenAI、Anthropic 或 Google Gemini),并设置其 API 密钥:

export <PROVIDER>_API_KEY='your-api-key-here'  # 例如:OPENAI_API_KEY, ANTHROPIC_API_KEY

在初始化 OpenDeepSearch 时,指定你选择的模型:

search_agent = OpenDeepSearchTool(model_name="provider/model-name")  # 例如:'openrouter/google/gemini-2.0-flash-001'

使用教程

以下是使用 OpenDeepSearch 的几种常见方式。

单独运行 OpenDeepSearch

以下代码展示了如何单独运行 OpenDeepSearch 工具:

from opendeepsearch import OpenDeepSearchTool
import os

# 设置环境变量
os.environ["SERPER_API_KEY"] = "your-serper-api-key-here"
os.environ["OPENROUTER_API_KEY"] = "your-openrouter-api-key-here"
os.environ["JINA_API_KEY"] = "your-jina-api-key-here"

# 初始化搜索工具
search_agent = OpenDeepSearchTool(
    model_name="openrouter/google/gemini-2.0-flash-001", 
    reranker="jina"  # 也可以设置为 "infinity"
)

# 执行搜索
query = "地球上最快的陆地动物是什么?"
result = search_agent.search(query)
print(result)

解释

  1. 代码中使用了 OpenDeepSearchTool 并指定了模型(openrouter/google/gemini-2.0-flash-001)和重新排序工具(jina)。
  2. search 方法用于执行搜索,返回结果并打印。

使用 Gradio 演示界面

Gradio 提供了一个用户友好的界面,你可以通过以下命令运行:

python gradio_demo.py

运行后,你将看到一个本地 Web 界面,可以交互式地测试不同搜索查询和模式。

集成 SmolAgents 和 LiteLLM

以下是将 OpenDeepSearch 与 SmolAgents 和 LiteLLM 集成的示例代码:

from opendeepsearch import OpenDeepSearchTool
from smolagents import CodeAgent, LiteLLMModel
import os

# 设置环境变量
os.environ["SERPER_API_KEY"] = "your-serper-api-key-here"
os.environ["OPENROUTER_API_KEY"] = "your-openrouter-api-key-here"
os.environ["JINA_API_KEY"] = "your-jina-api-key-here"

# 初始化搜索工具
search_agent = OpenDeepSearchTool(
    model_name="openrouter/google/gemini-2.0-flash-001", 
    reranker="jina"
)

# 初始化 LiteLLM 模型
model = LiteLLMModel(
    "openrouter/google/gemini-2.0-flash-001",
    temperature=0.2
)

# 初始化 CodeAgent
code_agent = CodeAgent(tools=[search_agent], model=model)

# 执行复杂搜索
query = "猎豹以最快速度跑完亚历山大三世桥的长度需要多久?"
result = code_agent.run(query)
print(result)

解释

  1. 代码中使用了 CodeAgent,它集成了 OpenDeepSearch 作为工具。
  2. run 方法接收复杂查询,并结合搜索工具和模型生成结果。

使用 ReAct 代理执行多工具操作

以下是结合搜索和数学工具的示例:

from opendeepsearch import OpenDeepSearchTool 
from opendeepsearch.wolfram_tool import WolframAlphaTool
from opendeepsearch.prompts import REACT_PROMPT
from smolagents import LiteLLMModel, ToolCallingAgent, Tool 
import os

# 设置环境变量
os.environ["SERPER_API_KEY"] = "your-serper-api-key-here"
os.environ["JINA_API_KEY"] = "your-jina-api-key-here"
os.environ["WOLFRAM_ALPHA_APP_ID"] = "your-wolfram-alpha-app-id-here"
os.environ["FIREWORKS_API_KEY"] = "your-fireworks-api-key-here"

# 初始化模型
model = LiteLLMModel(
    "fireworks_ai/llama-v3p1-70b-instruct",  
    temperature=0.7
)

# 初始化搜索工具
search_agent = OpenDeepSearchTool(
    model_name="fireworks_ai/llama-v3p1-70b-instruct", 
    reranker="jina"
)

# 初始化 Wolfram Alpha 工具
wolfram_tool = WolframAlphaTool(app_id=os.environ["WOLFRAM_ALPHA_APP_ID"])

# 初始化 ReAct 代理
react_agent = ToolCallingAgent(
    tools=[search_agent, wolfram_tool],
    model=model,
    prompt_templates=REACT_PROMPT  # 使用 REACT_PROMPT 作为系统提示
)

# 执行复杂查询
query = "罗马斗兽场与威尼斯里亚托桥之间的距离是多少米?"
result = react_agent.run(query)
print(result)

解释

  1. 代码中使用了 ToolCallingAgent,它结合了搜索和 Wolfram Alpha 工具。
  2. run 方法能够处理复杂的多跳查询,并返回详细结果。

搜索模式

OpenDeepSearch 提供两种搜索模式,以适应不同的需求。

默认模式

  • 使用基于 SERP 的交互,快速返回结果。
  • 适合单跳查询,响应时间短。
  • 适用于基础信息检索。

专业模式

  • 包括全面的网页抓取和语义重新排序。
  • 适合多跳查询和复杂搜索需求。
  • 结果更详细,但处理时间稍长。

资源


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

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关文章
|
1月前
|
人工智能 算法 开发者
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
192 10
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
|
1月前
|
云安全 机器学习/深度学习 人工智能
阿里云安全Black Hat技术开源大揭秘,AI安全检测的工程化实践
阿里云安全 LLMDYara框架开源核心思路,赋能云安全产品!
|
1月前
|
人工智能 语音技术 Docker
揭秘8.3k star 开源神器 VoiceCraft 用AI革新有声内容创作,只需几秒录音
VoiceCraft 是一款开源语音编辑与文本转语音(TTS)工具,仅需几秒录音即可实现语音克隆、插入、删除、替换等操作,支持零样本编辑和高自然度语音生成。适用于播客、短视频、有声书等内容创作场景,具备本地部署能力,已在 GitHub 获得 8.3k 星标。
178 0
|
2月前
|
人工智能 JavaScript 前端开发
分享开源库:AI驱动的JavaScript反编译,针对混淆和压缩的代码
这是一个智能JavaScript反混淆与代码分析工具,通过AST转换和AI深度分析,自动还原变量名、识别依赖库、生成可视化控制流图,并支持多格式导出,提升代码理解与审计效率。访问 [jsunpack.tech](https://www.jsunpack.tech/) 即可在线体验。
373 0
|
1月前
|
数据采集 人工智能 定位技术
分享一个开源的MCP工具使用的AI Agent 支持常用的AI搜索/地图/金融/浏览器等工具
介绍一个开源可用的 MCP Tool Use 通用工具使用的 AI Agent (GitHub: https://github.com/AI-Agent-Hub/mcp-marketplace ,Web App https://agent.deepnlp.org/agent/mcp_tool_use,支持大模型从Open MCP Marketplace (http://deepnlp.org/store/ai-agent/mcp-server) 的1w+ 的 MCP Server的描述和 Tool Schema 里面,根据用户问题 query 和 工具 Tool描述的 相关性,选择出来可以满足
|
1月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
346 1
|
1月前
|
人工智能 云栖大会 Anolis
|
1月前
|
机器学习/深度学习 数据采集 人工智能
阿里开源即封神,一上线就斩获4000+ star背后的真相,WebAgent多步骤智能网搜神器,颠覆你对AI的信息检索印象!
WebAgent 是阿里巴巴开源的多步骤智能网搜神器,包含 WebWalker、WebDancer、WebSailor 等模块,支持复杂推理与长上下文信息检索,GitHub 已获 4.7k star,颠覆传统 AI 搜索方式。
216 1
|
2月前
|
存储 人工智能 API
AI代理性能提升实战:LangChain+LangGraph内存管理与上下文优化完整指南
在AI代理系统开发中,上下文工程成为提升系统性能的关键技术。本文探讨了从提示工程到上下文工程的转变,强调其通过为AI系统提供背景信息和工具支持,显著提升智能化程度和实用价值。文章系统分析了上下文工程的理论基础、核心策略(如写入、选择、压缩和隔离),并结合LangChain和LangGraph工具,展示了如何实现上下文工程技术以优化AI代理性能。通过Scratchpad机制、内存管理、RAG系统集成、多代理架构及沙盒环境等技术手段,开发者可以更高效地构建高性能、可扩展的AI系统。
237 0
AI代理性能提升实战:LangChain+LangGraph内存管理与上下文优化完整指南

热门文章

最新文章