指南

Schema 设计

设计 AI 能稳定提取的 JSON Schema

你传给 /extract 的 Schema 本身就是 prompt。每一个字段名、description、类型提示都会被模型读取。一个形态良好的 Schema 能显著提升准确率。

字段命名

用读起来像英文的命名。模型对 productName 的处理远好于 pnname1

{ "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 食谱 —— 敬请期待。