返回首頁

GitHub Repo

Open WebUI 提出 Tool Search 修補,避免錯誤呼叫中止後續工具使用

Open WebUI 社群於 11 月 7 日提出修補,處理 Tool Search 將格式錯誤的工具呼叫誤判為回應中斷、撤除後續工具的問題。提案尚未合併,目前問題回報指向開發分支,正式版本影響範圍仍待確認。

Tyr · CC BY-SA 2.0 · Image source
zh-Hant

Open WebUI 社群於 11 月 7 日提出 PR #33872,調整 Tool Search 的錯誤處理:模型送出格式不合法的工具呼叫後,應收到錯誤並保留重試能力。截至查核時,提案仍開放,不能視為正式版本已修復。修補提案

問題回報描述,啟用 Tool Search 後,若 call_tool 收到空白或缺少的 calls 清單、批次項目缺少 params,或參數不是合法 JSON 物件,系統雖會回傳錯誤,下一次送往模型供應商的請求卻清空工具清單,並將工具選擇設為 none。因此模型即使知道參數有誤,也無法在同一則回覆中修正呼叫。回報將問題定位在加入批次呼叫後的開發分支。問題與重現步驟

這條路徑與大型工具集合的使用方式有關。依官方文件,Tool Search 會延後載入較大的工具定義,先讓模型透過 search_tools 找到完整規格,再經由 call_tool 執行。這可減少每次請求攜帶的工具描述,並維持提示前綴穩定;功能目前仍屬實驗性,預設關閉,只適用於 Native Mode。工具機制說明

提案作者指出,格式錯誤與真正未完成的模型回應共用錯誤欄位,停止條件只要看到該欄位有值,就會結束工具使用。修補改為只讓未完成回應觸發停止,其餘錯誤交回模型處理。技術上的意義是保留代理的錯誤復原迴圈:一次參數失誤仍有機會修正,不必直接以缺少查詢結果的狀態回答。作者說明

工程團隊接下來應觀察審查與合併結果,以及回歸測試能否同時涵蓋單筆、批次錯誤和真正截斷的回應。現有公開資料提供了重現流程與修補理由,但尚不足以確認各模型後端的端到端行為,也不能據此推定所有已發布版本均受影響。

來源

  1. Open WebUI PR #33872:修正格式錯誤呼叫後的工具停止行為
  2. Open WebUI Issue #33871:重現步驟與開發分支影響
  3. Open WebUI 官方工具文件:Tool Search