联网搜索节点
Brave Search 联网搜索节点是 AI 流程中的实时联网检索组件,通过调用 Brave Search Web Search API 对互联网进行搜索,将检索结果(标题、URL、摘要)以结构化数据的形式输出,供后续节点使用。
与知识库节点不同,Brave Search 节点检索的是公开互联网的实时信息,适用于需要获取最新动态、时事资讯、产品信息等场景。
一、应用场景
- 实时资讯查询:获取最新新闻、行业动态、体育赛事结果等实时信息;
- 产品 / 竞品调研:自动检索目标产品的价格、评价、功能介绍等公开信息;
- 辅助 LLM 回答:为大模型提供训练知识截止日期之后的外部信息,有效缓解"知识过期"问题;
- 多源信息汇总:结合多次搜索与后续 LLM 节点,实现自动调研与摘要生成;
- RAG 增强:在无私有知识库的场景下,以公开网页作为上下文来源,实现轻量级检索增强生成。
二、前置配置(后端 YAML)
使用 Brave Search 节点前,需要先在后端配置文件中填写 API Key 并开启功能。
编辑 application-dev.yml(或对应环境的配置文件),在 jeecg.ai-rag 下添加:
jeecg:
ai-rag:
# Brave Search 联网检索配置(api-key 为空时功能自动关闭)
brave-search:
api-key: 你的BraveSearchApiKey # Brave Search API Key(必填,留空则不启用)
endpoint: https://api.search.brave.com/res/v1/web/search # API 地址,默认即可
count: 10 # 默认返回结果条数,最大 20
timeout: 15 # 请求超时秒数
cache-expire-minutes: 60 # 搜索结果缓存时长(分钟),0 表示不缓存
如何获取 API Key? 前往 https://brave.com/search/api/ 注册并创建订阅,即可获得
X-Subscription-Token(即 API Key)。
三、添加 Brave Search 节点
点击前一节点的 ,在节点列表中选中 Brave Search 节点,点击即可添加。
四、节点配置详解
选中已添加的 Brave Search 节点,在右侧配置面板中进行设置。
1. 输入变量配置
输入变量用于指定搜索关键词的来源。节点运行时会从上下文中读取该变量的值,将其作为搜索词发送给 Brave Search API。
- 右侧下拉框:选择变量来源节点(必须是当前节点之前已连线的节点);
- 左侧输入框:填写该节点对应的字段名。
⚠️ 重要限制:搜索词长度不超过 400 字符。 Brave Search API 限制单次查询最多 400 个字符。如果上游节点(如 LLM)输出的文本过长,请参考下方"五"中的 Prompt 配置建议。
2. 节点选项(Options)
在节点配置中可选填以下搜索参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
count | 本次搜索返回的结果条数,最大 20 | 取全局配置的 count(默认 5) |
country | 两位国家代码(如 CN、US),用于限定搜索结果的地区 | 不限制 |
searchLang | 搜索结果的语言偏好,如 zh-hans(简体中文)、zh-hant(繁体中文)、en(英文)。中文查询时推荐填写 zh-hans,可有效提升开源中国、CSDN 等中文平台内容的召回率 | 不限制 |
freshness | 按发布时间过滤结果:pd=过去 24 小时,pw=过去一周,pm=过去一月,py=过去一年。查询最新版本、近期新闻等时建议设置此参数 | 不限制 |
3. 输出变量配置
Brave Search 节点固定输出以下变量:
| 变量名 | 类型 | 说明 |
|---|---|---|
result | JSONArray | 完整的搜索结果列表,每条记录包含 title、url、description 三个字段 |
result.title | List<String> | 所有结果的标题列表(自定义输出时使用) |
result.url | List<String> | 所有结果的 URL 列表 |
result.description | List<String> | 所有结果的摘要列表 |
result.title、result.url、result.description 为自定义输出变量,需要在输出变量配置中以 result.<字段名> 格式手动添加,以便下游节点按需引用单个字段列表。
五、典型流程:LLM → Brave Search
最常见的用法是:先用一个 LLM 节点从用户问题中提取搜索关键词,再将关键词传入 Brave Search 节点进行检索,最后由另一个 LLM 节点对结果进行汇总回答。
开始 → LLM(提取关键词)→ Brave Search(联网检索)→ LLM(总结回答)→ 结束
"关键词提取" LLM 节点推荐 Prompt
为避免超过 400 字符限制,负责提取关键词的 LLM 节点应配置如下提示词:
系统提示词(System Prompt):
你是一个搜索关键词提取助手。根据用户的问题,直接输出 2~5 个精简的搜索关键词,
多个关键词之间用空格分隔。
要求:
- 只输出关键词,不要任何解释、标题或多余内容
- 总长度控制在 50 字以内
- 优先使用更具检索价值的名词或短语
用户提示词(User Prompt):
{{用户输入变量}}
正确示例输出:
2026年动作电影 好莱坞新片 院线上映推荐
⚠️ 错误示例(过长,会触发 422 错误):
**【内容总结】**
* 核心概括:用户希望获取2026年即将上映的动作类型热门电影...
(超过400字符)
六、常见问题
Q:节点执行后输出为空 {},没有任何搜索结果?
可能原因及排查步骤:
| 原因 | 排查方式 | 解决方案 |
|---|---|---|
| 搜索词超过 400 字符 | 查看后端日志是否有 422 Unprocessable Entity 错误 | 优化上游 LLM Prompt,使其只输出精简关键词(见上方示例) |
| API Key 未配置或已失效 | 查看日志是否有 brave search api-key is empty | 检查 YAML 中 jeecg.airag.brave-search.api-key 非空,确认 Key 未过期 |
| 搜索词为空 | 查看日志是否有 query is required | 确认输入变量已正确绑定且上游节点有输出 |
| 网络访问受限 | 查看日志是否有连接超时异常 | 确认服务器可访问 api.search.brave.com,必要时配置代理 |
Q:搜索结果为空列表 [] 但没有报错?
表示 API 正常返回但未找到匹配结果。建议:
- 尝试更换更通用的关键词;
- 去掉
country限制,扩大搜索范围; - 适当增大
count值。