快速结论:在 Native Function Calling 模式下,Open WebUI 不会像旧版那样自动替你执行搜索并把结果注入模型。模型本身必须自主判断并调用 search_web 工具。如果模型能力不足(例如本地 9.7B 小模型),它可能编造 google_search 之类的工具名,或干脆不用搜索。优先排查模型是否已勾选 Web Search 能力,并确认模型尺寸是否达到 Agentic Search 的门槛。
适用环境:Docker 部署 Open WebUI v0.11.3(ghcr.io/open-webui/open-webui:main),Ollama v0.32.6,Qwen3.5 9.7B 本地模型,SearXNG 搜索引擎,CachyOS,Firefox 155.0 x64。
最快修复方案:暂无“一键”修复方案。Issue 维护者确认:在 Native Function Calling 模式下,模型必须自行调用搜索工具,Open WebUI 不会代为搜索并注入结果。对于 9.7B 这类小模型,官方建议改为 Legacy Function Calling 以恢复旧版行为(搜索自动执行并将结果注入模型),或改用能力更强的大模型。
注意事项:“让模型列出可用工具”本身不能作为排障依据——模型经常列错。报错 Error: Tool "google_search" not found. 反而说明工具列表已成功下发,只是模型编造了不存在的工具名。另需确认模型设置中 Web Search 能力已启用且未在“Default Features”默认功能中关闭。
问题场景
用户通过 Docker 运行 Open WebUI v0.11.3,宿主机运行 Ollama 和 Qwen3.5 9.7B 模型。Open WebUI 已启用 Web Search 并配置 SearXNG(容器内 curl 已验证可正常返回 JSON),同时开启了 Native Function Calling。在普通聊天中选择该模型并询问“当前柏林天气”时,模型不执行任何网页搜索;主动要求搜索时,模型有时声称没有搜索工具,有时会尝试调用不存在的 google_search,从而报错。
报错原文
Error: Tool "google_search" not found.
issue: local 9.7B model never calls the search_web tool in Native function calling mode
原因分析
核心分歧在于 Native Function Calling 的工作机制。维护者明确说明:在 Native 模式下,模型必须自己决定何时调用搜索工具,Open WebUI 不会代跑搜索。用户遇到的三种表现(完全不搜、声称无工具、编造 google_search)都能被“9.7B 小模型指令遵循能力不足”解释——模型可能没认识到应该搜索,或即便意识到也编造了工具名。
可能原因 1:Native Function Calling 模式下,模型收到的工具列表实际上没问题(报错说明列表已送达)。根因在模型自身:9.7B 参数规模远低于 Open WebUI 官方文档规定的 Agentic Search 最低模型门槛,该模式需要模型在长上下文中稳定判断“何时调用哪个工具”。
可能原因 2:模型的 Web Search 能力开关未开启,或“Default Features”里的 Web Search 处于未勾选状态,导致 Native 模式下工具根本没有注入。此原因未能从 Issue 正文排除——用户未提供模型配置面板截图。
可能原因 3:Legacy/Native 模式差异未被告知。用户可能误以为 Web Search 开启后,Open WebUI 会像老版本那样自动搜索并把结果拼接到提示词中,但 Native 模式下这一自动注入流程已被移除。
环境排查
- Open WebUI 版本:v0.11.3(Docker,
ghcr.io/open-webui/open-webui:main) - Ollama:v0.32.6(pacman 最新)
- 模型:qwen3.5:latest(9.7B 本地模型)
- 搜索引擎:SearXNG(已从容器内验证可达且返回有效 JSON)
- 操作系统:CachyOS;浏览器:Firefox 155.0 x64
- 需在模型“高级设置”中确认:Function Calling 模式为 Native 还是 Legacy;Web Search 能力是否勾选;“Default Features”默认功能中 Web Search 是否勾选。
- 需核对本地模型参数规模是否达到 Agentic Search 官方文档 给出的建议门槛(9.7B 被维护者评论为“well below”明显不足)。
解决步骤
- 验证工具是否正常下发(可选):向模型追问“你现在有哪些工具可用”。若模型因幻觉编造出不存在的工具名(如
google_search),这反而证明工具列表已到达模型侧,问题不在 Open WebUI 的注入逻辑。 - 方法 A(可优先尝试):切换为 Legacy Function Calling。在选定 qwen3.5 模型的“高级参数”中,将 Function Calling 从 Native 改为 Legacy。该模式会恢复旧行为:Open WebUI 自动执行搜索并将结果注入模型上下文,不依赖模型自主调工具的能力。此方案为维护者明确提出的选项之一。
- 方法 B:换用能力更强的模型。如果必须使用 Native Function Calling(例如需要模型自行决定多工具调用顺序),请改用指令遵循能力更强的大模型,或按 Open WebUI Agentic Search 文档中给出的最低要求选择模型规模。
- 检查模型 Web Search 功能开关:确认该模型在 Open WebUI 中已勾选“Web Search”能力,同时检查“Default Features”中 Web Search 未被全局关闭。若开关未开启,即使切换到 Legacy 模式工具也可能不注入。
- 不要用“问模型有没有工具”来判断故障。模型列表回答不可靠,不能作为结论依据。
验证方法
切换为 Legacy Function Calling 后,在同一聊天中询问“What is the current weather in Berlin today?”(或任意需要实时信息的问题),观察模型回答中是否包含 SearXNG 返回的网页摘要或链接。若回答中出现搜索来源内容,说明搜索流程已走通。若仍需保持 Native 模式,可换大模型后重复该问题,正常时应看到 Open WebUI 界面出现工具调用记录(如 search_web 被触发)。
同时可用 SearXNG 的访问日志或 Open WebUI 容器内 docker exec open-webui curl -s 'http://searxng-core:8080/search?q=test&format=json' 确认搜索后端在切换后是否收到来自聊天会话的查询请求——这是验证搜索是否真正触发的最直接证据。
参考来源
open-webui/open-webui #29714:issue: local 9.7B model never calls the search_web tool in Native function calling mode
另可参考 Issue 中维护者引用的 Agentic Search 文档:Open WebUI Agentic Search
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Bug] Gmail trigger silently stops after 7 days: subscription expires_at is persisted as -1](https://www.chat-gpts.plus/wp-content/uploads/2026/09/41162-d3216684-768x403.jpg)

![[Bug]: Strict tool calling attaches no structural tag when the reasoning and tool parsers share a parser engine](https://www.chat-gpts.plus/wp-content/uploads/2026/09/53745-ee48e740-768x403.jpg)