Dify变量赋值节点完全指南

一. 变量赋值

变量赋值节点是Dify工作流中的数据处理节点,用于将工作流内的临时变量写入到可写变量中(主要是会话变量),实现数据的跨轮次存储和复用。

像我们之前使用的循环节点里就用到了变量赋值节点。

在默认情况下,工作流里的数据是“线性流转”的:节点 A 传给节点 B,B 传给 C。但如果你遇到以下场景,就需要变量赋值了:

  • 记录状态: 比如做一个对话机器人,你需要记录用户一共问了多少个问题。
  • 累加信息: 比如在一个长文本摘要任务中,把每一段生成的摘要拼接到一起。
  • 记忆更新: 在对话中更新用户的偏好(比如用户说“我不喜欢吃辣”,你需要把这个信息存入变量)。

目前变量赋值节点支持写入以下变量

变量类型说明应用场景
会话变量整个对话会话期间保持有效记录用户偏好、历史记忆
循环变量在循环节点内部使用迭代计数、累加结果

二. 参数详解

Dify工作流变量赋值节点操作界面,显示目标变量选择、操作模式和赋值内容设置选项

2.1 选择目标变量

你需要先在工作流的最左侧**“变量管理”**中定义好变量,然后在这里通过选择器找到它。

2.2 操作模式

这是决定“怎么记笔记”的关键:

  • 覆盖: 不管原来是什么,直接把新值填进去。
  • 清空:将变量内容置空。
  • 设置:手动指定固定值,无需源变量
  • +,-,*,/: 仅针对数字,对原值进行加减乘除

2.3 赋值内容

这里是你想要存入的值,根据你选择的模式填写。

三. 实例:制作一个“复读计数器”

我们来动手模拟一个简单的场景:每次用户说话,我们都记录这是第几次对话。

3.1 定义变量

在工作流面板左侧的 “变量 (Variables)” 栏目中,点击添加:

  • 变量名: chat_count
  • 类型: Number (数字)
  • 作用域: Conversation (会话变量)

3.2 添加赋值节点

在工作流中插入“变量赋值”节点:

  1. 选择变量: conversation.chat_count
  2. 操作模式: 选择 + (自增)
  3. 值: 输入 1

3.3 引用变量

在最后的“回复”节点中,你可以写:

“这是你今天跟我说的第 {{#conversation.chat_count#}} 句话!”

四. 注意事项

  • 数据类型匹配: 如果你定义的变量是“数字”,却尝试把一段“文本”赋给它,节点会报错。
  • 只读 vs 可写: 只有你手动定义的“变量”是可以被赋值的。系统自带的变量(如 sys.query)是只读的,不能更改。
  • 节点顺序: 赋值节点一定要放在你想要引用该变量的节点之前

变量赋值节点让你的 AI 拥有了“记忆”和“逻辑处理”的能力。它不再只是一个复读机,而是一个能根据历史数据做出不同反应的智能体。

© 文章版权归白小菌所有,🫰欢迎转发分享。未经允许请勿抄袭转载。

订阅评论
提醒
guest
0 评论
最新
最旧 最多投票
内联反馈
查看所有评论

AI 小菌
现代响应式侧边栏
快捷菜单