response_format、JSON Schema 或其他格式约束取决于模型参数。
基本策略
- 查询模型是否支持结构化输出。
- 使用尽量小、明确的结构。
- 在服务端做 JSON 解析和 Schema 校验。
- 校验失败时有限重试,或降级为普通文本解析。
JSON 对象示例
服务端校验
截断与结束原因
当finish_reason 表示长度限制,JSON 可能缺少结尾括号。不要尝试静默拼接不可信 JSON;提高合理的输出上限、缩小 Schema 或重新请求。工具调用场景应读取工具参数,而不是把正文当成 JSON。
Schema 设计建议
- 字段名简短、含义明确;
- 枚举控制在必要范围;
- 避免深层嵌套和无限数组;
- 对金额、时间和标识使用字符串并单独验证格式;
- 明确哪些字段允许
null; - 不让模型决定权限、最终价格或安全策略。

