参数提取节点(Parameter Extractor Node)
定义
参数提取节点利用 LLM 的理解与推理能力,将自然语言或非结构化文本中的关键信息抽取成结构化参数,供后续工具调用、HTTP 请求或流程分支使用。
核心功能
- 自然语言解析:从对话或文本中推理出需要的字段值(如日期、ID、关键词)。
- 结构化输出:将提取结果映射为声明的输出变量,并附带提取状态与原因。
- 工具集成:可快捷导入现有工具的参数定义,无缝连接工具调用节点。
- 灵活指令:支持示例引导和 Prompt/Function Call 两种推理方式,优化复杂场景表现。
支持场景
- 精确检索:从用户输入中提取 Arxiv 论文编号或作者,用于论文检索工具调用。
- 批量处理准备:将自由格式的章节列表转换为数组,作为迭代节点的输入。
- 动态 API 调用:提取天气城市、日期等参数,并调用 HTTP 请求节点获取外部数据。
- 工具参数收集:在对话中自动收集邮箱、文件名、路径等信息,用于文件操作工具或通知工具。
配置指南
1. 选择输入变量
- 在节点配置中挑选包含自然语言或待提取文本的变量(例如
${userQuery}
、${responseText}
)。
2. 定义输出参数
- 可手动添加字段:点击“新增参数”,配置
名称
、类型
(String、Number、Array、Object 等)、必填
。 - 导入工具参数:一键引入下游工具节点所需参数,保证类型与命名一致。
3. 填写指令模板
- 在“指令”区域,描述提取逻辑与示例:
从以下用户输入中提取论文编号(id)或作者名(author)。 示例: 输入:"2405.10739 这篇论文讲了什么内容?" 输出:{"id": "2405.10739"}
- 对复杂场景可编写多组示例,提高模型稳定性。
4. 选择推理模式
- Function/Tool Call:优先尝试结构化函数调用(兼容多数模型);
- Prompt:仅使用提示词推理,可在函数调用效果欠佳时备用。
5. 高级设置
- 记忆:开启后注入对话历史,提升连续对话的上下文理解。
- 图片支持:提取文本中嵌入的图片描述或 URL。
输出变量
名称 | 类型 | 说明 |
---|---|---|
自定义字段 | String/Number/Array/Object | 提取的业务参数 |
__is_success |
Number(0/1) | 1:提取成功;0:提取失败 |
__reason |
String | 失败时的原因描述 |
典型示例
示例 1:Arxiv 论文检索
用户输入:
"请帮我查一下这篇论文:2405.10739 的摘要。"
参数提取器输出:
{ "id": "2405.10739", "__is_success": 1, "__reason": "" }
HTTP 请求节点调用:
GET https://export.arxiv.org/api/query?id_list={{id}}
示例 2:章节数组生成
- LLM 节点输出长文段落:
"第一章:… 第二章:… 第三章:…"
- 参数提取器配置:参数名
sections
类型Array[String]
,示例将段落分割。 - 输出
sections = ["第一章:…","第二章:…","第三章:…"]
,供迭代节点使用。
调试与最佳实践
- 提供多样示例:覆盖不同表述、异常情况,提升提取健壮性。
- 校验
__is_success
:下游逻辑可根据此字段进行分支或错误处理。 - 结合模板/代码节点:对提取结果再做二次加工或格式化。
HTTP 请求节点(HTTP Request Node)
定义
HTTP 请求节点允许工作流向外部服务器发送任意 HTTP 请求,实现与第三方 API 或资源的交互。通过自定义请求方法、URL、请求头、查询参数、请求体及认证信息,您可以动态获取数据、触发 Webhook、上传/下载文件等。
支持功能
请求方法:GET、POST、PUT、PATCH、DELETE、HEAD 等常见 HTTP 方法。
URL & 查询参数:静态或使用变量
${}
动态构建 URL 与查询字符串。请求头:自定义 Header,如
Authorization
、Content-Type
等。请求体:
- JSON/Form:可插入结构化变量(Array/Object/String)。
- Binary 文件:在
binary
区域选中文件变量,用于文件上传。
认证:支持 Basic Auth、Bearer Token、API Key 等常见认证方式。
文件处理:自动将响应中的文件保存为流程变量,后续节点可直接引用。
动态变量:请求配置中可任意引用上游变量,实现请求参数的动态化。
常见场景
- 数据抓取:GET 某开放 API,获取实时天气、股价、新闻等。
- 表单提交:POST 表单数据到服务器或第三方服务接口。
- 文件上传:PUT 上传 PDF、图像等文件到文件存储或文档管理服务。
- Webhook 调用:触发远程 Webhook 来通知业务系统或执行其他流程。
- 动态内容生成:调用图片生成、文档转码等在线服务。
配置要点
选择方法 & URL:在 Method 下拉选择 HTTP 方法,在 URL 输入框填入目标地址,可使用
${variable}
引用变量。设置请求头:点击“新增 Header”,配置 Key/Value,支持变量替换。
配置查询参数:在 Query Params 列表中填写参数名与对应变量。
构建请求体:根据 API 要求选择 JSON、Form 或 Binary:
- JSON:在 Body 区域输入 JSON 模板,支持 Jinja2 变量。
- Form:逐个添加表单字段和值。
- Binary:选中文件变量,自动将文件以二进制形式上传。
认证配置:在 Auth 面板选择认证类型,填写凭据或 Token。
输出处理:请求完成后,节点会生成:
statusCode
(Number)headers
(Object)body
(String/Object,自动 JSON 解析)file
(File,当响应为文件时)
高级功能
错误重试
- 开启重试:启用后,节点在遇到网络抖动或临时错误时会自动重试。
- 配置项:最大重试次数(默认 3,可设至 10);重试间隔(毫秒)。
异常处理
- 启用异常分支:在节点配置开启“异常处理”,可针对超时、4xx/5xx 响应定义分支策略。
- 自定义流程:可将错误结果导入专用 LLM、通知或日志记录节点中,避免流程中断。
示例:客户评价系统
用户输入:
customerId = 12345
,comment = "服务非常好!"
HTTP 请求节点:
Method:POST
URL:
https://api.example.com/feedback
Body (JSON):
{ "id": "${customerId}", "comment": "${comment}" }
下游节点:根据
statusCode
判断是否成功,若失败则走异常分支提示用户重试。