mirror of
https://github.com/langgenius/dify-docs-archived.git
synced 2026-07-19 14:33:40 -04:00
2.8 KiB
2.8 KiB
条件分岐
定義
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)
シナリオ

テキスト要約ワークフローを例に、各条件を説明します。
- IFの条件:開始ノードの
summarystyle変数を選び、条件を 含む として技術を設定します; - IFの条件が
Trueと判断された場合、IFパスを実行し、技術関連の知識をナレッジ検索ノードを通じて問い合わせ、その後大規模言語モデル(LLM)ノードを介して応答します。(上図の下半部分に示されるように); - IFの条件が
Falseと判断され、さらにELIF条件が加えられた場合、summarystyle変数の入力に技術は含まれず、ELIFの条件に科学が含まれている場合は、ELIFの条件がTrueであるかどうかを確認し、該当する手順を実行します。 - ELIFの条件が
Falseで、かつ入力変数に技術や科学が含まれていない場合は、次のELIFの条件の評価を続けるか、もしくはELSEパスを実行します。 - IFの条件が
Falseと判断された場合、つまりsummarystyle変数の入力が 含まない として技術を設定し、ELSEパスを実行し、LLM2ノードで返信します(上図の下半部分に示されるように);
複数条件の判断
複雑な条件判断が必要な場合、複数条件を設定し、条件間に AND または OR を設定することができます。これは条件間に交集または并集を取ることを意味します。

複数条件の判断