跳轉到內容

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