条件选择
定义
条件选择节点根据上游节点变量或 Chatflow 会话变量的值,自动判断并路由至不同的业务分支。支持 IF / ELIF / ELSE 多级条件判断,是 Chatflow 流程中的核心分流节点。
节点功能
分支执行机制
条件选择节点按以下逻辑依次执行:
| 判断顺序 | 条件 | 结果 |
|---|---|---|
| 1 | IF 条件为 True | 执行 IF 分支 |
| 2 | IF 条件为 False,存在 ELIF | 依次判断各 ELIF 条件 |
| 3 | ELIF 条件为 True | 执行对应 ELIF 分支 |
| 4 | 所有 IF / ELIF 均为 False | 执行 ELSE 分支 |
每次执行仅命中一个分支,条件从上至下优先匹配。
条件类型
String(字符串)
| 条件 | 说明 |
|---|---|
| 包含 | 变量值包含指定字符串 |
| 不包含 | 变量值不包含指定字符串 |
| 开始是 | 变量值以指定字符串开头 |
| 结束是 | 变量值以指定字符串结尾 |
| 是 | 变量值与指定字符串完全匹配 |
| 不是 | 变量值与指定字符串不匹配 |
| 为空 | 变量值为空字符串或 null |
| 不为空 | 变量值非空 |
Number(数值)
| 条件 | 说明 |
|---|---|
| 等于 | 等于指定值 |
| 不等于 | 不等于指定值 |
| 大于 | 大于指定值 |
| 小于 | 小于指定值 |
| 不小于 | 大于或等于指定值 |
| 不大于 | 小于或等于指定值 |
| 为空 | 变量值为 null |
| 不为空 | 变量值非 null |
输入变量
条件选择节点支持两类输入变量:
- 上游节点变量:引用流程中前置节点的输出变量,按照变量选择条件类型。
- 会话变量(Chatflow):引用当前会话上下文中的变量,若是下拉选择变量,右侧对比值为其他变量。若下拉选择Constant,右侧填写固定数值。

多重条件组合
同一分支内支持设置多个条件,条件间可通过逻辑运算符组合:
- AND:所有条件同时满足(取交集)
- OR:任意条件满足即可(取并集)
适用于需要精细化控制的复杂业务场景。
使用场景
场景一:基于上游节点变量的客服响应分流
以下以客服响应流程为例,演示条件选择节点的典型配置:

条件配置说明:
- IF 条件:参数提炼节点的
conversation_id变量,条件为不为空 - AND 条件:参数提炼节点的
conversation_id变量,条件为是createworkorder - ELIF 条件:参数提炼节点的
conversation_id变量,条件为不为空
分支触发逻辑:
- 仅满足 IF 条件(
conversation_id不为空)→ 执行 CASE1,调用历史会话 - 同时满足 IF + AND 条件 → 执行 CASE2,直接进行问题分析
- 以上条件均不满足 → 执行 ELSE 分支,对问题进行意图识别