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 語法正確
- 變數存在性: 確保引用的變數存在
- 型別匹配: 注意變數型別匹配
- 效能考慮: 避免過於複雜的模板
- 錯誤處理: 新增適當的錯誤處理