侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 178 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Open WebUI(Ollama)调用searxng出现问题

管理员
2026-08-20 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

如果确实是在这个Open WebUI(Ollama那套,8081端口)里测试的,最可能的原因是Docker网络隔离

你截图里配置的地址是 http://searxng:8091/search?q=<query>,用的是容器名做主机名解析。但要注意:

  • searxng 这个容器是在 /vol3/1000/docker/llama/docker-compose.yml 这个项目里定义的,属于它自己的 llama_default 网络

  • 这个Open WebUI(8081端口那个)是在 /vol3/1000/docker/ollama/docker-compose.yml 里定义的,属于另一个独立的docker网络

Docker Compose默认给每个项目创建独立的bridge网络,跨项目的容器名DNS解析默认是不通的——也就是说,这个Ollama侧的Open WebUI压根连不到 searxng 这个主机名,联网搜索请求会直接失败,跟你之前llama.cpp那边配的Open WebUI(同一个compose项目、同一个网络)情况不一样,那边能通是因为两者在同一网络下。

验证方法

docker exec -it open-webui ping -c 2 searxng

(注意这里 open-webui 是Ollama那套的容器名)如果返回"未知的主机"或者超时,就实锤是网络不通导致的。

修复方式:改用宿主机IP+端口,绕开容器名解析问题

把配置里的地址从容器名改成宿主机实际IP:

http://192.168.0.188:8091/search?q=<query>

(IP换成你实际的NAS内网地址,就是你之前配Hermes时用的那个)SearXNG的8091端口本来就映射到了宿主机,任何容器只要网络能访问宿主机IP,就能连通,不需要依赖同网络的容器名解析,这样比较省事,不用去改docker网络配置。

在截图这个设置页面里,把"Searxng 查询接口地址"这一栏改掉,保存后重新测试一次搜索。

如果验证下来发现根本不是网络问题(ping能通),那就要回到最开始那个问题——先确认这条测试记录到底是不是在这个Open WebUI界面里跑出来的,可能是别的客户端/Hermes在起作用,需要换个方向排查。

0

评论区