Skip to content

对话型工作流

对话型工作流是一款支持多轮交互、流程分支、节点跳转与业务逻辑编排的对话式应用,可实现复杂业务流程自动化办理、多场景任务引导式执行,适用于政务办理、业务申报、工单处理、智能办理助手等强流程化场景。

本章将从零开始,构建一个知识库问答助手:能够根据输入问题去检索知识库文档,召回最匹配的段落,最终给出精准回复。

创建应用

进入 AIGC 应用/应用中心,点击「创建应用」按钮,应用类型选择对话型业务流,填写应用名称,点击「保存创建」按钮。

对话型业务流1

画布节点

创建完成后,系统自动跳转至对话型工作流的画布页,默认有开始节点-模型节点-结束节点。需要按照需求在左侧拖拽节点或者在画布的节点后点击添加,选择需要的节点连接。

对话型工作流2

步骤一:配置开始节点

开始节点是工作流的入口,负责接收用户输入并注入系统变量。

点击画布中的开始节点,在右侧配置面板中可以看到两部分内容:

输入字段(可选)

如需在对话开始前收集额外信息,可在此添加输入字段。本次可以无需额外配置,保持默认即可。

系统变量

开始节点自动注入以下系统变量,后续所有节点均可直接引用,无需手动配置:

变量名数据类型说明
sys.queryString用户当前轮次输入的文本内容
sys.filesArray[File]用户当前轮次上传的文件列表
sys.conversation_idString当前会话的唯一标识,同一会话内保持不变
sys.user_idString当前使用应用的用户唯一标识

步骤二:添加知识库节点

在开始节点后添加知识库节点,从私域知识库中检索与用户问题相关的文本段落:

  1. 在开始节点后点击 + 号,选择「知识库」节点
  2. 查询变量:选择 sys.query(用户当前输入)
  3. 选择知识库:从下拉列表中选择已创建的私域知识库(需提前在私域知识库页面创建并完成权限分配)
  4. 召回策略:保持默认多路召回,按需调整以下参数:
配置项建议值说明
Top K3返回相关度最高的前 3 个文本分段
分数阈值0.5过滤相似度低于该值的召回结果
  1. 将知识库节点的输出连接至下游模型节点

知识库节点的输出变量为 result,包含从知识库中检索到的相关文本分段列表,需在下游模型节点的上下文中关联引用。

步骤三:添加模型节点

在知识库节点后添加模型节点,基于检索结果生成回复:

  1. 选择模型:选择适合问答的模型,如:gpt-5-chat
  2. 上下文:将知识库节点的 result 变量关联至上下文
  3. 系统提示词示例:
作为gpt-5-chat,你需要提供专业、严谨且详细的回应。请遵循以下规范:

1. 内容要求:
   - 基于事实和专业知识,确保信息准确无误
   - 逻辑清晰,层次分明,使用适当的结构组织内容
   - 对复杂概念进行必要解释,保持专业性的同时兼顾易懂性

2. 代码呈现:
   - 所有代码必须放在代码块中,使用```+编程语言名称开头,```结尾
   - 代码应完整可运行,包含必要注释
   - 复杂代码需提供简要说明其功能和实现思路

3. 回应风格:
   - 回复内容要思路清晰,内容丰富,但是要避免冗余表述
   - 客观中立,基于问题本身提供解决方案
   - 针对技术问题,优先提供可验证的方法和步骤

4. 回复要求:
   - 需要严格参考知识库内容回复
   - 知识库内容:【上下文】
   - 如果用户问的问题知识库中不存在则提示:此问题不在我的回复范围内

请根据上述要求,对我的问题提供高质量回应。

步骤四:添加直接回复节点

在每个模型节点后添加直接回复节点,将模型输出流式返回给用户:

  1. 在模型节点后点击 +,选择「直接回复」
  2. 在文本编辑器中插入上游模型节点的输出变量,例如 {#模型节点.text#}
  3. 直接回复节点支持图文混排,可在固定文本中穿插变量

直接回复节点可作为中间节点,在流程执行过程中分阶段输出内容,无需等待整个流程结束。

步骤五:调试与发布

调试

点击画布右上角「调试」按钮,在右侧调试面板中输入测试问题,观察流程是否按预期执行:

  • 每个节点执行后会展示输入/输出详情,便于排查问题
  • 若知识库未召回相关内容,检查知识库是否已完成文档导入和向量化
  • 若模型回复不准确,调整提示词中的上下文引用位置 对话型工作流3

发布

调试通过后,点击右上角「发布」按钮,选择发布选项(发布更新、运行)

完整流程示意

开始节点(sys.query)

知识库节点(检索相关文本分段 → result)

模型节点(上下文引用 result,生成回复)

直接回复节点(流式输出模型回复)

结束节点

会话变量功能

对话型工作流支持通过变量赋值节点将信息写入会话变量,实现跨轮次状态持久化。

例如,记录用户在第一轮对话中设置的语言偏好,后续所有轮次均自动沿用:

  1. 在开始节点的「会话变量」中创建变量 language(String 类型,默认值为空)
  2. 使用参数提炼节点从用户输入中提取语言偏好值
  3. 通过变量赋值节点将提取结果写入 language(赋值方式:覆盖)
  4. 在模型节点的系统提示词中引用该变量

会话变量的值在整个对话生命周期内持久存在,不会因单轮对话结束而清除。

运行历史

对话型工作流天然支持多轮对话,每一轮用户输入都会触发完整的工作流执行。平台会自动保存每次对话的历史记录,您可以在应用右上角的运行历史图标,点击查看所有历史会话,包括:

  • 每轮用户输入与模型回复内容
  • 各节点的执行详情与耗时
  • 知识库召回的文本分段来源 对话型工作流4

历史记录可用于分析用户行为、优化提示词和召回策略,持续提升应用回复质量。