跳轉到內容

Iteration(迭代)

節點概述

節點英文名: Iteration
節點中文名稱: 迭代
支援場景: Chatflow Agent(支援), Workflow Agent(支援)

功能說明

Iteration 節點與迴圈類似,但更注重每次迭代對變數的更新並傳遞給下一輪處理,用於列表、序列或批次資料迭代場景。它提供了強大的迭代處理能力,支援並行模式和錯誤處理。

節點展示內容

迭代節點在畫布上的展示:容器內為 Home 起點與迭代處理節點

1. 基本資訊展示

  • 圖示: 節點專用圖示
  • 名稱: 節點名稱
  • 迴圈內的工作模組:
    • 迴圈內的初始節點為 Home
    • 迴圈內支援新增節點(除了 Start 和 End 外,都可以新增)
    • 迴圈內節點的操作邏輯和迴圈外相同
    • 迴圈中沒有特殊節點
  • 並行模式: 展示並行模式的圖示
  • 註釋: 使用者新增的說明文字

2. 操作按鈕

  • 更多按鈕: 點選後展示右鍵選單內容
  • 執行按鈕: 點選進入試執行介面

節點編輯區域

迭代節點編輯面板:輸入變數 (Array)、輸出變數 (Array)、並行模式開關與下一步

1. 輸入變數配置

  • 變數名稱: 選擇輸入變數
  • 變數型別: 支援列表、序列等可迭代資料型別
  • 變數管理: 支援從工作流中選擇已有變數

2. 輸出變數配置

  • 變數選擇: 選擇節點內的輸出變數
  • 變數型別: 支援各種資料型別
  • 變數管理: 支援新增和管理輸出變數

3. 並行模式配置

  • 並行模式開關: 在編輯面板中開啟
  • 並行數量: 開啟並行模式後可設定,最大 10,最小 2

4. 錯誤處理配置

錯誤相應的辦法,包括:

  • 錯誤時終止: 遇到錯誤時立即終止迭代
  • 忽略錯誤並繼續: 忽略錯誤繼續執行
  • 移除錯誤輸出: 移除錯誤的輸出結果

5. 迭代內節點的配置

迭代內節點 (工具節點) 的編輯面板:通過 item 變數引用當前迭代元素

  • 迭代內節點的編輯面板與迭代外的同類節點一致 (如上圖的工具節點:輸入變數、展示配置、引用、輸出變數、失敗重試、異常處理等)
  • 關鍵差異:迭代內節點可以引用迭代節點的 item 變數——即當前這一輪迭代正在處理的元素 (如上圖 query 引數引用了 獲取宏觀.../item,每輪迭代傳入列表中的一個關鍵詞)
  • 迭代的輸出變數從迭代內節點的輸出中選擇,逐輪結果彙總為 Array(對應編輯面板「輸出變數」的 Array 標籤)

6. 下一步配置

  • 支援新增下一個節點

執行邏輯

Iteration 節點的執行邏輯由後端實現,確保迭代處理的正確性和效能。

右鍵操作

右鍵選單包含以下選項:

  1. 更改節點: 修改節點型別
  2. 複製: 複製節點
  3. 複製: 複製節點內容
  4. 刪除: 刪除節點
  5. 幫助連結: 跳轉到幫助文件
  6. 執行節點: 測試運行當前節點

測試執行

  • 支援狀態: 支援測試執行
  • 更改節點: 支援更改節點型別
  • 複製功能: 支援複製、剪貼、刪除操作

使用場景

1. 列表處理

  • 資料處理: 處理列表中的每個元素
  • 批次操作: 對列表元素執行批次操作
  • 資料轉換: 轉換列表資料格式
  • 資料過濾: 過濾列表資料

2. 序列處理

  • 序列分析: 分析序列資料
  • 序列轉換: 轉換序列格式
  • 序列計算: 計算序列統計資訊
  • 序列預測: 基於序列進行預測

