簡短答案
Whizi將單一附件上限設為10 MB,同一則提示的所有附件加總上限為20 MB,錯誤訊息會指出是哪一層拒絕了這個檔案。
所有上限,整理如下:
| 上限 | 數值 | 適用範圍 |
|---|---|---|
| 單一附件 | 10 MB | 附加在單一聊天訊息中的任何檔案 |
| 同一則提示的所有附件 | 20 MB | 整則提示的加總 |
| 每則提示的附件數 | 4 | 由後端強制執行,且只能出現在最後一則使用者訊息上 |
| 輸入框中暫存的檔案 | 6 | 網站的輸入框 |
| 直接上傳圖片 | 8 MB | 圖片上傳路徑 |
| 每分鐘的圖片上傳次數 | 10 | 每個帳號,每UTC分鐘 |
| 每日的圖片上傳次數 | 60 | 每個帳號,每UTC日 |
| 專案釘選檔案 | 10 MB,10個檔案 | 每個專案 |
| 單一聊天訊息中的文字 | 100,000個字元 | 包含從你的檔案中擷取的文字 |
附件不會消耗任何額度,所以無論上傳被拒絕還是成功,都不會花費你任何東西。
檔案太大
當上傳因大小被拒絕時,可能出現四種不同的訊息,取決於是哪一層攔截了這個檔案。
| 訊息 | HTTP代碼 | 觸發原因 |
|---|---|---|
File {name} exceeds 10MB limit. Please upload a smaller file. | 無,網站的提示訊息 | 你透過附加按鈕選擇了一個超過10 MB的單一檔案 |
One or more files exceed the 10MB size limit. Please upload smaller files. | 無,網站的提示訊息 | 你拖放了多個檔案,其中至少一個超過10 MB |
Attachments must be 10 MB or smaller. | 413 attachment_too_large | 後端拒絕了這個檔案,先檢查宣告的長度,再檢查實際的位元組數 |
Attachments are limited to 20 MB per prompt. | 413 attachments_too_large | 每個檔案都在10 MB以下,但加總超過20 MB |
前兩則訊息中的{name}會替換成你的檔案名稱。
宣告的長度會先於實際位元組數被檢查,所以就算重新宣告較小的大小,也無法讓一個大檔案通過10 MB的檢查。
這四種情況的解決方法都一樣:一次送出更少的內容。把一份長PDF拆成你真正想讓它讀取的段落,再附加你要詢問的那個段落。只有攜帶附件的最新一則使用者訊息,其附件才會被轉發給供應商,所以請把檔案附加在提出問題的那則訊息上,而不是依賴對話中較早傳送的那一則。
直接上傳的圖片有自己較低的上限:Image is too large. Please upload an image under 8 MB. 是HTTP 413 upload_too_large。這個檢查會出現兩次:一次是宣告的Content-Length超過上限的兩倍以上,另一次是實際檔案大小達到8 MiB,所以無論長度宣告有沒有錯誤,都會被攔截。請以較小的尺寸或較低的解析度重新匯出圖片。
對於專案釘選的檔案,上限同樣是10 MB,並有自己的訊息:網站的提示訊息是{name} is over the 10 MB limit.,而HTTP 413 project_file_too_large則是Project files must be 10 MB or smaller.。
檔案類型不被接受
存在三份不同的允許類型清單,因為聊天附件、直接圖片上傳和專案釘選檔案是三條不同的路徑。
| 訊息 | HTTP代碼 | 接受的類型 |
|---|---|---|
Choose an image, PDF, text, Markdown, CSV, or JSON file. | 415 unsupported_attachment_type | 聊天附件:JPEG、PNG、WebP、GIF、PDF、TXT、Markdown、CSV、JSON |
Unsupported image type. Please upload a JPG, PNG, WebP, or GIF. | 400 unsupported_image_type | 圖片上傳路徑:image/jpeg、image/png、image/webp、image/gif |
Choose a PDF, Word, Excel, text, Markdown, CSV, or JSON file. | 415 unsupported_project_file_type | 專案釘選檔案,刻意排除圖片 |
Unsupported file type. Please upload an image, document (PDF, Word), spreadsheet (Excel), or text-based file. | 無,網站的提示訊息 | 輸入框在為選取的檔案分類時 |
{name} is not a supported file type. | 無,網站的提示訊息 | 選取的專案檔案是圖片或其他不支援的類型 |
當你透過附加按鈕選擇檔案時,輸入框會顯示這則不支援類型的提示訊息。同樣的情況下,拖放操作則不會有任何反應,所以一個被拖放後從未出現在輸入框中、也完全沒有任何訊息的檔案,最有可能就是不支援的類型。改用附加按鈕選擇它,就會得到指出問題的提示訊息。
GIF是這兩條路徑唯一不一致的地方。網站的輸入框會直接以GIF files are not supported. Please upload a PNG or JPEG image.拒絕它,而後端的圖片上傳路徑卻接受image/gif。在網站上,請把GIF轉換成PNG或JPEG畫格再上傳。
對於清單以外的其他檔案,最快的方法是轉換格式:把它另存為PDF、CSV或純文字後再上傳。完整的接受清單請見支援的檔案類型。
檔案與它宣稱的類型不符
有兩項檢查會在通過類型清單之後才執行,兩者都會產生各自的訊息。
The file extension does not match its content type.是HTTP 415,聊天附件的代碼是attachment_extension_mismatch,專案檔案的代碼是project_file_extension_mismatch。當檔名的副檔名與隨檔案送出的內容類型不一致時,就會觸發這則訊息。
The selected file does not match its declared format.是HTTP 415,聊天附件的代碼是invalid_attachment,專案檔案的代碼是invalid_project_file。這是一項簽章檢查:系統會讀取檔案的最前面幾個位元組,並與宣告的MIME類型比對,所以一個只是被改名而非真正轉換格式的檔案,會在這裡被抓到。
常見的原因是改名。把report.txt改成report.pdf並不會讓它變成PDF檔,而這項檢查就是用來察覺這種情況。請在檔案原本對應的應用程式中開啟它,匯出或另存為你想要的格式,再上傳結果。
檔案太多,或上傳次數太多
數量上限會產生各自的訊息,而且數字並不相同,因為輸入框和後端計算的對象並不一樣。
| 訊息 | HTTP代碼 | 觸發原因 |
|---|---|---|
You can only upload up to 6 files per message. | 無,網站的提示訊息 | 選取或拖放會讓輸入框中暫存的檔案超過6個 |
Message {n} may carry up to 4 valid attachments, and only on the final user message. | 400 invalid_attachments | 一則提示上的附件超過4個,或附件出現在非最後一則使用者訊息上 |
Message {n} repeats an attachment. | 400 invalid_attachments | 同一個附件id在同一則訊息中出現兩次 |
Projects hold up to 10 files. Remove one first. | 409 project_file_limit_reached | 專案中的第11個釘選檔案 |
This project already holds 10 files. Remove one first. | 無,網站的提示訊息 | 在清單已滿時,於上傳開始前就顯示 |
速率限制與數量上限是分開的。Upload rate limit reached. Please wait a moment before uploading another image.是HTTP 429 upload_rate_limited,會在單一UTC分鐘內圖片上傳超過10次後觸發。等待時間是一分鐘。
Daily upload limit reached. Please try again tomorrow.是HTTP 429 upload_daily_limit_reached,在單一UTC日內圖片上傳達60次後觸發。重置時間是UTC午夜,而不是你所在時區的午夜。專案檔案上傳有自己的上限,每分鐘10次。
上傳成功,但檔案無法被讀取
當PDF、Word或試算表檔案的擷取過程發生錯誤時,上傳本身其實已經成功,失敗的是讀取內容的步驟。每種格式都有自己的訊息。
| 訊息 | 通常代表的意思 |
|---|---|
Could not read {name}. The PDF may be corrupted or password-protected. | PDF文字擷取過程發生錯誤。常見情況是PDF設有密碼保護 |
Could not read {name}. Please try re-saving the document. | Word擷取過程發生錯誤 |
Could not read {name}. The spreadsheet may be corrupted. | 試算表擷取過程發生錯誤 |
Could not read {name}. Older .xls files are not supported. Please re-save the file as .xlsx and upload it again. | 一個舊版的二進位Excel檔案。訊息本身就是解決方法 |
Could not read {name}. | 純文字擷取過程發生錯誤 |
No readable text found in this file, so the model cannot see it. | 一個專案釘選檔案,擷取結果完全沒有任何內容 |
對於設有密碼保護的PDF,請在你的PDF閱讀器中移除密碼,再上傳解鎖後的副本。對於舊版的.xls檔案,請開啟它並另存為.xlsx。掃描版PDF擷取不到任何內容的情況,請見與PDF對話。
檔案也可能被成功讀取,但之後被截斷。單一聊天訊息的上限是100,000個字元,從檔案擷取出的文字也計入這個上限。當擷取出的文字放不下時,你會看到Your upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage.,而訊息本身會在被截斷處帶有標記[Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.]。模型只會收到這個標記之前的文字,標記之後的內容一律不會收到,所以一個看起來完整的答案,實際上可能只是根據部分文件寫成的。
如果整則訊息是被拒絕而不是被截斷,後端會回傳HTTP 400 message_too_long,並附上This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.,其中{count}是你實際的字元數。
上傳失敗,原因不明顯
有幾則訊息代表的是上傳從未完成,而不是因為內容本身被拒絕。
| 訊息 | 代表的意思 | 該怎麼做 |
|---|---|---|
Failed to retrieve session token. | 在呼叫上傳之前,無法取得你的session token | 重新整理頁面並再次登入,然後重試 |
Failed to upload image: {statusText} | 圖片上傳的回應狀態不是OK,並附上了伺服器的狀態文字 | 重試。如果一再發生,支援團隊需要的就是這段狀態文字 |
Image URL not returned by the server. | 上傳成功,但回應中沒有帶回圖片URL | 重試上傳 |
Could not upload your attachments. | 在並排比較檢視中,上傳步驟發生錯誤 | 重試,或改在一般聊天中送出相同的提示 |
Could not upload {name}. | 專案檔案上傳發生錯誤,且沒有附上訊息 | 重試 |
Invalid request 和 No file uploaded | HTTP 400的invalid_upload與no_file_uploaded。請求不是multipart/form-data、表單資料解析失敗,或內容中沒有檔案欄位 | 重試上傳 |
Media could not be stored. | 儲存寫入沒有回傳任何物件 | 重試一次。如果持續發生,請聯絡支援 |
Stored media metadata was invalid. | 儲存的媒體紀錄無法被讀回 | 重試一次。如果持續發生,請聯絡支援 |
Something went wrong. Please retry. | HTTP 500。任何未處理的後端錯誤 | 重試一次,再聯絡支援 |
另一類訊息代表的是檔案已經消失,而不是上傳失敗。One or more attachments could not be found.是HTTP 404 attachment_not_found,當某個附件id無法對應到屬於你的已儲存媒體時就會回傳。Media not found.是HTTP 404 media_not_found,而Media has expired.是HTTP 404 media_expired,會在已儲存物件超過保留期限(最長30天)後回傳。一段舊的對話仍可能保留著一個已經不存在的檔案的參照,這時請重新上傳。保留期限的說明請見資料與隱私。
- 單一附件上限10 MB,單一提示的總上限是20 MB
- 輸入框最多暫存6個檔案,後端每則提示最多接受4個附件
- 直接上傳圖片的上限是8 MB,每分鐘10次,每UTC日60次
- 改檔名不會轉換檔案格式:簽章檢查會抓到這種情況
- 拖放對不支援的類型不會有任何反應,附加按鈕才會告訴你
- 網站的輸入框會拒絕GIF,請轉換成PNG或JPEG
- 舊版.xls檔案必須另存為.xlsx
- 設有密碼保護的PDF必須先解鎖才能被讀取
- 從檔案擷取出的文字計入100,000字元的訊息上限
- 附件不會消耗額度,所以上傳失敗也不會有任何損失
常見問題
「Attachments must be 10 MB or smaller.」是什麼意思?
你附加的檔案超過了單一檔案10 MB的上限,後端以HTTP 413和代碼attachment_too_large拒絕了它。這則訊息只針對單一檔案的上限。四個各自都在10 MB以下、但加總超過20 MB的檔案,會回傳另一則不同的訊息「Attachments are limited to 20 MB per prompt.」,代碼是attachments_too_large。同一則提示上的第五個附件,會回傳「Message {n} may carry up to 4 valid attachments, and only on the final user message.」,代碼是invalid_attachments。
為什麼一個能正常開啟的檔案,還是會出現「The file extension does not match its content type.」?
副檔名檢查會在簽章檢查之前執行,所以一個副檔名與宣告的內容類型不一致的檔案,會先被這則訊息拒絕,根本不會走到比對魔數(magic byte)並回傳「The selected file does not match its declared format.」的那一步。代碼會依上傳路徑而不同:聊天附件回傳attachment_extension_mismatch和invalid_attachment,專案檔案回傳project_file_extension_mismatch和invalid_project_file,所以網路追蹤紀錄中的代碼,能告訴你是哪條上傳路徑拒絕了這個檔案。
我把檔案拖放到聊天中,結果什麼都沒發生,也沒有錯誤訊息。為什麼?
最可能的原因是不支援的檔案類型,而拖放這條路徑刻意不會顯示任何訊息。被拖放的檔案也不會出現在暫存清單中,所以既沒有東西可以移除,畫面上也沒有任何東西能解釋這種沉默。但並非每次拖放都沒有反應:如果拖放會讓輸入框暫存的檔案超過6個,同一條路徑就會顯示提示訊息「You can only upload up to 6 files per message.」,而不支援的類型則不會顯示任何訊息。
要怎麼解決「Upload rate limit reached. Please wait a moment before uploading another image.」?
等待就好。這是HTTP 429,由單一UTC分鐘內圖片上傳超過10次所觸發。背後的計數器屬於圖片上傳路徑,而不是一般附件,而專案檔案路徑則有自己獨立的計數器,所以把檔案釘選到專案和上傳圖片,並不會共用同一份額度。無論你走的是哪條路徑,帳號還受到一個橫跨所有路徑、每分鐘30次請求的共用上限限制。
我的PDF上傳成功了,但模型說它看不到內容。發生了什麼問題?
上傳成功了,失敗的是擷取這一步。設有密碼保護或已損毀的PDF會出現提示訊息「Could not read {name}. The PDF may be corrupted or password-protected.」。一個釘選到專案、擷取結果完全沒有內容的PDF,則會在專案中的該檔案旁顯示「No readable text found in this file, so the model cannot see it.」。第一種情況請移除密碼後重新上傳。第二種情況,也就是沒有文字圖層的掃描檔,在「與PDF對話」頁面中有說明。
升級方案會改變上傳的任何限制嗎?
會改變的是你能把檔案傳送給哪些模型。任何方案上,附件都不會消耗額度,所以你的方案計量的從來不是上傳這件事本身。Starter方案可以使用四個模型,Pro方案在此基礎上再多加37個,而目錄中其他所有模型都需要Powerhouse方案。