指南
Schema 設計
設計 AI 能可靠擷取的 JSON Schema
你傳給 /extract 的 Schema 本身就是 prompt。每個欄位名稱、description 與型別提示都會被模型讀取。一份形狀良好的 Schema 能大幅提升準確率。
欄位命名
用讀起來像英文的名字。模型對 productName 的表現遠優於 pn 或 name1。
{ "type": "object", "properties": {
"productName": { "type": "string" },
"currentPrice": { "type": "number" }
} }欄位描述
對任何有歧義的欄位都加上 description。"price" 可能是 MSRP、現價或單位價 —— 寫清楚:
{ "currentPrice": {
"type": "number",
"description": "Final price after discount, in USD"
} }必填 vs 選填
只標記你真正需要的欄位。必填欄位一旦模型找不到就會讓整個擷取失敗 —— 用得越省越好。
巢狀
有用時可以接受一層巢狀(address.city)。更深層(3 層以上)通常會傷害擷取品質。
常見陷阱
- 用了有歧義的型別(對
"$19.99"這類數字使用string)—— 改用number,讓模型自己解析 - 模糊的 enum 卻沒有 description
- 把實際上不是每頁都會出現的欄位設成必填
本頁正在補充 Schema 食譜 —— 敬請回訪。