本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。目前,我们的邮件助理无论收到什么邮件,都会用同一套流程去处理。但这显然不够智能。一封询问产品价格的邮件和一封提交 BUG 的邮件,它们的回复口吻、需要查询的知识库都是完全不同的。 如何让我们的助理学会看人下菜碟,对不同类型的邮件进行差异化处理呢?让我们为工作流设置一个十字路口,它能根据不同的信号,让流程走向不同的轨道。
条件分支 (If/Else) 节点

动手实践 1:添加条件分支节点
现在,让我们继续升级邮件助理,让它能够通过关键词识别,自动区分和 Dify 有关的邮件和其他邮件。1
插入节点
将鼠标悬停在开始和知识检索的连接线,点击出现的加号,选择 条件分支。
2
配置条件规则
- 点击该节点,回到条件分支的右侧面板。
- 点击 IF 右侧的 + 添加条件 按钮,选择
{x} email_content。

- 判断条件:保持默认的 包含 (Contains) 选项。在下方的输入值内填入 Dify。

如果邮件内容中包含了 Dify 这个词。读懂十字路口的判断逻辑在设置条件时,你会发现 Dify 提供了多种判断方式,就像给十字路口的红绿灯。
- 是 / 不是 完全等于或不等于某个值。可以把它想象成一把钥匙开一把锁,只有当变量内容和我们设定的值一模一样时,条件才算满足。
- 包含 / 不包含 文本中含有或不含某个关键词。这是我们今天将要使用的功能。
- 开始是 / 结束是 判断文本的开头或结尾是什么。
- 为空 / 不为空 判断一个变量里有没有内容。比如,判断用户是否上传了附件。
动手实践 2:规划不同处理路径
现在我们有了十字路口,需要决定每条路上会发生什么。A. 相关邮件轨道(IF 分支)
点击 IF 分支右侧的加号,拖拽出一条线,与我们已有的知识检索节点连接。 这表明:当邮件原文内容中包含了 Dify 这个词,则执行我们上一课创建的、能够查询知识库的专业回复流程。
B. 无关邮件轨道(ELSE 分支)
对于其他所有不包含 Dify 的邮件,我们创建一个简单的通用回复流程。1
添加新的节点
点击 ELSE 右侧的加号,选择 LLM 节点。
2
配置这个 LLM 节点
配置这个新的 LLM 2 节点。点击它,在 SYSTEM Prompt 中输入一个通用的礼貌回复提示词,你可以复制粘贴下方的内容
3
添加用户消息(User Message)
- 点击系统框下方的 Add Message(添加消息) 按钮。
- 在用户消息框中,输入
customer name:。 - 按下键盘上的 / 键。
- 此时会弹出变量选择菜单,点击 customer_name。
- 按下 Enter 键开始新的一行,输入
email content:。 - 再次按下 / 键并点击 email_content。

变量聚合器

动手实践 3:添加变量聚合器
1
添加聚合器
- 选中结束节点和 LLM 之间的连线,然后进行删除。
- 在画布上点击右键,选择 添加节点,选择 变量聚合节点。

2
合并路径
将两个 LLM 节点连接至变量聚合器。
3
赋值输出
- 点击变量聚合器节点。
- 在右侧的面板中点击 变量赋值 右侧的 +。
- 依次选择 LLM 和 LLM 2 节点中输出的 text。

4
最后一步
- 将变量聚合器连接至结束节点。
- 点击结束节点,在右侧面板删除原本的输出变量,改为变量聚合器的输出。


5
运行与测试
点击 运行,你可以自行填入客户名字并分别测试包含 Dify 和不含 Dify 关键词的运行结果,看看输出结果。