Skip to main content
if/else 条件に基づいてチャットフローとワークフローを2つの分岐に分けることができます。
ノードの機能
条件分岐の動作メカニズムには、次の6つのパスが含まれます:
- IFの条件:変数を選び、条件と満たすべき値を設定します
- IFの条件が
True と判断された場合、IFパスを実行します
- IFの条件が
False と判断された場合、ELSEパスを実行します
- ELIFの条件が
True と判断された場合, ELIFパスを実行します
- ELIFの条件が
False と判断された場合, 次のELIFパスを判断します、もしくは最後のELIFパスを実行します
条件の種類
利用可能な条件タイプは変数のデータ型によって異なります:
文字列/数値/オブジェクト変数の場合:
- 含む(Contains)
- 含まない(Not contains)
- ..から始まる(Start with)
- ..で終わる(End with)
- である(Is)
- ではない(Is not)
- 空である(Is empty)
- 空ではない(Is not empty)
ブール値変数の場合:
- である(Is)- 真/偽
- ではない(Is not)- 真/偽
ブール値配列変数の場合:
- 含む(Contains)- 真/偽
- 含まない(Not contains)- 真/偽
- 空である(Is empty)
- 空ではない(Is not empty)
シナリオ
テキスト要約ワークフローを例に、各条件を説明します。
- IFの条件:開始ノードの
summarystyle変数を選び、条件を 含む として 技術 を設定します
- IFの条件が
True と判断された場合、IFパスを実行し、技術関連の知識をナレッジ検索ノードを通じて問い合わせ、その後大規模言語モデル(LLM)ノードを介して応答します。(上図の下半部分に示されるように)
- IFの条件が
False と判断され、さらにELIF条件が加えられた場合、summarystyle 変数の入力に 技術 は含まれず、ELIFの条件に 科学 が含まれている場合は、ELIFの条件が True であるかどうかを確認し、該当する手順を実行します。
- ELIFの条件が
False で、かつ入力変数に 技術 や 科学 が含まれていない場合は、次のELIFの条件の評価を続けるか、もしくはELSEパスを実行します。
- IFの条件が
False と判断された場合、つまりsummarystyle変数の入力が 含まない として 技術 を設定し、ELSEパスを実行し、LLM2ノードで返信します(上図の下半部分に示されるように)
複数条件の判断
複雑な条件判断が必要な場合、複数の条件を設定し、条件間に AND または OR を指定することができます。これにより、条件をすべて満たす場合(AND)や、いずれかの条件を満たす場合(OR)に応じた処理を実行できます。