跳转到内容

Variables Transformer(模板转换)

节点概述 ​

节点英文名: Variables Transformer
节点中文名称: 模版转换
支持场景: Chatflow Agent(支持), Workflow Agent(支持)

功能说明 ​

Variables Transformer 节点对工作流中已有的变量进行格式化、类型转换或合并拆分,以满足后续节点的数据需求。它提供了强大的数据转换能力,支持使用 Jinja2 模板语言进行复杂的变量处理。

节点展示内容 ​

模版转换节点在画布上的展示

1. 基本信息展示 ​

  • 图标: 节点专用图标
  • 名称: 节点名称
  • 注释: 用户添加的说明文字

2. 操作按钮 ​

  • 更多按钮: 点击后展示右键菜单内容
  • 运行按钮: 点击进入试运行界面

节点编辑区域 ​

模版转换编辑面板:模版类型 (变量模式)、输入变量 (arg1)、模版代码 ({{ arg1 }}) 与输出变量 (output)

1. 模版类型 ​

  • 类型选择: 下拉选择模版类型(默认「变量模式」,具体可选项以产品为准)

2. 输入变量配置 ​

  • 配置方式: 同 Python 节点的输入变量配置
  • 变量管理: 支持添加和管理输入变量
  • 变量选择: 支持从工作流中选择已有变量

3. 代码配置(支持 Jinja2 语言) ​

  • 模板语言: 支持 Jinja2 模板语言
  • 复制功能: 支持复制代码内容
  • 最大化: 支持最大化编辑器窗口

4. 输出变量配置 ​

  • 变量名: output
  • 变量类型: string
  • 变量中文名: 转换后内容

5. 下一步配置 ​

  • 支持添加下一个节点

运行逻辑 ​

Variables Transformer 节点的运行逻辑由后端实现,确保变量转换的正确性。

右键操作 ​

右键菜单包含以下选项:

  1. 更改节点: 修改节点类型
  2. 拷贝: 复制节点
  3. 复制: 复制节点内容
  4. 删除: 删除节点
  5. 帮助链接: 跳转到帮助文档
  6. 运行节点: 测试运行当前节点

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. 基础配置 ​

  1. 配置输入变量
  2. 编写 Jinja2 模板
  3. 设置输出变量

2. 模板编写 ​

  1. 分析输入数据结构
  2. 设计转换逻辑
  3. 编写 Jinja2 模板
  4. 添加错误处理

3. 测试验证 ​

  1. 使用试运行功能测试
  2. 检查转换结果
  3. 验证输出格式
  4. 调整模板逻辑

常见问题 ​

Q: 如何学习 Jinja2 语法? ​

A: 可以参考 Jinja2 官方文档,或者查看平台提供的示例模板。

Q: 支持哪些 Jinja2 功能? ​

A: 支持 Jinja2 的核心功能,包括变量、过滤器、控制结构等。

Q: 如何处理复杂的嵌套数据? ​

A: 可以使用 Jinja2 的循环和条件结构来处理复杂的嵌套数据。

Q: 模板执行失败怎么办? ​

A: 检查模板语法、变量名称和数据类型,使用试运行功能调试。

Q: 如何优化模板性能? ​

A: 避免复杂的嵌套结构,使用简单的逻辑,合理使用过滤器。

注意事项 ​

  1. 语法正确性: 确保 Jinja2 语法正确
  2. 变量存在性: 确保引用的变量存在
  3. 类型匹配: 注意变量类型匹配
  4. 性能考虑: 避免过于复杂的模板
  5. 错误处理: 添加适当的错误处理