Variables Transformer(模板转换)
节点概述
节点英文名: Variables Transformer
节点中文名称: 模版转换
支持场景: Chatflow Agent(支持), Workflow Agent(支持)
功能说明
Variables Transformer 节点对工作流中已有的变量进行格式化、类型转换或合并拆分,以满足后续节点的数据需求。它提供了强大的数据转换能力,支持使用 Jinja2 模板语言进行复杂的变量处理。
节点展示内容

1. 基本信息展示
- 图标: 节点专用图标
- 名称: 节点名称
- 注释: 用户添加的说明文字
2. 操作按钮
- 更多按钮: 点击后展示右键菜单内容
- 运行按钮: 点击进入试运行界面
节点编辑区域

1. 模版类型
- 类型选择: 下拉选择模版类型(默认「变量模式」,具体可选项以产品为准)
2. 输入变量配置
- 配置方式: 同 Python 节点的输入变量配置
- 变量管理: 支持添加和管理输入变量
- 变量选择: 支持从工作流中选择已有变量
3. 代码配置(支持 Jinja2 语言)
- 模板语言: 支持 Jinja2 模板语言
- 复制功能: 支持复制代码内容
- 最大化: 支持最大化编辑器窗口
4. 输出变量配置
- 变量名: output
- 变量类型: string
- 变量中文名: 转换后内容
5. 下一步配置
- 支持添加下一个节点
运行逻辑
Variables Transformer 节点的运行逻辑由后端实现,确保变量转换的正确性。
右键操作
右键菜单包含以下选项:
- 更改节点: 修改节点类型
- 拷贝: 复制节点
- 复制: 复制节点内容
- 删除: 删除节点
- 帮助链接: 跳转到帮助文档
- 运行节点: 测试运行当前节点
Jinja2 模板语言
1. 基本语法
- 变量输出:
- 控制结构:
{% if condition %}...{% endif %} - 循环结构:
{% for item in list %}...{% endfor %} - 注释:
{# 这是注释 #}
2. 过滤器
- 字符串过滤器:
upper,lower,title,capitalize - 数字过滤器:
round,int,float,abs - 列表过滤器:
join,length,first,last,list
3. 内置函数
- range: 生成数字序列
- dict: 创建字典
使用场景
1. 数据格式化
- 日期格式化: 将日期转换为指定格式
- 数字格式化: 格式化数字显示
- 文本格式化: 格式化文本内容
- JSON 格式化: 格式化 JSON 数据
2. 类型转换
- 字符串转换: 转换为字符串类型
- 数字转换: 转换为数字类型
- 布尔转换: 转换为布尔类型
- 列表转换: 转换为列表类型
3. 数据合并
- 字符串拼接: 合并多个字符串
- 列表合并: 合并多个列表
- 对象合并: 合并多个对象
- 条件合并: 根据条件合并数据
4. 数据拆分
- 字符串分割: 分割字符串
- 列表拆分: 拆分列表
- 对象拆分: 拆分对象
- 条件拆分: 根据条件拆分数据
最佳实践
1. 模板设计
- 简洁明了: 保持模板简洁易懂
- 错误处理: 添加适当的错误处理
- 性能优化: 避免复杂的嵌套结构
- 可维护性: 使用清晰的变量命名
2. 变量管理
- 命名规范: 使用清晰的变量命名
- 类型安全: 确保变量类型正确
- 默认值: 为可能为空的变量设置默认值
- 作用域: 合理管理变量作用域
3. 错误处理
- 异常情况: 考虑处理异常情况
- 用户提示: 提供友好的错误提示
- 降级处理: 提供降级处理方案
- 日志记录: 记录错误信息
4. 性能考虑
- 模板复杂度: 避免过于复杂的模板
- 循环优化: 优化循环结构
- 缓存使用: 合理使用缓存
- 资源管理: 注意资源使用
配置步骤
1. 基础配置
- 配置输入变量
- 编写 Jinja2 模板
- 设置输出变量
2. 模板编写
- 分析输入数据结构
- 设计转换逻辑
- 编写 Jinja2 模板
- 添加错误处理
3. 测试验证
- 使用试运行功能测试
- 检查转换结果
- 验证输出格式
- 调整模板逻辑
常见问题
Q: 如何学习 Jinja2 语法?
A: 可以参考 Jinja2 官方文档,或者查看平台提供的示例模板。
Q: 支持哪些 Jinja2 功能?
A: 支持 Jinja2 的核心功能,包括变量、过滤器、控制结构等。
Q: 如何处理复杂的嵌套数据?
A: 可以使用 Jinja2 的循环和条件结构来处理复杂的嵌套数据。
Q: 模板执行失败怎么办?
A: 检查模板语法、变量名称和数据类型,使用试运行功能调试。
Q: 如何优化模板性能?
A: 避免复杂的嵌套结构,使用简单的逻辑,合理使用过滤器。
注意事项
- 语法正确性: 确保 Jinja2 语法正确
- 变量存在性: 确保引用的变量存在
- 类型匹配: 注意变量类型匹配
- 性能考虑: 避免过于复杂的模板
- 错误处理: 添加适当的错误处理