让模型输出 JSON 做结构化抽取,解析失败率一直很高。主要错误:多了 markdown 代码块、结尾多逗号、字段名大小写不一致。
三处改动:
- 用原生结构化输出
支持 json_schema 或者 response_format 的上游,直接用,别靠提示词约束。这是最有效的一步。
- 提示词里给完整示例
不是描述字段,是给一个完整的 JSON 样例。模型照抄样例格式的准确率远高于理解描述。
- 解析端加容错
先剥 markdown 代码块,再尝试修复尾部逗号,最后兜底用 json5 解析。三层都失败才报错,报错时把原始输出存下来。
第 1 条是关键,但很多国内中转站不支持结构化输出,只能靠 2 和 3。选上游的时候把这条列进评估项。
另外:字段别太多。超过 15 个字段,模型漏字段的概率明显上升,拆成多次调用更好。
主楼- 暂无回复
继续逛逛