跳到主要内容

SearXNG Web Search

这个方案解决的是“如何给回答链补上一条公网实时搜索能力”,而不是替代私域知识库。

1. 适合什么场景

  • 需要最新网页信息
  • 需要时效强的联网搜索
  • 想把公网搜索作为可选增强链

它的定位是“联网搜索增强”,不是 RAG 的替身。

2. 核心模块组合

主链通常是:

  • SearXNGConfig
  • ChatWithWebSearchEnhance
  • 模型回答链
  • 可选流式输出

重点是把“搜索结果注入回答链”,而不是自己手工拼接很多网页文本。

3. 和 RAG 的边界

  • SearXNG:公网检索,时效强
  • RAG:私域知识库检索,边界更可控

如果你要查内部知识库,不要用 SearXNG 替代 RAG。

4. 这条方案的价值

  • 补齐时效信息
  • 适合做可选增强链,而不是默认重路径
  • 更容易和已有聊天或 RAG 系统组合

5. 先补哪些主线页

  1. Core SDK / Search & RAG
  2. Core SDK / Extension
  3. DeepSeek Stream Search RAG

6. 继续看实现细节

如果你要看:

  • SearXNGConfig
  • 超时与降级策略
  • 本地部署建议

继续看深页:

7. 关键对象

如果你要继续看实现,优先关注:

  • websearch/searxng/SearXNGConfig.java
  • websearch/ChatWithWebSearchEnhance.java
  • 下层 IChatService

这几个对象已经足够说明联网搜索为什么在 AI4J 里是一条增强链,而不是另一套独立运行时。

8. 什么时候它是正确的增强方式

这条方案更适合:

  • 外部公开信息时效性很强
  • 用户问题并不要求私域知识库
  • 你希望把联网能力作为可选增强而非默认重路径

如果问题主要来自内部知识资产,就应当先回到 RAG 主线。

9. 实施时要先约束什么

  • 搜索结果注入多少上下文
  • 搜索失败时如何降级
  • 是否需要把搜索来源显式展示给上层界面或审计链

这些约束先定下来,联网增强才不会把回答链变成不稳定黑盒。