跳轉到內容

IF Else(條件判斷)

屬性
節點英文名IF Else
節點中文名稱條件判斷
版本v1.0
支援場景Chatflow Agent ✓, Workflow Agent ✓
測試執行支援-

快速參考

運算子功能示例
包含檢查字串包含子字串"hello world" 包含 "world"
不包含檢查字串不包含子字串"hello" 不包含 "world"
檢查值相等狀態 是 "完成"
不是檢查值不相等型別 不是 "管理員"
為空檢查值為空郵箱 為空
不為空檢查值不為空使用者名稱 不為空

功能說明

IF Else 節點提供強大的條件判斷能力:

  • 條件分支: 支援 IF、ELIF、ELSE 多重條件判斷
  • 運算子豐富: 支援字串、比較、空值等多種運算子
  • 邏輯組合: 支援 AND、OR 邏輯關係組合
  • 流程控制: 根據條件控制工作流執行路徑

節點展示內容

條件分支節點在畫布上的展示:Case 1(IF)、Case 2/Case 3(ELIF) 與 ELSE 各自獨立的輸出連線點,多條件間顯示 OR 關係

1. 基本資訊展示

  • 圖示: 節點專用圖示
  • 名稱: 節點名稱
  • 條件邏輯: 顯示配置的條件邏輯(詳細見右側的圖中說明)
  • 註釋: 使用者新增的說明文字

2. 操作按鈕

  • 更多按鈕: 點選後展示右鍵選單內容

節點編輯區域

條件分支編輯面板:IF/ELIF 條件配置 (引用變數 + 運算子 + 比較值,AND/OR 切換)、+ELIF 新增分支、ELSE 兜底說明,以及「下一步」中各分支的跳轉目標節點

1. IF 條件分支

  • 子條件: 支援選擇變數,點選後彈出選擇變數視窗
  • 比較值: 支援輸入值
  • 運算子: 變數和比較值之間的運算子包括:
    • 包含: 檢查變數是否包含指定值
    • 不包含: 檢查變數是否不包含指定值
    • 開始是: 檢查變數是否以指定值開始
    • 結束是: 檢查變數是否以指定值結束
    • : 檢查變數是否等於指定值
    • 不是: 檢查變數是否不等於指定值
    • 為空: 檢查變數是否為空
    • 不為空: 檢查變數是否不為空
  • 邏輯關係: 子條件之間關係,支援 And 或者 OR

2. ELIF(Else IF 條件分支)

  • 配置方式: 同 IF 條件分支,可以新增和移除
  • 條件判斷: 支援多個 ELIF 條件
  • 優先順序: 按順序進行條件判斷

3. ELSE

  • 預設分支: 當所有條件都不滿足時執行
  • 必需分支: 建議總是包含 ELSE 分支

4. 下一步配置

  • 分支數量: 有多少分支,則自動展示分支的下一步
  • 分支連線: 每個分支可以連線不同的下一個節點

執行邏輯

IF Else 節點的執行邏輯由後端實現,確保條件判斷的正確性。

右鍵操作

右鍵選單包含以下選項:

  1. 更改節點: 修改節點型別
  2. 複製: 複製節點
  3. 複製: 複製節點內容
  4. 刪除: 刪除節點
  5. 幫助連結: 跳轉到幫助文件

測試執行

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

條件運算子詳解

1. 字串運算子

  • 包含: 檢查字串是否包含子字串
  • 不包含: 檢查字串是否不包含子字串
  • 開始是: 檢查字串是否以指定字首開始
  • 結束是: 檢查字串是否以指定字尾結束

2. 比較運算子

  • : 檢查值是否相等
  • 不是: 檢查值是否不相等

3. 空值運算子

  • 為空: 檢查值是否為空(變數不存在、null 或空字串)
  • 不為空: 檢查值是否不為空

使用場景

1. 業務邏輯分支

  • 使用者型別判斷: 根據使用者型別執行不同邏輯
  • 許可權控制: 根據使用者許可權執行不同操作
  • 狀態處理: 根據物件狀態執行不同處理
  • 流程控制: 根據條件控制流程走向

2. 資料處理

  • 資料驗證: 根據資料格式執行不同處理
  • 型別判斷: 根據資料型別執行不同操作
  • 格式轉換: 根據資料格式執行不同轉換

3. 條件路由

  • 訊息路由: 根據訊息型別路由到不同處理
  • 請求分發: 根據請求引數分發到不同服務
  • 任務分配: 根據任務型別分配到不同處理器
  • 資源選擇: 根據條件選擇不同資源

4. 異常處理

  • 錯誤分類: 根據錯誤型別執行不同處理
  • 重試邏輯: 根據錯誤型別決定是否重試
  • 降級處理: 根據系統狀態執行降級處理
  • 告警處理: 根據告警級別執行不同處理

最佳實踐

1. 條件設計

  • 邏輯清晰: 設計清晰的條件邏輯
  • 覆蓋完整: 確保覆蓋所有可能的情況
  • 優先順序合理: 設定合理的條件優先順序
  • 易於維護: 保持條件易於維護

2. 運算子選擇

  • 型別匹配: 選擇適合資料型別的運算子
  • 效能考慮: 考慮運算子的效能影響
  • 可讀性: 選擇易於理解的運算子
  • 準確性: 確保運算子的準確性

3. 分支管理

  • 數量控制: 合理控制分支數量
  • 結構清晰: 保持分支結構清晰
  • 命名規範: 使用清晰的分支命名
  • 文件說明: 新增必要的文件說明

4. 錯誤處理

  • 異常情況: 考慮處理異常情況
  • 預設分支: 總是提供預設分支
  • 錯誤提示: 提供友好的錯誤提示
  • 日誌記錄: 記錄條件判斷過程

配置步驟

1. 基礎配置

  1. 配置 IF 條件分支
  2. 設定比較運算子
  3. 配置比較值

2. 條件擴充套件

  1. 新增 ELIF 條件(可選)
  2. 配置 ELSE 分支
  3. 設定邏輯關係

3. 分支連線

  1. 為每個分支配置下一步
  2. 連線相應的節點
  3. 驗證分支邏輯

4. 測試驗證

  1. 檢查條件配置
  2. 驗證分支邏輯
  3. 測試各種情況

常見問題

Q: 如何新增多個條件?

A: 可以使用 ELIF 新增多個條件,或者使用 AND/OR 組合多個子條件。

Q: 運算子如何選擇?

A: 根據資料型別和比較需求選擇合適的運算子。

Q: 可以有多少個分支?

A: 理論上沒有限制,但建議保持合理的分支數量。

Q: 如何確保條件覆蓋完整?

A: 使用 ELSE 分支作為預設情況,確保所有情況都有對應的處理。

Q: 條件判斷的效能如何?

A: 條件判斷效能很好,但建議避免過於複雜的條件邏輯。

注意事項

  1. 條件完整性: 確保條件覆蓋所有可能的情況
  2. 運算子匹配: 確保運算子與資料型別匹配
  3. 邏輯正確性: 驗證條件邏輯的正確性
  4. 效能考慮: 避免過於複雜的條件判斷
  5. 錯誤處理: 新增適當的錯誤處理機制