跳转到内容

IF Else(条件判断)

属性
节点英文名IF Else
节点中文名称条件判断
版本v1.0
支持场景Chatflow Agent ✓, Workflow Agent ✓
测试运行支持-

快速参考

运算符功能示例
包含检查字符串包含子字符串"hello world" 包含 "world"
不包含检查字符串不包含子字符串"hello" 不包含 "world"
检查值相等状态 是 "完成"
不是检查值不相等类型 不是 "管理员"
为空检查值为空邮箱 为空
不为空检查值不为空用户名 不为空

功能说明

IF Else 节点提供强大的条件判断能力:

  • 条件分支: 支持 IF、ELIF、ELSE 多重条件判断
  • 运算符丰富: 支持字符串、比较、空值等多种运算符
  • 逻辑组合: 支持 AND、OR 逻辑关系组合
  • 流程控制: 根据条件控制工作流执行路径

节点展示内容

条件分支节点在画布上的展示:Case 1(IF)、Case 2/Case 3(ELIF) 与 ELSE 各自独立的输出连接点,多条件间显示 OR 关系

1. 基本信息展示

  • 图标: 节点专用图标
  • 名称: 节点名称
  • 条件逻辑: 显示配置的条件逻辑(详细见右侧的图中说明)
  • 注释: 用户添加的说明文字

2. 操作按钮

  • 更多按钮: 点击后展示右键菜单内容

节点编辑区域

条件分支编辑面板:IF/ELIF 条件配置 (引用变量 + 运算符 + 比较值,AND/OR 切换)、+ELIF 添加分支、ELSE 兜底说明,以及「下一步」中各分支的跳转目标节点

1. IF 条件分支

  • 子条件: 支持选择变量,点击后弹出选择变量窗口
  • 比较值: 支持输入值
  • 运算符: 变量和比较值之间的运算符包括:
    • 包含: 检查变量是否包含指定值
    • 不包含: 检查变量是否不包含指定值
    • 开始是: 检查变量是否以指定值开始
    • 结束是: 检查变量是否以指定值结束
    • : 检查变量是否等于指定值
    • 不是: 检查变量是否不等于指定值
    • 为空: 检查变量是否为空
    • 不为空: 检查变量是否不为空
  • 逻辑关系: 子条件之间关系,支持 And 或者 OR

2. ELIF(Else IF 条件分支)

  • 配置方式: 同 IF 条件分支,可以添加和移除
  • 条件判断: 支持多个 ELIF 条件
  • 优先级: 按顺序进行条件判断

3. ELSE

  • 默认分支: 当所有条件都不满足时执行
  • 必需分支: 建议总是包含 ELSE 分支

4. 下一步配置

  • 分支数量: 有多少分支,则自动展示分支的下一步
  • 分支连接: 每个分支可以连接不同的下一个节点

运行逻辑

IF Else 节点的运行逻辑由后端实现,确保条件判断的正确性。

右键操作

右键菜单包含以下选项:

  1. 更改节点: 修改节点类型
  2. 拷贝: 复制节点
  3. 复制: 复制节点内容
  4. 删除: 删除节点
  5. 帮助链接: 跳转到帮助文档

测试运行

  • 支持状态: 不支持测试运行
  • 更改节点: 支持更改节点类型
  • 复制功能: 支持复制、剪贴、删除操作

条件运算符详解

1. 字符串运算符

  • 包含: 检查字符串是否包含子字符串
  • 不包含: 检查字符串是否不包含子字符串
  • 开始是: 检查字符串是否以指定前缀开始
  • 结束是: 检查字符串是否以指定后缀结束

2. 比较运算符

  • : 检查值是否相等
  • 不是: 检查值是否不相等

3. 空值运算符

  • 为空: 检查值是否为空(变量不存在、null 或空字符串)
  • 不为空: 检查值是否不为空

使用场景

1. 业务逻辑分支

  • 用户类型判断: 根据用户类型执行不同逻辑
  • 权限控制: 根据用户权限执行不同操作
  • 状态处理: 根据对象状态执行不同处理
  • 流程控制: 根据条件控制流程走向

2. 数据处理

  • 数据验证: 根据数据格式执行不同处理
  • 类型判断: 根据数据类型执行不同操作
  • 格式转换: 根据数据格式执行不同转换

3. 条件路由

  • 消息路由: 根据消息类型路由到不同处理
  • 请求分发: 根据请求参数分发到不同服务
  • 任务分配: 根据任务类型分配到不同处理器
  • 资源选择: 根据条件选择不同资源

4. 异常处理

  • 错误分类: 根据错误类型执行不同处理
  • 重试逻辑: 根据错误类型决定是否重试
  • 降级处理: 根据系统状态执行降级处理
  • 告警处理: 根据告警级别执行不同处理

最佳实践

1. 条件设计

  • 逻辑清晰: 设计清晰的条件逻辑
  • 覆盖完整: 确保覆盖所有可能的情况
  • 优先级合理: 设置合理的条件优先级
  • 易于维护: 保持条件易于维护

2. 运算符选择

  • 类型匹配: 选择适合数据类型的运算符
  • 性能考虑: 考虑运算符的性能影响
  • 可读性: 选择易于理解的运算符
  • 准确性: 确保运算符的准确性

3. 分支管理

  • 数量控制: 合理控制分支数量
  • 结构清晰: 保持分支结构清晰
  • 命名规范: 使用清晰的分支命名
  • 文档说明: 添加必要的文档说明

4. 错误处理

  • 异常情况: 考虑处理异常情况
  • 默认分支: 总是提供默认分支
  • 错误提示: 提供友好的错误提示
  • 日志记录: 记录条件判断过程

配置步骤

1. 基础配置

  1. 配置 IF 条件分支
  2. 设置比较运算符
  3. 配置比较值

2. 条件扩展

  1. 添加 ELIF 条件(可选)
  2. 配置 ELSE 分支
  3. 设置逻辑关系

3. 分支连接

  1. 为每个分支配置下一步
  2. 连接相应的节点
  3. 验证分支逻辑

4. 测试验证

  1. 检查条件配置
  2. 验证分支逻辑
  3. 测试各种情况

常见问题

Q: 如何添加多个条件?

A: 可以使用 ELIF 添加多个条件,或者使用 AND/OR 组合多个子条件。

Q: 运算符如何选择?

A: 根据数据类型和比较需求选择合适的运算符。

Q: 可以有多少个分支?

A: 理论上没有限制,但建议保持合理的分支数量。

Q: 如何确保条件覆盖完整?

A: 使用 ELSE 分支作为默认情况,确保所有情况都有对应的处理。

Q: 条件判断的性能如何?

A: 条件判断性能很好,但建议避免过于复杂的条件逻辑。

注意事项

  1. 条件完整性: 确保条件覆盖所有可能的情况
  2. 运算符匹配: 确保运算符与数据类型匹配
  3. 逻辑正确性: 验证条件逻辑的正确性
  4. 性能考虑: 避免过于复杂的条件判断
  5. 错误处理: 添加适当的错误处理机制