跳转到内容

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. 错误处理: 添加适当的错误处理机制