如何在Dify中集成百度搜索API实现实时联网检索
在Dify中接入百度搜索API,首先需在百度开放平台注册并获取API密钥,然后通过Dify内置的搜索工具或自定义Python节点来配置搜索功能,接着编排工作流以触发搜索请求、获取搜索结果并对结果进行整合处理,最后输出给LLM,同时需验证返回的数据结构,确保LLM能够正确识别和利用。
在Dify中实现“今天北京天气怎么样”或“最新iPhone 15 Pro价格”这类依赖实时信息的问答功能,核心步骤就是接入百度搜索API。这并非简单粘贴一个链接就能完成——需要将搜索结果以结构化数据形式喂给大语言模型(LLM),让模型基于真实的网页内容生成答案,才能打通Dify的联网检索能力,实现真正的实时信息查询。

注册百度搜索开放平台并获取API密钥
正式开始之前,需要先申请API密钥。具体路径如下:访问 https://developer.baidu.com/ → 登录百度账号 → 进入「百度搜索开放平台」→ 点击「创建应用」→ 应用类型选择「Web端」→ 填写应用名称(例如“Dify-百度检索”)和简介 → 提交审核。审核通常在1–2小时内通过,通过后立即进入「应用详情页」,找到「API Key」和「Secret Key」这两串字符——务必第一时间复制并妥善保存,Secret Key仅显示一次,丢失后需要重新申请。
需要提醒:百度搜索API不直接开放免费调用额度,通常需要联系商务或开通「搜索资源平台」的企业认证账户。如果仅用于测试,可以申请「体验版」接口,限制条件为QPS≤1,每日总调用量不超过100次。申请路径:「控制台 → 搜索服务 → 搜索资源平台 → 申请体验权限」。
在Dify中配置自定义工具节点(Web Search API)
获取密钥后,进入配置环节。提供两种方式,可根据自身技术偏好选择。
方法一:直接使用Dify内置工具(推荐,上手简单)
进入Dify工作流编辑页面 → 添加节点 → 选择「Tool」→ 搜索并选中「Web Search API」→ 点击「配置」→ 在「Provider」下拉菜单中选择「Baidu」→ 将上一步获取的API Key粘贴到「API Key」字段,Secret Key填入「Secret Key」字段 → 「Search Endpoint」留空(Dify已预置百度接口地址)→ 如需调试原始JSON返回,可开启「Return raw results」,否则保持关闭 → 保存即可。
方法二:自行编写Python节点(灵活但需一定编码能力)
添加节点 → 选择「Custom Node」→ 语言选择Python → 粘贴以下代码(已适配百度搜索v1接口):
import requests
import json
import hmac
import hashlib
import base64
import time
def run(query: str):
api_key = os.getenv("BAIDU_API_KEY")
secret_key = os.getenv("BAIDU_SECRET_KEY")
timestamp = str(int(time.time()))
sign_str = f"{api_key}{timestamp}"
signature = base64.b64encode(hmac.new(secret_key.encode(), sign_str.encode(), hashlib.sha256).digest()).decode()
headers = {
"x-bce-date": timestamp,
"authorization": f"bce-auth-v1/{api_key}/{timestamp}/3600/{signature}"
}
params = {"q": query, "rn": 5}
resp = requests.get("https://api.baidu.com/search/v1", headers=headers, params=params)
if resp.status_code == 200:
data = resp.json()
results = []
for item in data.get("result", [])[:3]:
results.append({
"title": item.get("title", ""),
"link": item.get("url", ""),
"snippet": item.get("snippet", "")
})
return {"text": json.dumps(results, ensure_ascii=False)}
else:
return {"error": f"HTTP {resp.status_code}: {resp.text}"}
然后在「Environment Variables」中新增两行:
BAIDU_API_KEY = 你的API Key
BAIDU_SECRET_KEY = 你的Secret Key
保存节点即可。
编排工作流:触发→搜索→整合→输出
节点配置完成后,需要将它们串联起来。流程并不复杂,分为四步:
第一步:拖入一个「Start」节点,设置输入变量名为query,类型选择Text。
第二步:在「Start」节点后面连接「Web Search API」节点,将Start节点的query传递给该搜索节点作为input参数。
第三步:关键步骤——添加一个「LLM」节点。模型推荐使用deepseek-r1:8b,或您部署的其他支持思考机制的模型。SYSTEM提示词可编写如下:
“你是一个严谨的信息整合助手。用户提问:{query}。以下是来自百度搜索的前三条结果:
{web_search_api.text}
请严格依据上述结果作答,禁止编造、推测或引用未出现的内容。若结果中无明确答案,回复‘未在百度搜索结果中找到相关信息’。”
第四步:连接「End」节点,输出变量设为LLM节点的text字段。
提醒:正式运行前,请务必点击右上角的「Test」按钮,输入“上海迪士尼今日营业时间”进行测试,观察Web Search API节点是否返回了包含title/link/snippet的JSON数组——这一步能帮助您提前发现配置问题。
验证与调试:检查返回结构是否被LLM正确识别
运行一次测试请求,点击「Trace」查看各节点输出。重点检查Web Search API节点的output字段是否为标准JSON格式——不能是HTML或乱码。
如果显示“{'error': 'HTTP 401...'}”,说明API Key或Secret Key填写错误或已过期,请返回平台重新核对。
如果返回空数组[],可能是query被百度过滤(例如包含敏感词或过短),可更换关键词尝试。
如果LLM输出中引用了不存在的链接,说明SYSTEM提示词未生效,请检查LLM节点的上下文绑定是否勾选了web_search_api.text。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:如何在Dify中集成百度搜索API实现实时联网检索要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点MasterGoAI通过AI设计助手生成带原型交互的设计稿,结合实时镜像预览实现设计稿在线优化。操作时需明确交互要求,同一账号登录桌面与手机端,镜像预览自动同步更新。AI可加速交互稿生成与细节调整,提升预览效率。
在CharacterAI中,W++格式紧贴设定顶部,通过memory、mood、decay等参数控制角色内在状态;JSON设定位于末尾,以```json包裹,可锁定人格、控制回复长度及启用上下文感知。两者顺序组合且逻辑自洽,才能实现高拟真度与行为一致性。
使用天工AI搜索精准查找知乎AI经验话题,关键在于按意图分流:导航型问题锁定平台动作与工具名组合,信息型盯住“为什么”“怎么判断”等提问,交易型识别含“合作”“报价”的条目。通过site:zhihu com加“我试了”筛选,再以AI识图及三级追问验证意图真实性。
NovaAI通过上传爆款脚本和产品参数,自动生成带钩子话术与合规提示的TikTok脚本初稿。可批量或分段生成多版本,筛选无绝对化表述的脚本后进行本地化润色,插入节奏锚点并导出分镜表格,实现拍摄与剪辑无缝衔接。
- 日榜
- 周榜
- 月榜
热点快看
