JSON Schema 生成器(结构化输出)
粘贴示例 JSON,得到 JSON Schema,并复制让模型严格按这个结构返回的 API 请求。全部在浏览器里完成。
所有属性设为 required,additionalProperties 设为 false,部分元素缺失的字段改为可空。这正是严格结构化输出的要求。
你的 JSON 只在当前浏览器里处理,不会上传。
请求设置(模型、提示词)
示例模型。不同模型对 json_schema 的支持不同,使用前请先看模型页。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "response",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
},
"joined": {
"type": "string",
"format": "date-time"
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"city",
"zip"
],
"additionalProperties": false
}
},
"required": [
"name",
"age",
"email",
"joined",
"skills",
"address"
],
"additionalProperties": false
}三步在 HiAPI 上跑起来
如何为结构化输出生成 schema
01粘贴示例 JSON
用你想要的输出的真实示例,值要有代表性。数组里多放几项,才能识别出可选字段。
02检查 schema
核对类型和格式,按需改名。严格模式会把所有字段设为必填,这是严格结构化输出的要求。
03复制 API 调用
选 cURL、Python 或 Node.js,填入 Key 运行。结果是 choices[0].message.content 里的一段 JSON 字符串。
JSON Schema 生成器常见问题
我的 JSON 会被上传吗?
不会。schema 和代码都在你的浏览器里生成,不会发送到 HiAPI 或任何服务器。
严格模式改变了什么?
它把所有属性设为 required,把 additionalProperties 设为 false,并把部分数组元素缺失的字段改为可空类型。严格结构化输出需要这些。
所有模型都支持 json_schema 吗?
不是。支持情况取决于模型。示例使用 kimi-k3,response_format.type 设为 json_schema。各模型支持什么请看模型页。
只靠一个示例怎么推断 schema?
类型来自你的值,会区分整数和小数,数组会合并各元素,当所有样本匹配时补上字符串格式。单个示例看不出枚举和取值范围,需要你手动补充。
结构化结果在响应的哪里?
在 choices[0].message.content 里,是一段 JSON 字符串。请解析它,并在应用里校验业务字段。