Skip to content

选择器节点

什么是选择器节点?

选择器节点是 Magic Flow 工作流中的条件判断节点,它允许您根据设定的条件将工作流分为不同的执行路径。就像在道路上的分叉口,根据不同情况选择不同的前进方向。通过选择器节点,您可以构建具有逻辑分支的智能工作流,实现根据不同条件执行不同操作的功能。

图片说明:

选择器节点界面展示了条件设置区域,包括引用变量、选择条件(如等于、条件等)和比较值(表达式或固定值)的配置。界面支持通过"或"和"且"按钮组合多个条件,实现复杂的判断逻辑。 选择器节点

为什么需要选择器节点?

在构建智能工作流时,选择器节点扮演着"决策者"的角色,为您的应用提供条件判断和路径选择能力:

  • 逻辑分支处理:根据不同条件选择不同的处理路径
  • 多场景适配:针对不同用户输入或数据状态执行不同操作
  • 业务规则实现:将业务规则转化为可执行的条件判断
  • 错误处理:根据操作结果选择正常流程或异常处理
  • 个性化流程:根据用户特征或历史行为提供定制化体验

适用场景

1. 用户分类引导

根据用户提供的信息(如年龄、职业、需求等)将用户引导至不同的服务流程,提供针对性的帮助。

2. 审批流程

根据申请金额、申请人级别等条件,决定是否需要更高级别的审批或直接通过。

3. 智能问答系统

分析用户问题类型,根据不同问题类别转向相应的专业回答流程。

4. 数据处理流程

根据数据质量、数据特征或处理结果,选择不同的后续处理方式。

节点参数说明

基本参数

参数名称说明是否必填默认值
引用变量选择要进行判断的变量
选择条件设置比较方式,如等于、条件等等于
比较值设置比较的目标值,可以是表达式或固定值
条件组合逻辑多个条件之间的关系,可选"且"或"或"

条件类型说明

条件类型说明适用数据类型
等于判断变量值是否与设定值完全相同文本、数字、布尔值
条件使用复杂条件表达式进行判断所有类型
固定值与特定的固定值进行比较文本、数字、布尔值
表达式使用表达式计算结果进行比较文本、数字、对象

输出内容

选择器节点没有特定的输出内容,而是根据条件判断结果选择不同的执行路径:

  • 条件满足时:执行"对应"分支
  • 条件不满足时:执行"否则"分支

使用说明

基本配置步骤

  1. 选择判断变量
    1. 从下拉菜单中选择要判断的变量
    2. 可以是用户输入、上游节点的输出或全局变量
  2. 设置判断条件
    1. 选择适合的条件类型(等于、条件等)
    2. 根据条件类型设置相应的比较值
  3. 配置多条件(可选)
    1. 点击"+"按钮添加额外的条件
    2. 使用"且"按钮要求所有条件同时满足
    3. 使用"或"按钮只要求任一条件满足
  4. 连接下游节点
    1. 将"对应"出口连接到条件满足时要执行的节点
    2. 将"否则"出口连接到条件不满足时要执行的节点

与其他节点协同

选择器节点通常需要与其他节点结合使用:

  1. 搭配变量保存节点
    1. 在选择器之前使用变量保存节点记录判断所需的信息
    2. 选择器判断后再次保存结果状态
  2. 结合大模型调用节点
    1. 使用大模型生成内容或分析
    2. 选择器根据分析结果决定后续处理
  3. 配合数据处理节点
    1. 对数据进行预处理和检查
    2. 选择器根据数据特征选择处理方法

注意事项

变量类型匹配

确保判断变量的类型与比较值类型一致,避免出现意外结果:

  • 数字与数字比较(如 5 > 3
  • 文本与文本比较(如 "hello" == "hello"
  • 布尔值与布尔值比较(如 true == false

条件优先级

当使用多个条件时,注意条件组合的优先级:

  • "且"的优先级高于"或"
  • 复杂条件建议使用表达式明确优先级

路径处理

确保所有可能的条件分支都有相应的处理流程:

  • 避免出现"悬空"的路径
  • 检查是否处理了所有可能的情况

常见问题

问题 1:条件判断结果与预期不符怎么办?

解决方案:可能是变量类型或值不符合预期:

  • 检查变量的实际值和类型(可使用代码节点输出变量信息)
  • 确认比较条件是否正确设置
  • 对于文本比较,注意大小写和空格差异

问题 2:如何处理多种情况的判断?

解决方案:对于需要判断多种不同情况的场景:

  • 使用多个选择器节点串联,形成完整判断链
  • 或使用意图识别节点先分类,再用选择器进一步处理
  • 复杂情况可考虑使用代码节点进行自定义逻辑处理

问题 3:选择器节点判断对象或数组时出错怎么办?

解决方案:对象和数组需要特殊处理:

  • 使用表达式访问对象特定属性(如 user.name
  • 处理数组可使用表达式检查长度或特定元素
  • 复杂对象比较建议先使用代码节点转换为简单类型

常见搭配节点

节点类型搭配原因
大模型调用节点分析内容后根据结果进行条件判断
变量保存节点记录判断结果用于后续流程参考
代码执行节点处理复杂判断逻辑或数据转换
消息回复节点根据不同条件回复不同内容
HTTP 请求节点根据请求结果选择不同处理方式

基于 Apache 2.0 许可发布