
教程指南
DeepSeek JSON Output 指南:结构化输出、校验与失败兜底
HiDeepSeekDeveloper Guide
教程指南JSON Output结构化输出Validation
DeepSeek JSON Output 指南:结构化输出、校验与失败兜底
H
HiDeepSeek 编辑部更新于 2026/9/1
阅读大约 7 分钟
JSON Output 能保证模型返回合法 JSON 字符串,但“能解析”不等于“符合业务规则”。字段缺失、枚举越界和语义错误仍需由应用校验。
一、正确开启 JSON Output
请求中设置 response_format: { type: 'json_object' },同时在系统或用户提示中明确写出“json”,并提供目标结构示例。还要为完整输出保留足够的 Token,避免 JSON 被截断。
const response = await client.chat.completions.create({
model: 'deepseek-v4-flash',
messages: [{
role: 'system',
content: '请输出 json,格式示例:{"title":"...","tags":["..."]}',
}, {
role: 'user',
content: '从这段内容中提取标题和标签:...',
}],
response_format: { type: 'json_object' },
max_tokens: 1000,
});
二、解析之后继续校验
const raw = response.choices[0].message.content;
const data = JSON.parse(raw);
if (typeof data.title !== 'string' || !Array.isArray(data.tags)) {
throw new Error('模型输出未通过业务结构校验');
}
三、准备失败兜底
- 检查
finish_reason,识别长度截断。 - 为偶发空内容、解析失败设置有限重试或人工复核。
- 限制字符串长度、数组数量和枚举取值,避免异常数据进入数据库。
- 不要直接执行模型返回的 SQL、Shell 命令或 URL。
如果你的任务需要工具参数严格符合 JSON Schema,可进一步评估工具调用的 strict 模式;该能力属于独立机制,使用前应阅读当前 Beta 限制。
参考资料
本文按下列官方资料核验。模型能力、价格与接口可能调整,请以最新文档为准。