40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# 条件分岐
|
||
|
||
### 定義
|
||
|
||
if/else 条件に基づいてワークフローを2つの分岐に分けることができます。
|
||
|
||
条件分岐ノードには3つの部分があります:
|
||
|
||
* IF条件:変数を選び、条件と満たすべき値を設定します;
|
||
* IF 条件が `True` と判断された場合、IFパスを実行します;
|
||
* IF 条件が `False` と判断された場合、ELSEパスを実行します;
|
||
|
||
**条件の種類**
|
||
|
||
* 含む(Contains)
|
||
* 含まない(Not contains)
|
||
* 始まる(Start with)
|
||
* 終わる(End with)
|
||
* である(Is)
|
||
* ではない(Is not)
|
||
* 空である(Is empty)
|
||
* 空ではない(Is not empty)
|
||
|
||
***
|
||
|
||
### シナリオ
|
||
|
||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
上図の**テキスト要約ワークフロー**を例にとります。
|
||
|
||
* IF条件:開始ノードの`summarystyle`変数を選び、条件を **含む** として `技術` を設定します;
|
||
* IF 条件が `True` と判断された場合、IFパスを実行し、知識検索ノードを通じて技術関連の知識を検索し、大規模言語モデル(LLM)ノードで返信します(図の上半部分);
|
||
* IF 条件が `False` と判断された場合、つまり`summarystyle`変数の入力が **含まない** として `技術` を設定し、ELSEパスを実行し、LLM2ノードで返信します(図の下半部分);
|
||
|
||
**複数条件の判断**
|
||
|
||
複雑な条件判断が必要な場合、複数条件を設定し、条件間に **AND** または **OR** を設定することができます。これは条件間に**交集**または**并集**を取ることを意味します。
|
||
|
||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" width="369"><figcaption><p>複数条件の判断</p></figcaption></figure> |