通过OpenAI API流式上传文件时出现'Unsupported file'错误求助
解决OpenAI流式上传文件丢失扩展名的问题
问题原因
流式上传时未明确指定带扩展名的文件名,导致OpenAI将文件默认命名为无扩展名的upload,不符合检索工具对文件格式的要求。
解决方案
在调用OpenAI Files API时,将file参数设置为包含带扩展名的文件名与文件流的元组,让OpenAI识别文件格式。修改后的代码如下:
def create_file(client, file_stream, file_name): # 绑定文件名(带扩展名)与文件流 file = client.files.create( file=(file_name, file_stream), # 传入(filename, fileobject)格式的元组 purpose='assistants' ) return file.id
补充说明
- 元组第一个元素必须是完整文件名(例如
notes.md),确保包含正确的扩展名; - 若需明确文件MIME类型,可扩展为三元组格式:
(file_name, file_stream, 'text/markdown'); - 该方式完全适配流式上传场景,无需切换到文件路径上传模式。
内容的提问来源于stack exchange,提问作者Tomer Weinbach
相关产品推荐
相关产品推荐

