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

基于OpenAI API微调LLM时,结构化输出的Assistant内容格式疑问

结构化输出的OpenAI微调数据格式

针对你用Zod定义的CountResponses结构,微调数据里的assistant角色消息需要直接填入严格匹配该结构的JSON字符串,不需要使用工具调用格式,具体要求如下:

核心规则

  • 每条微调样本是JSONL格式的对话对象,包含messages数组
  • assistant的消息内容必须是纯JSON字符串,完全符合你定义的Zod结构,不能夹杂任何自然语言文本
  • 字段类型必须严格对应(比如count是数字类型,confidence是0-1范围内的数字)

完整示例(JSONL格式)

{"messages": [
  {"role": "user", "content": "统计图片里的SKU数量:SKU-001有3个,SKU-002有5个"},
  {"role": "assistant", "content": "{\"counts\": [{\"sku\": \"SKU-001\", \"count\": 3, \"rationale\": \"图片中清晰可见3个SKU-001商品\", \"confidence\": 0.98}, {\"sku\": \"SKU-002\", \"count\": 5, \"rationale\": \"图片中共有5个SKU-002商品\", \"confidence\": 0.99}]}"}
]}

注意事项

  • JSON字符串要做转义处理(比如双引号用\"),确保符合JSONL的语法要求
  • 微调阶段不需要在请求里指定response_format,等模型微调完成后,调用时再设置结构化输出参数(就像你代码里的zodResponseFormat)
  • 所有样本的assistant输出都要严格遵循相同的结构,这样模型才能学习到稳定的结构化输出模式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:05