簡短回答
大多數情況下根本沒有發出過搜尋。開關開著時,Whizi會先給模型一個成本約50個token的探測工具,只有在某個回合中模型真的呼叫這個工具時,才會執行真正的網頁搜尋。如果模型判斷自己已經能夠根據既有知識回答,就不會執行搜尋,你會得到一個沒有來源的答案,而開關仍然顯示為綠色。
依照最值得檢查的順序,列出各種原因:
| 你看到的狀況 | 最可能的原因 | 該怎麼做 |
|---|---|---|
| 開關開著,答案卻沒有來源 | 模型從未呼叫探測工具,所以沒有發出搜尋 | 你這邊沒有辦法強制觸發搜尋:模型每個回合自行決定 |
| 這個對話裡開關看起來是關的 | 開關是依對話儲存,不是依帳號儲存,而且新對話預設會開啟搜尋 | 在這個對話裡再次把它打開 |
| 只回來兩三個來源 | 一般搜尋上限是每次搜尋3則結果 | 不用改什麼:每次搜尋3則、總計3則就是上限 |
| 錯誤訊息提到布林值 | 請求內容格式錯誤 | 重新整理頁面並重新送出 |
| 整則訊息都出錯 | 模型提供者發生故障 | 重試一次,若持續發生請聯絡支援 |
為什麼開關開著不代表搜尋真的執行過
一個請求會以三種搜尋模式之一執行:關閉、探測,或原生。
關閉模式完全不帶任何搜尋工具:開關是關的,所以模型沒有辦法查任何資料,只能單靠對話內容回答。開關開著時,訊息會進入探測模式。
探測模式是低成本的替代方案。模型會拿到一個普通的函式可以呼叫,成本大約50個token,只有真的呼叫這個函式的訊息,才會重新發出並附上真正的搜尋。對於本來就不需要上網查的訊息,探測模式的成本大約是原生模式的46分之一,而對於真正需要的訊息,成本大約只多出0.8%。
原生模式會直接執行提供者本身的真實網頁搜尋工具。這並不是免費的:工具定義會注入一段大約4,400個輸入token的固定前言。同樣的兩則訊息提示,在沒有工具時測得36個token,加上工具後則是4,472個token。
開關只是允許搜尋,實際上要不要執行由模型決定,這就是為什麼像「什麼是好用的CRM」這種問題可能沒有來源就回來了,而「這家公司這週宣布了什麼」卻會經過搜尋,兩者發生在同一個對話裡,開關完全沒有被動過。
網頁搜尋是每次請求的使用者開關,而不是依模型而定的能力旗標,所以並沒有公開列出哪些模型能瀏覽網頁、哪些不能。
確切的錯誤字串,以及各自代表的意思
Whizi的用戶端會直接顯示後端的error.message,所以你眼前看到的字串,就是路由本身送出的字串。如果你正看著以下其中一種,這就是它想告訴你的意思。
| 錯誤字串 | HTTP與錯誤代碼 | 觸發原因 |
|---|---|---|
webSearchEnabled must be a boolean. | 400,invalid_generate_request | 網站的送出路由收到的webSearchEnabled欄位不是true或false |
webSearch must be a boolean. | 400,invalid_chat_request | 應用程式聊天路由收到的webSearch欄位不是true或false |
Web searches failed. You have not been charged. | 寫在失敗的執行結果上 | Deep Research執行時完成的搜尋次數少於最低要求 |
這兩個布林值錯誤,代表的是請求格式錯誤。用戶端送出的搜尋旗標值不是布林值,這與你的帳號、方案或模型都無關。重新整理頁面並再次送出訊息即可。如果重新整理無法解決,請聯絡支援。
Web searches failed. You have not been charged.會在Deep Research執行時,完成的搜尋次數少於最低要求時寫在失敗的紀錄上。點數不會被扣除。請稍後再試一次這個請求。
整則訊息失敗時
一個搜尋回合也可能因為與搜尋完全無關的原因而失敗。以下字串來自模型提供者這一層,代表的是生成本身失敗了。
| 錯誤字串 | HTTP與錯誤代碼 | 意義 |
|---|---|---|
The model is temporarily rate-limited. Please retry shortly. | 429,provider_rate_limited | 上游提供者拒絕了連線,不是Whizi的問題 |
The model provider rejected the request. | 502,provider_error | 無法讀取提供者回傳的錯誤內容 |
The model provider returned an empty stream. | 502 | 上游回應本身正常,但沒有帶任何內容 |
The model stream was interrupted. | 串流中的錯誤事件 | 串流在進行到一半時失敗 |
Too many requests. Please wait and try again. | 429,rate_limit_reached | 你觸發了Whizi的速率限制窗口 |
聊天訊息每位使用者每分鐘上限10則、每小時上限60則,所有方案一律相同,並且所有路由共用每分鐘30則請求的整體上限。被拒絕的請求不會產生任何費用:速率限制的拒絕會被撤銷,所以一個429絕不會從你的額度裡扣掉一則訊息。
以上這些狀況,你這邊都沒有設定可以避免。稍等片刻再送出一次。如果同一個模型連續幾分鐘都持續失敗,可以換一個模型繼續使用,並聯絡支援,讓團隊能針對你的帳號進行檢查。
- 綠色開關只是允許搜尋,實際上要不要執行由模型決定
- 探測模式成本約50個token,只有模型呼叫它的回合才會執行真正的搜尋
- 一般搜尋最多回傳3則結果
- 兩個布林值錯誤都是請求格式錯誤:重新整理並重新送出
- 搜尋是每次請求的開關,不是依模型而定的能力旗標
- 提供者錯誤與429都是暫時性的:稍等、重試,再聯絡支援
常見問題
我在Whizi打開了網頁搜尋,結果沒有搜尋。為什麼?
因為模型判斷自己不需要。開關開著時,Whizi會在你的訊息旁附上一個成本約50個token的低成本探測工具,只有在某個回合中模型真的呼叫這個工具時,才會發出真正的搜尋。這樣設計是為了壓低成本,因為提供者原生的搜尋每次請求都會注入大約4,400個輸入token的前言。
「webSearchEnabled must be a boolean.」是什麼意思?
這是一個HTTP 400錯誤,代碼是invalid_generate_request,發生在送出請求中的webSearchEnabled值不是true或false時。你的帳號、方案與模型都與這個錯誤無關。請重新整理頁面並再次送出,如果重新整理無法解決,請聯絡支援。應用程式聊天路由有對應的字串「webSearch must be a boolean.」,代碼是invalid_chat_request。
「Web searches failed. You have not been charged.」是什麼意思?
這句話會寫在失敗的Deep Research執行紀錄上,發生在完成的搜尋次數少於最低要求時。字面意思就是實際狀況:點數不會被扣除。沒有任何設定可以避免這種情況,唯一有用的做法就是稍後再試一次這個請求。