檔案上傳到Whizi被拒絕或失敗

快速解答

Whizi將單一附件上限設為10 MB,同一則提示的所有附件加總上限為20 MB,錯誤訊息會指出是哪一層拒絕了這個檔案。後端每則提示最多接受4個附件,而且只能出現在最後一則使用者訊息上,網站的輸入框則最多可暫存6個檔案。附件不會消耗任何額度。

簡短答案

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/jpegimage/pngimage/webpimage/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 requestNo file uploadedHTTP 400的invalid_uploadno_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方案。