跳轉到內容

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. 錯誤處理: 新增適當的錯誤處理