指南
Schema 设计
设计 AI 能稳定提取的 JSON Schema
你传给 /extract 的 Schema 本身就是 prompt。每一个字段名、description、类型提示都会被模型读取。一个形态良好的 Schema 能显著提升准确率。
字段命名
用读起来像英文的命名。模型对 productName 的处理远好于 pn 或 name1。
{ "type": "object", "properties": {
"productName": { "type": "string" },
"currentPrice": { "type": "number" }
} }字段说明
任何含糊的字段都加上 description。"price" 可能是建议零售价、当前价或单位价 —— 写明白:
{ "currentPrice": {
"type": "number",
"description": "Final price after discount, in USD"
} }Required 与 optional
只把你真正需要的字段标为 required。required 字段一旦模型找不到就会让整个提取失败 —— 慎用。
嵌套
合适的话用一层嵌套(address.city)。更深的嵌套(3 层及以上)通常会拖累提取质量。
常见坑
- 用了含糊的类型(用
string装"$19.99"这类数字)—— 应该用number,让模型自己解析 - 没写 description 的模糊枚举
- 把每页未必都有的字段标成 required
本页正在扩充为 Schema 食谱 —— 敬请期待。