Ana içeriğe geç

Koşul Node'u

Koşul node'u, tanımladığınız kurallarla akışınızı yönlendirir. Bir veya daha fazla karşılaştırma kuralı eklersiniz — "sipariş toplamı 100'den büyük mü?" veya "mesaj iade kelimesini içeriyor mu?" gibi — ve akış, eşleşen ilk kuralın dalını izler; hiçbiri eşleşmezse son bir Else dalını izler. Kararı somut bir karşılaştırma olarak ifade edebildiğinizde kullanın. Yapay zekanın anlamı yorumlamasını gerektiren kararlar için bunun yerine Koşullu Agent node'unu kullanın.

Bir akışa ekleme

Canvas üzerine bir Koşul node'u sürükleyin ve önceki node'u ona bağlayın. Ardından bir veya daha fazla karşılaştırma kuralı tanımlayın. Node, her kural için bir çıktı handle'ı ve hiçbir kural eşleşmediğinde çalışacak son bir Else handle'ı oluşturur — yani N kural size N+1 handle verir.

Her kural için bir çıktı handle'ı ve sonda bir Else handle'ı olan Koşul node'u

Girdiler

ParametreAçıklamaZorunlu
KoşullarYukarıdan aşağıya değerlendirilen bir veya daha fazla karşılaştırma kuralı. Her kuralın bir Tür (String, Number veya Boolean), bir ilk değeri, bir işlemi ve karşılaştırılacak bir ikinci değeri vardır. Akış, eşleşen ilk kuralın dalını izler; hiçbiri eşleşmezse Else dalını izler.Evet
Çıktıyı Sohbette GösterBu node'un çıktısının sohbet geçmişinde görünüp görünmeyeceği. Varsayılan olarak kapalı.Hayır

Her koşul kuralı şunlardan oluşur:

  • Tür — karşılaştırdığınız değerlerin türü: Metin, Sayı veya Mantıksal.
  • Değer 1 — test edilecek değer, genellikle {{$flow.state.total}} veya {{$question}} gibi bir değişken.
  • İşlem — karşılaştırma. Dizeler için: İçerir, İle Biter, Eşittir, İçermez, Eşit Değil, Regex, İle Başlar, Boş, Boş Değil. Sayılar için: Küçüktür, Küçük Eşittir, Eşittir, Eşit Değil, Büyüktür, Büyük Eşittir, Boş, Boş Değil.
  • Değer 2 — karşılaştırılacak değer (Boş / Boş Değil için gizlidir).

Akış state'inden bir metni karşılaştıran Koşul kuralı: {{$flow.state.plan}} eşittir premium

Çıktılar ve dallanma

Koşul node'u, dinamik dalları olan bir çoklu çıktılı node'durher kural için bir çıktı handle'ı ve sonda bir Else handle'ı oluşturur. Kural handle'ları, kuralları listeleme sıranıza göre 0, 1, 2… diye numaralanır; Else handle'ı her zaman sonda ve her zaman mevcuttur. Bir kural eklerseniz Else'den önce yeni bir numaralı handle belirir; birini kaldırırsanız kaybolur. Yani N kural, N+1 handle üretir — bu, sabit bir True/False ayrımı değildir.

HandleAkış ne zaman bu dalı alır
0 (ilk kural)İlk kural true.
1 (ikinci kural)İlk kural false, ikinci kural true.
Else (her zaman sonda)Hiçbir kural eşleşmedi.

Değerlendirme, ilk-eşleşen-kazanır (first-match-wins) mantığındadır. Flowera kurallarınızı yukarıdan aşağıya kontrol eder ve ilk true olanda durur — akış o kuralın dalını alır ve kalan kurallar hiç kontrol edilmez. Hiçbir kural true değilse akış Else'i alır. Bu, tam olarak bir if / else-if / … / else zinciri gibi davranır; bu yüzden kural sırası önemlidir: en özgül kurallarınızı en üste koyun.

Kenarlar bir dalı nasıl seçer: her handle'dan, o durumda çalışması gereken node'a bir kenar çizin. Yalnızca ilk eşleşen kural tetiklendiği için her dal birbirini dışlar — tek bir çalıştırma tam olarak bir yol izler.

Else handle'ını her zaman bağlayın

Else, eşleşmeyen her çalıştırmanın gittiği yerdir. Bağlantısız bırakırsanız, hiçbir kuralınıza uymayan bir mesaj gidecek bir yer olmadan Koşul node'unda durur — ve müşteri hiçbir yanıt almaz.

Örnek

Müşterileri sepet değerine göre iki kuralla yönlendirin:

  1. Type: Number · Değer 1: {{$flow.state.total}} · İşlem: Büyüktür · Değer 2: 100
  2. Type: Number · Değer 1: {{$flow.state.total}} · İşlem: Büyüktür · Değer 2: 0

Bu, üç handle verir: 0 (sepet 100'ün üstünde), 1 (sepet 1–100) ve Else (boş veya sıfır sepet). İlk eşleşen kural kazandığı için 150'lik bir sepet — 2. kuralı da sağlasa bile — 0 dalını alır; tarifeleri çalıştıran şey işte bu kural sırasıdır. 0 dalını ücretsiz kargo sunan bir Agent'a, 1 dalını standart bir ödeme yanıtına ve Else'i bir "sepetiniz boş" mesajına bağlayın.

İpuçları

  • Kurallar yukarıdan aşağıya, ilk eşleşen kazanır mantığıyla kontrol edilir — onları en özgülden en genele doğru sıralayın.
  • Eşleşmeyen çalıştırmaların gidecek bir yeri olması için Else handle'ını her zaman bağlayın.
  • Doğru Tür'ü seçin — sayıları dize olarak karşılaştırmak şaşırtıcı sonuçlar verebilir (örneğin, metin olarak "9", "100"'den "büyüktür").
  • Devam etmeden önce bir değerin yakalanıp yakalanmadığını kontrol etmek için Boş / Boş Değil kullanın.
  • Bulanık, anlam temelli yönlendirme için ("kullanıcı hayal kırıklığına mı uğradı?"), bunun yerine Koşullu Agent'ı kullanın.

İlgili