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

如何使用正确文件格式向OpenAI API提交Fine-tuning任务?

解决GPT-3.5-Turbo微调格式问题的步骤

1. 清理旧文件避免混淆

  • 删除之前格式不符的旧文件:
    curl https://api.openai.com/v1/files/file-2FLvF7VJSBsEOFSwJAf1XXXX -X DELETE \
      -H "Authorization: Bearer YOUR_API_KEY"
    
  • 发送GET请求https://api.openai.com/v1/files确认旧文件已从列表中移除。

2. 严格生成符合规范的Chat格式JSONL文件

GPT-3.5-Turbo-0613微调要求的JSONL文件,每一行必须是包含messages数组的独立JSON对象,每个消息需包含role(可选值:system/user/assistant)和content字段,禁止使用chat字段(这是你之前上传报错的核心原因)。正确示例:

{"messages": [{"role": "system", "content": "你是专业的技术答疑助手"}, {"role": "user", "content": "OpenAI API调用超时怎么处理?"}, {"role": "assistant", "content": "可以尝试调整请求超时参数、检查网络稳定性,或添加重试机制"}]}
{"messages": [{"role": "user", "content": "GPT-3.5-Turbo微调的文件格式要求是什么?"}, {"role": "assistant", "content": "必须用包含messages数组的JSONL格式,每个消息要有role和content字段"}]}
  • 用工具验证格式正确性:
    jq -c . your_training_data.jsonl > validated_data.jsonl
    
    该命令会自动修正语法问题并确保每行是合法JSON对象。

3. 正确上传验证后的文件

使用curl上传时指定purpose=fine-tune,确保请求头和参数无误:

curl https://api.openai.com/v1/files -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@validated_data.jsonl" \
  -F "purpose=fine-tune"
  • 上传成功后记录返回的文件ID,再次发送GET请求https://api.openai.com/v1/files确认文件状态为processed,只有该状态的文件可用于微调。

4. 提交微调任务

使用新文件ID和目标模型提交任务:

curl https://api.openai.com/v1/fine_tuning/jobs -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "training_file": "YOUR_NEW_FILE_ID",
    "model": "gpt-3.5-turbo-0613"
  }'
  • 提交成功会返回HTTP 200状态码及任务详情。

常见排查点

  • 检查JSONL文件是否存在语法错误(如未闭合引号、多余逗号)
  • 确认文件数据量达标(微调至少需要10条有效数据)
  • 每条messages数组需至少包含一个user和一个assistant消息
  • 验证API密钥是否拥有微调权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:35:18