字段提取
字段提取 用于从用户输入的自然语言中提取特定字段,并将其保存为变量供后续节点使用。相比单独配置大模型节点,它在字段定义、提取策略上更直接,也支持通过自定义提示词应对更复杂的提取任务。
指令标识:FieldExtraction
指令类型:AI 处理指令
指令描述:从自然语言中提取特定字段并保存为变量
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。字段提取 是 AI 处理节点,核心是「输入文本」与「要提取的字段」,主要通过可视化编排配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐) | 拖入「字段提取」节点,选择模型、配置输入文本和提取字段 | 大多数用户,零代码,适合快速搭建 |
| 代码编排(执行指令 XML) | 通过 执行指令 节点动态传入参数调用 | 需要动态生成或批量复用流程的用户 |
什么时候用?
Section titled “什么时候用?”- 需要从一段自然语言中提取关键信息(如名称、数量、时间等)。
- 上游输入不便直接使用,需要先结构化出关键字段。
- 想用比大模型节点更轻量的方式完成字段抽取。
- 已准备好需要提取信息的原始文本(可引用上游节点变量)。
- 明确要提取的字段:字段名、字段类型、字段描述。
- 字段命名具有语义(避免拼音),遵循变量命名规范。
- 根据效果与性能选择合适的模型(字段提取一般用小参数模型即可)。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:从用户的一句话里提取出店铺名称。按 4 步即可跑起来:
- 在工作流画布中添加 字段提取 指令,并选择合适的模型。
- 在 输入 中填写或引用待提取的原始文本,例如:
帮我查一下「示例餐厅」的营业时间- 在 提取字段 中定义要提取的字段,例如字段名
shopName、类型「字符串」、描述「店铺名称」。 - 运行后,提取出的字段会作为变量输出,供后续节点引用。
| 界面名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 模型 | Enum | 是 | - | 执行字段提取的模型,建议根据业务选择,常用小参数模型兼顾效果与性能。 |
| 输入 | String | 是 | - | 需要提取信息的原始文本,可引用上游节点变量。 |
| 提取字段 | Array | 是 | - | 需要提取的字段定义列表,每项包含字段名称、字段类型、字段描述。 |
| 高级设置 | String | 否 | - | 追加提示词或提取示例,用于提升复杂任务的提取效果。 |
节点的输出包含固定字段,以及你定义的各提取字段。
| 界面名称 | 类型 | 说明 |
|---|---|---|
| success | Boolean | 字段提取是否成功。 |
| reason | String | 提取失败时的原因说明。 |
| (自定义字段) | 按定义 | 你在「提取字段」中定义的字段,提取成功后作为变量输出。 |
- 节点运行状态为成功,
success为true。 - 各自定义字段被正确提取并赋值。
- 提取结果与原始文本中的信息一致。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
| 提取速度慢 | 使用了推理模型 | 改用小参数模型(如 mini 系列),避免推理模型 |
| 报非标准 JSON 字段 | 字段结构过于复杂 | 简化字段结构,避免多层 Object 嵌套,尽量保持一层 |
| 提取结果不准确 | 字段描述不清、缺少示例 | 在高级设置中补充提示词和示例,或更换更强模型 |
| 字段缺失 | 原始文本中确无对应信息 | 确认输入文本包含目标信息,必要时调整字段定义 |
Python 代码编排
Section titled “Python 代码编排”该节点主要通过可视化编排使用。如需在流程中动态编排,可使用 执行指令(XML)节点传入参数调用,无需手写 Python 方法。
字段提取依赖模型与字段定义,推荐在可视化画布中直接配置输入文本与提取字段。若需要在流程中动态传入文本、批量复用,可以通过 执行指令 节点,按界面上的「模型 / 输入 / 提取字段 / 高级设置」字段与输出变量传参调用。
Q1:字段提取速度慢怎么办?
Section titled “Q1:字段提取速度慢怎么办?”A: 字段提取任务相对简单,可使用参数量更小的模型(如 mini 系列),速度更快;避免使用推理模型,因其会消耗更多时间。
Q2:提取失败、提示非标准 JSON 字段怎么办?
Section titled “Q2:提取失败、提示非标准 JSON 字段怎么办?”A: 一般是字段结构过于复杂导致模型解析失败,可尝试:
| 优化方式 | 说明 |
|---|---|
| 切换模型 | 更换更强大的模型,但会增加处理时间 |
| 简化参数结构 | 只提取关键信息,避免过多 Object 嵌套,尽量保持一层 |
| 添加提示词 | 在高级设置中定义提示词、给出更多示例 |
| 使用其他节点 | 改用大模型节点,配置更多提示词和规则 |