提问器
提问器节点在工作流执行过程中主动向用户发起提问,从自然语言对话中提取完成任务所需的结构化参数。它会循环追问,直到收集到所有必需信息或达到最大交互轮数。
约束与限制
提问器节点仅适用于对话型工作流。
配置提问器节点
模式偏好选择:
可选择效果优先或速度优先,参数说明如表1所示。
|
模式 |
适用场景 |
特性 |
|---|---|---|
|
效果优先 |
适合高精度场景,例如预订系统、表单填报、审批流程等参数准确性要求高的场景 |
|
|
速度优先 |
适合低延迟场景,例如闲聊助手、简单信息收集等对速度敏感、容错率高的场景 |
无时间增强,无反思,响应极快。 |
模型配置:
选择用于参数提取和反思纠正的模型。建议选择具备良好指令遵循能力的模型。
你还可以单击
图标,调整模型配置。模型配置的详细说明可参考选择并配置模型。
输入参数:
输入参数用于向提问话术中注入动态数据,通常引用前置节点的输出。
单击
图标时,可新增输入参数,单击
图标时,可删除输入参数;。
- 参数名称:只允许输入字母、数字、下划线,且不能以数字开头。
- 类型、值:支持“引用”和“输入”两种类型。
- 引用:支持用户选择工作流中已包含的前置节点的输出参数,如果配置了全局变量中的记忆变量,也支持引用记忆变量。
- 输入:将用户自定义的内容传递给大模型,设置为输入模式后,无论前置节点产生什么输出内容,都不会传递给大模型。
示例:以会议室预订场景为例,假设前置节点“查询空闲会议室”输出了可用会议室列表,提问器节点定义输入参数“available_rooms”,引用前置节点“查询空闲会议室”的输出变量值{{room_list}}。“问题”配置为:有以下几个会议室供您选择:{{available_rooms}},请选择您想预订的会议室。
输出参数:
输出参数定义了提问器需要从用户对话中提取的结构化数据。
- 默认输出参数:每个提问器节点自动包含以下系统参数,如表2所示。
- 自定义提取参数:开启“参数提取”功能后,可定义需要从用户回复中提取的具体参数。
表3 参数说明 配置项
说明
示例
参数名称
只允许输入字母、数字、下划线、短横线。
meeting_room
展示名称
用于追问话术中展示(不可为空)
会议室
类型
输出参数的类型,可选String、Integer、Number、Boolean。
String
默认值
所有追问结束但仍未提取到参数时,使用的兜底值
A101
描述
帮助大模型理解参数含义,提升提取准确率
用户想要预订的会议室编号
校验
- 勾选:可定义参数校验规则对输出参数规范性进行校验。规则包括参数名称、校验类型及校验规则。校验不通过时,提问器会自动追问用户重新输入。
- 不勾选:对输入参数不进行校验。
例如,会议室预订场景,用户可以选择预订的会议室有A101、A102和A103。
则校验类型选择“枚举值”,校验规则填写为“A101,A102,A103”。
提取
- 勾选:该参数为必填项(必须提取到或使用默认值)。
- 不勾选:允许为空。
开启
示例:以会议室预订场景为例,需要询问用户预订哪个会议室,可选会议室有A101、A102和A103。如果用户反馈预订A102,则meeting_room参数值提取为“A102”;如果用户反馈B203,由于不满足校验规则,提问器节点会继续追问用户需要预订哪个会议室;经过多轮追问后,如果用户没有反馈有效的会议室,则meeting_room参数值根据配置的默认值提取为“A101”,输出参数配置如图1所示。
- 引用插件参数:如果你的提取参数与已有插件的请求参数一致,可以单击
按钮,从“插件广场”或“我的插件”中选择插件,一键导入参数定义和校验规则。
问题配置:
配置提问器向用户展示的问题文本,也可以单击
快速插入输入参数,或在输入框中键入'{'快速引用参数,支持引用多个参数。
|
配置项 |
说明 |
|---|---|
|
问题 |
首次提问时展示给用户的文本。 |
|
最大回复轮数 |
与用户的最大交互次数。超过后提问器退出,未提取参数使用默认值或置空。 |
高级配置:
- 允许用户退出交互:开启后,如果用户在与提问器的对话交互中,表达“中止对话”类的意图,系统会自动结束当前提问,并跳转至结束节点。
- 输出参数确认:开启后,如果用户希望提问器参数提取完毕后进行用户确认,则开启此功能。
- 提取约束:
提为大模型提供额外的约束信息,提升参数提取的准确性,例如指定被提取参数的格式要求。
示例如下:
- 用户希望提取电话号码tel_number,提取约束可以写:tel_number必须是11位数字,以1开头。
- 用户希望提取会议日期meeting_date,提取约束可以写:meeting_date格式为YYYY-MM-DD,不接受过去的日期。
用户可单击
图标直接引用提示词模板;也可以自行撰写提取约束,撰写后可单击
图标对当前约束进行语义优化,提升提取效果;也可单击
图标保存到模板,在“组件库>提示词”中可查看该模板。 - 追问模式:
当用户回复未能提供所有必需参数时,提问器会发起追问。三种模式区别如下:
- 默认:使用默认内置追问模板生成追问语句,每次追问内容相同。
- 智能追问:(推荐)由大模型根据缺失字段自动生成自然的追问,每次追问内容丰富多变。
- 自定义追问:按照自定义模板配置生成追问语句。{unextracted_cn_field_names}是系统占位符,不可修改或删除,系统会自动替换为尚未提取的参数中文名称。每次追问内容相同。
示例:以要提取“姓名”和“年龄”,用户仅提供了名字为例,三种模式的追问如下:
- 默认:请您提供年龄相关的信息。
- 智能追问:哎呀,您还没告诉我年龄呢。(模型生成,内容不固定。)
- 自定义追问:请补充以下信息:年龄。(按模板生成)
- 追问显示枚举值:
开启后,如果参数设置了枚举值校验,追问时自动展示参数的可选枚举值,帮助用户快速选择。
例如,输出参数meeting_room配置了枚举值校验A101,A102,A103,开启后追问为:请选择会议室,可选项为:A101,A102,A103。
- 示例配置:
给大模型一段参数提取的示例,增强大模型对参数提取场景的理解。
示例格式:
输入query:我要坐飞机去呼和浩特学习培训
提取参数:{"location":"呼和浩特", "traveltool":"飞机"}
相关操作
- 单击
图标,可修改判断名称,修改完成后单击名称旁边的
进行保存。 - 单击
图标,可重命名判断节点名称,复制一个判断节点或删除判断节点;也可以将判断节点连接到结束节点。 - 双击名称下面的节点说明,可修改节点的描述信息。
- 单击
图标,可查看文档信息。
示例
以根据输入的文档内容和文档标题,自动生成一个可以下载的word格式的文档为例。
工作流核心节点如表5所示。
|
节点类型 |
说明 |
示例 |
|---|---|---|
|
开始节点 |
添加一个必选的输入参数,名为ip,即用户需要查询区域的IP地址。 |
|
|
提问器节点 |
此节点用于向用户提问,需要用户提供文档内容和文档标题。 模型配置:DeepSeeK-V3.2 输入参数: input:引用“开始”节点的query。 输出参数:单击 问题配置:您好,为了能更好地协助您处理相关文档,可以告诉我您想处理的文档名称和文档内容吗? 高级配置: 追问模式:勾选“智能追问”。 |
|
|
插件节点-文档生成 |
此节点基于用户提供的文档内容和文档名称,生成一个可以下载的word格式的文档。 输入参数:
|
|
|
结束节点 |
此节点用于输出文件解析的结果。 输入参数: result:引用“文档生成”插件节点的输出参数url。 |
|
工作流运行的效果如图3所示,提问器节点给用户提问“您好,为了能更好地协助您处理相关文档,可以告诉我您想处理的文档名称和文档内容吗?”,用户发送文档名称后,提问器追问,需要用户提供文档内容。
常见问题
- 什么时候用“提问器”,什么时候用“问答节点”配合“循环”?
- 提问器:适合非线性的信息收集。用户可以说“订明天的票,两个人”,一次性收集time和people两个参数。
- 问答+循环:适合线性的问卷调查。必须按顺序问完问题1再问问题2,不允许跳跃。
- 模型总是提取错误的参数值,怎么办?
按优先级尝试以下方法:
- 切换为效果优先模式,开启反思功能。
- 在提取约束中增加明确的格式要求和取值范围。
- 在示例配置中添加1–2个典型的提取示例。
- 优化输出参数的描述,让大模型更准确理解参数含义。
- 尝试更换能力更强的模型。
- 用户被困在提问循环中无法退出?
在高级配置中开启允许用户退出交互。开启后,用户表达中止意图时提问器自动结束(STATUS=100)。
- 如何让用户在提交前确认提取结果?
在高级配置中开启输出参数确认。所有参数提取完毕后,提问器会展示结果摘要并请求用户确认。
- 下游节点如何判断提取是否成功?
在提问器下游添加条件分支节点,根据提问器节点的输出参数{{STATUS}}路由到不同处理逻辑:
- 如果STATUS=0或10,则正常处理。
- 如果STATUS=100或101,则部分结果兜底处理。
- 如果STATUS>=201,则错误处理或重试。
- STATUS为100/101时,未提取到的参数值是什么?
- 如果配置了默认值,则使用默认值。
- 如果未配置默认值,则参数值为空(需下游节点做判空处理)。
- 反思模块报错(STATUS=202)如何处理?
STATUS202仅在“效果优先”模式下可能出现,表示反思校验环节异常。此时提取结果可能不准确,建议:
- 在下游条件分支中将202路由到降级处理逻辑。
- 或切换为“速度优先”模式绕过反思环节(牺牲准确率)。






