Whizi文件上传失败或被拒绝怎么办

快速解答

Whizi将单个附件的上限设为10MB,一次提示中所有附件加起来的上限为20MB,错误提示会说明是哪一层拒绝了这个文件。后端在最后一条用户消息中最多接受4个附件,而网页版输入框最多可以暂存6个文件。附件本身不消耗额度。

简短答案

Whizi将单个附件的上限设为10MB,一次提示中所有附件合计不超过20MB,错误提示会说明是哪一层拒绝了这个文件。

各项上限一览:

上限项目数值适用范围
单个附件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.无,网页提示你通过附加按钮选择了单个超过10MB的文件
One or more files exceed the 10MB size limit. Please upload smaller files.无,网页提示你拖放了多个文件,其中至少一个超过10MB
Attachments must be 10 MB or smaller.413 attachment_too_large后端拒绝了该文件,先核对声明的长度,再核对实际字节数
Attachments are limited to 20 MB per prompt.413 attachments_too_large每个文件都小于10MB,但合计超过20MB

前两条提示中的{name}会替换成你的文件名。

系统会先检查声明的长度,再检查实际字节数,所以把大文件的大小改小声明并不能绕过10MB的检查。

四种情况的解决办法是一样的:一次发送的内容少一点。把一份很长的PDF拆分成你真正需要模型阅读的部分,只附上你要问的那部分。只有携带附件的最新一条用户消息,其附件才会被转发给模型提供方,所以把文件附加在提出问题的那条消息上,而不要依赖对话中更早发送的文件。

直接上传的图片有自己更低的上限:Image is too large. Please upload an image under 8 MB. 对应HTTP 413 upload_too_large。它会触发两次检查,一次是声明的Content-Length超过上限的两倍以上,另一次是实际文件大小达到8 MiB,所以即便长度声明有误也会被两头拦住。请把图片重新导出为更小的尺寸或更低的分辨率。

项目固定文件的上限同样是10MB,有自己的提示:网页提示为{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.在发起上传请求前,未能获取你的会话令牌刷新页面并重新登录,然后重试
Failed to upload image: {statusText}图片上传的响应返回了非成功状态,并附带了服务器的状态文本重试。如果反复出现,状态文本就是客服需要的信息
Image URL not returned by the server.上传成功了,但响应中没有携带图片地址重试上传
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_foundMedia has expired.是HTTP 404 media_expired,在已存储对象超出保留期限(最长30天)后返回。一段旧对话仍可能引用一个已经不存在的文件,重新上传它即可。保留期限的说明见数据与隐私

操作清单
  • 单个附件上限为10MB,一次提示总计上限为20MB
  • 输入框最多可暂存6个文件,后端每次提示最多接受4个附件
  • 直接上传图片的上限为8MB,每分钟10次、每UTC天60次
  • 改文件名不会转换文件格式,签名检查会发现这一点
  • 拖放对不支持的类型保持沉默,附加按钮会告诉你原因
  • 网页输入框会拒绝GIF,请转换成PNG或JPEG
  • 旧版.xls文件必须另存为.xlsx
  • 设有密码保护的PDF必须先解锁才能被读取
  • 从文件中提取的文字计入100,000字符的消息上限
  • 附件不消耗额度,所以上传失败也不会有任何损失

常见问题

"Attachments must be 10 MB or smaller."是什么意思?

你附加的文件超过了单个文件10MB的上限,后端用HTTP 413和代码attachment_too_large拒绝了它。这条提示只针对单个文件的上限。四个文件各自小于10MB,但合计超过20MB时,会返回另一条提示,"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."?

扩展名检查在签名检查之前运行,所以一个扩展名和声明的内容类型不一致的文件会被这条提示拒绝,根本到不了比对文件魔数的那一步,也就不会返回"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对话页面中有说明。

升级套餐会改变上传相关的任何事情吗?

它改变的是你能把文件发给哪些模型。任何套餐下附件都不消耗额度,所以上传本身从来都不是你的套餐在计量的东西。入门版能使用四个模型标识,专业版在此基础上再增加37个,目录里的其余所有模型都需要Powerhouse。