You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenAI Python API上传文件时触发400 Bad Request错误排查

OpenAI API上传文件报400 Bad Request的可能原因及解决办法
  • 文件格式不满足微调要求
    微调必须使用JSONL格式,即每行是一个独立的JSON对象(比如{"prompt": "用户输入", "completion": "预期输出"})。哪怕文件是可读文本,若格式不符合或存在JSON语法错误(如引号不闭合、逗号遗漏),都会触发400错误。可以用Python内置工具验证:
    python -m json.tool < 你的文件路径.jsonl
    
    若有语法错误,工具会直接报错定位。
  • 文件指针未重置
    你提到上传前会读取文件第一行记录,这会导致文件指针移至文件中部,上传时仅发送剩余内容,引发格式错误。解决方法是在调用client.files.create前重置指针:
    myFile.seek(0)
    
  • 文件大小超出限制
    OpenAI对微调文件有明确大小限制:单个文件最大100MB,总数据集不超过1GB。可以通过代码检查文件大小:
    import os
    print(os.path.getsize(file_path))  # 输出单位为字节
    
    若超限,需拆分文件或精简内容。
  • 参数或文件名问题
    • purpose参数必须严格为"fine-tune",大小写、拼写错误都会导致请求失败;
    • 文件名后缀需为.jsonl,若使用.txt等其他后缀,OpenAI可能无法识别格式,建议重命名文件后重试。
  • 文件编码异常
    确保文件以UTF-8编码保存,若使用其他编码(如GBK),可能导致服务端解析失败。可以用指定编码重新打开文件:
    myFile = open(file_path, "r", encoding="utf-8")
    
    注:此处使用文本模式r而非二进制模式rb,OpenAI Python客户端会自动处理编码转换。

内容的提问来源于stack exchange,提问作者Gabriela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:19:52