3. 並行處理

  • 平行計算: 並行處理多個任務
  • 效能最佳化: 提高處理效能
  • 資源利用: 充分利用系統資源
  • 負載均衡: 實現負載均衡

迭代模式

1. 順序迭代

按順序處理每個元素:

FOR each item IN input_list:
    處理 item
    更新 output_variables
    傳遞到下一輪

2. 並行迭代

並行處理多個元素:

PARALLEL FOR each item IN input_list:
    處理 item
    更新 output_variables
    合併結果

錯誤處理策略

1. 錯誤時終止

  • 特點: 遇到錯誤立即停止
  • 適用場景: 對資料質量要求高的場景
  • 優勢: 確保資料完整性
  • 劣勢: 可能影響處理效率

2. 忽略錯誤並繼續

  • 特點: 忽略錯誤繼續處理
  • 適用場景: 對容錯性要求高的場景
  • 優勢: 提高處理效率
  • 劣勢: 可能影響結果質量

3. 移除錯誤輸出

  • 特點: 移除錯誤的輸出結果
  • 適用場景: 平衡質量和效率的場景
  • 優勢: 兼顧質量和效率
  • 劣勢: 需要額外的錯誤檢測

最佳實踐

1. 迭代設計

  • 邏輯清晰: 設計清晰的迭代邏輯
  • 變數管理: 合理管理迭代變數
  • 效能最佳化: 考慮迭代效能
  • 錯誤處理: 新增適當的錯誤處理

2. 並行配置

  • 數量控制: 合理設定並行數量
  • 資源管理: 管理並行資源
  • 負載均衡: 實現負載均衡
  • 效能監控: 監控並行效能

3. 錯誤處理

  • 策略選擇: 選擇合適的錯誤處理策略
  • 錯誤檢測: 新增錯誤檢測機制
  • 錯誤恢復: 提供錯誤恢復方案
  • 錯誤日誌: 記錄錯誤資訊

4. 資料管理

  • 型別安全: 確保資料型別正確
  • 格式統一: 保持資料格式統一
  • 質量檢查: 進行資料質量檢查
  • 結果驗證: 驗證迭代結果

配置步驟

1. 基礎配置

  1. 選擇輸入變數
  2. 配置輸出變數
  3. 設定迭代邏輯

2. 並行配置

  1. 開啟並行模式
  2. 配置並行數量

3. 錯誤處理

  1. 選擇錯誤處理策略(錯誤時終止 / 忽略錯誤並繼續 / 移除錯誤輸出)

4. 測試驗證

  1. 使用試執行功能測試
  2. 檢查迭代結果
  3. 驗證錯誤處理

常見問題

Q: 如何選擇並行數量?

A: 根據系統資源和任務特點選擇,範圍是 2-10,建議根據 CPU 核心數設定。

Q: 錯誤處理策略如何選擇?

A: 根據業務需求選擇,對質量要求高選擇終止,對效率要求高選擇繼續。

Q: 迭代和迴圈有什麼區別?

A: 迭代更注重變數更新和傳遞,迴圈更注重重複執行,迭代支援並行模式。

Q: 如何最佳化迭代效能?

A: 使用並行模式,合理設定並行數量,最佳化迭代邏輯,減少不必要的操作。

Q: 迭代結果如何管理?

A: 通過輸出變數管理迭代結果,支援各種資料型別,可以合併或分別處理。

注意事項

  1. 並行控制: 合理控制並行數量,避免資源過度使用
  2. 錯誤處理: 選擇合適的錯誤處理策略
  3. 資料質量: 確保輸入資料的質量和格式
  4. 效能考慮: 考慮迭代對系統性能的影響
  5. 結果驗證: 驗證迭代結果的正確性

幫助資源

  • 幫助文件: 支援跳轉到 Infra 幫助文件
  • 測試執行: 支援節點級別的測試執行