首页/AI/提示词工程速查/结构化字段抽取(JSON 输出)
任务型写法50 条

结构化字段抽取(JSON 输出)

把自然语言文本抽取成固定字段的 JSON:先给字段表(名称/类型/示例),再要求仅输出 JSON,便于程序直接解析入库。

提示词工程速查AI更新于 2026-10-13

结构化抽取是什么

结构化字段抽取是把自然语言文本里的信息,按预先定好的字段表整理成 JSON,供程序直接解析入库。它和自由摘要的区别在于验收方式:摘要看写得像不像,抽取看字段对不对——字段名是否一致、类型是否合法、缺值是否有约定。所以抽取提示的核心不是措辞漂亮,而是把字段表与取值规则讲清楚,再要求只输出 JSON。

先定字段表再写话术

字段表要在写提示之前定下来:每个字段写清名称、类型、是否必填、缺失时的取值、枚举取值与单位。字段表定好后再写提示,提示里只负责把文本与字段表对应起来。反过来先写话术再补字段,很容易在抽取过程中发现字段漏项,改字段又要重写提示与下游表结构。

字段表要写清什么

名称与类型字段名用英文小写下划线,类型收敛到 string / number / boolean / array
缺失约定想清楚「文本里没有」是输出 null,还是省略该字段
枚举类别型字段把取值列全,并给出默认值或兜底值
单位与格式金额注明币种,日期注明 YYYY-MM-DD,数字不带千分位与单位
数组与嵌套数组可为空数组;嵌套结构给出一层示例,避免层级理解偏差

典型使用场景

  • 工单与邮件建档:从自由文本里提取设备、现象、联系人,写入工单系统
  • 票据信息录入:金额、日期、抬头按固定字段抽取,减少人工录入
  • 简历与合同要点:把关键字段抽出来做筛选,原文另行存档备查
  • 会话结单摘要:每通对话抽一组结构化字段,供质检与统计使用
  • 批量清洗历史数据:用同一字段表跑存量文本,输出可直接对比与合并

抽取提示模板

抽取提示模板
从下面的文本中抽取字段,按给定 JSON 结构输出,不要输出其他内容:
{
  "company": "公司全称,字符串,必填",
  "contact": "联系人姓名,字符串;没有则 null",
  "phone": "电话号码,字符串;没有则 null"   # 保留原文写法,不做格式化
}
规则:只使用文本中出现的信息;不要推断或补全;数字不带单位。
文本:<text>……</text>

抽取质量检查项

检查项做法不做的后果
字段完备必填字段漏项要有明确处理:重试或标记待人工流水线拿到半条记录继续走
类型合法解析后按字段规则校验(长度、格式、枚举)字符串当数字参与计算,报错在下一环才暴露
不越界推断提示里写明只使用文本内信息模型用常识补出原文没有的联系人
口径一致同一字段在不同批次的取值口径写进文档同一字段混着两种含义,统计结果失真
抽取任务的采样温度宜低(如 0 - 0.2),减少字段名与枚举值的同义变体。
长文本建议先分片再抽取,最后按主键合并;一次性塞入超长文本时,中段字段最容易漏抽。

易错点

  • 字段表在提示里用中文描述、程序侧按英文键取值,两边对不上导致解析一律失败
  • 只写「输出 JSON」不写缺失字段的取值约定,同一批数据里 null、空字符串、无 三种写法并存
  • 没有「只使用文本中出现的信息」这条约束,模型会用常识补全联系人或地址,来源无法追溯
  • 抽取结果不校验类型直接入库,把 1,234.50 元 这样的字符串写进数字列
  • 超长文本一次性输入导致中段字段被漏抽,且漏抽没有告警机制
  • 抽取结果不做抽样人工复核,模型偶尔把相近字段填错,指标上看不出来但业务口径已经错了
  • 把不同来源不同口径的数值合并在同一字段(都叫 amount),后续无法按来源区分与追溯

数据来源与参考

  • OpenAI Structured Outputs 文档:JSON Schema 遵循示例
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