Sequential Agents

Flow'da Sequential Agents'ın Temellerini Öğrenin

Bu kılavuz, Flow Intelligence içindeki Sequential Agent AI sistem mimarisine eksiksiz bir genel bakış sunarak temel bileşenlerini ve iş akışı tasarım ilkelerini keşfeder.

Kavram

LangGraph'ın üzerine inşa edilen Flow Intelligence Sıralı Aracılar mimarisi, iş akışını yönlendirilmiş bir döngüsel grafik (DCG) olarak yapılandırarak, kontrollü döngülere ve yinelemeli süreçlere izin vererek, konuşma aracılı sistemlerin geliştirilmesini kolaylaştırır.

Birbirine bağlı düğümlerden oluşan bu grafik, bilgi ve eylemlerin sıralı akışını tanımlayarak aracıların girdileri işlemesine, görevleri yürütmesine ve yapılandırılmış bir şekilde yanıtlar oluşturmasına olanak tanır.

Sıralı Ajanların DCG Mimarisini Anlama

Bu mimari, DCG yapısı aracılığıyla açık ve anlaşılır bir işlem dizisi tanımlayarak karmaşık konuşma iş akışlarının yönetimini basitleştirir.

Bu yaklaşımın bazı temel unsurlarını inceleyelim:

  • Düğüm tabanlı işleme: Grafikteki her düğüm, dil işleme, araç yürütme veya koşullu mantık gibi kendi işlevlerini kapsayan ayrı bir işlem birimini temsil eder.

  • Bağlantı olarak veri akışı: Grafikteki kenarlar, bir düğümün çıktısının sonraki düğüm için girdi haline geldiği ve bir işleme adımları zincirini mümkün kıldığı düğümler arasındaki veri akışını temsil eder.

  • Devlet yönetimi: Durum, paylaşılan bir nesne olarak yönetilir ve konuşma boyunca devam eder. Bu, düğümlerin iş akışı ilerledikçe ilgili bilgilere erişmesini sağlar.

Sequential Agents vs Multi-Agents

Flow'daki hem Multi-Agents hem de Sequential Agents sistemleri LangGraph çerçevesi üzerine inşa edilmiş ve aynı temel ilkeleri paylaşsa da, Sequential Agent mimarisi bir daha düşük soyutlama seviyesi, iş akışının her adımı üzerinde daha ayrıntılı kontrol sunar.

Görevleri uzman çalışan temsilcilere devreden merkezi bir denetleyici aracıya sahip hiyerarşik bir yapı ile karakterize edilen Çok Aracılı sistemler, karmaşık iş akışlarını yönetilebilir alt görevlere ayırarak yönetmede mükemmeldir. Alt görevlere ayrıştırma, bir Sequential Agents sisteminde manuel kurulum gerektirecek olan koşul düğümleri gibi çekirdek sistem öğelerinin kaputun altında önceden yapılandırılmasıyla mümkün olur. Sonuç olarak, kullanıcılar aracı ekiplerini daha kolay oluşturabilir ve yönetebilir.

Buna karşılık, Sequential Agents sistemleri, verilerin bir düğüm zinciri boyunca sırayla aktığı aerodinamik bir montaj hattı gibi çalışır ve bu da onları kesin bir işlem sırası ve artımlı veri iyileştirmesi gerektiren görevler için ideal hale getirir. Multi-Agents sistemle karşılaştırıldığında, temel iş akışı yapısına daha düşük seviyeli erişimi, paralel düğüm yürütme ve sistem mantığı üzerinde tam kontrol sunarak, koşulları, durumu ve döngü düğümlerini iş akışına dahil ederek onu temelde daha esnek ve özelleştirilebilir hale getirir ve yeni dinamik dallanma yeteneklerinin oluşturulmasına olanak tanır.

Durum, Döngü ve Koşul Düğümlerinin Tanıtılması

Flowda Sıralı Aracıları, kullanıcı girişine uyum sağlayabilen, bağlama dayalı kararlar alabilen ve yinelemeli görevleri gerçekleştirebilen konuşma sistemleri oluşturmak için yeni yetenekler sunar.

Bu yetenekler, dört yeni çekirdek düğümün tanıtılmasıyla mümkün olmuştur; Durum Düğümü, Döngü Düğümü ve iki Koşul Düğümü.

  • Durum Düğümü: State'i, uygulamamızın veya iş akışımızın geçerli anlık görüntüsünü temsil eden paylaşılan bir veri yapısı olarak tanımlarız. Durum Düğümü, konuşmanın başlangıcından itibaren iş akışımıza özel bir Durum eklememize olanak tanır. Bu özel Durum, iş akışındaki diğer düğümler tarafından erişilebilir ve değiştirilebilir, böylece dinamik davranış ve veri paylaşımına olanak tanır.

  • Döngü Düğümü: Bu düğüm, Sıralı Ajan iş akışı içinde kontrollü döngüler sunarak, belirli koşullara bağlı olarak bir düğüm dizisinin tekrarlanabildiği yinelemeli süreçleri mümkün kılar. Bu, aracıların çıktıları iyileştirmesine, kullanıcıdan ek bilgi toplamasına veya görevleri birden çok kez gerçekleştirmesine olanak tanır.

  • Koşul Düğümleri: Koşul ve Koşul Aracısı Düğümü, dallanma yollarıyla karmaşık konuşma akışları oluşturmak için gerekli denetimi sağlar. Koşul Düğümü koşulları doğrudan değerlendirirken, Koşul Aracısı Düğümü dallanma mantığını belirlemek için bir aracının mantığını kullanır. Bu, kullanıcı girişine, özel Duruma veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçlarına dayalı olarak akışın davranışını dinamik olarak yönlendirmemize olanak tanır.

Doğru sistemi seçmek

Uygulamanız için ideal sistemi seçmek, özel iş akışı ihtiyaçlarınızı anlamanıza bağlıdır. Görev karmaşıklığı, paralel işleme ihtiyacı ve veri akışı üzerinde istediğiniz kontrol düzeyi gibi faktörlerin tümü önemli hususlardır.

  • Basitlik için: İş akışınız, görevlerin birbiri ardına tamamlanabildiği ve bu nedenle paralel düğüm yürütme veya Döngüdeki İnsan (HITL) gerektirmediği nispeten basitse, Çoklu Aracılı yaklaşım kullanım kolaylığı ve hızlı kurulum sunar.

  • Esneklik için: İş akışınız paralel yürütmeye, dinamik konuşmalara, özel Durum yönetimine ve HITL'yi dahil etme yeteneğine ihtiyaç duyuyorsa, Sıralı Aracı yaklaşımı gerekli esnekliği ve denetimi sağlar.

Flow'daki Çoklu Ajan ve Sıralı Ajan uygulamalarını karşılaştıran, temel farklılıkları ve tasarım konularını vurgulayan bir tablo aşağıda verilmiştir:

Multi-Agents
Sequential Agents

Yapı

Hiyerarşik; Süpervizör, uzman Çalışanlara delege eder.

Doğrusal, döngüsel ve/veya dallanma; Düğümler, dallanma için koşullu mantıkla bir dizi halinde bağlanır.

İş Akışı

Esnek; Karmaşık bir görevi, birbiri ardına tamamlanan bir dizi alt göreve bölmek için tasarlanmıştır.

Son derece esnek; Tek bir konuşma dönüşünde paralel düğüm yürütmeyi, karmaşık diyalog akışlarını, dallanma mantığını ve döngüleri destekler.

Paralel Düğüm Yürütme

Hayır; Süpervizör her seferinde bir görevi yerine getirir.

Evet; tek bir çalıştırmada paralel olarak birden çok eylemi tetikleyebilir.

Devlet Yönetimi

Örtük; Durum yerinde, ancak geliştirici tarafından açıkça yönetilmiyor.

Açık; Durum yerindedir ve geliştiriciler, Durum Düğümünü ve çeşitli düğümlerdeki "Durumu Güncelle" alanını kullanarak ilk veya özel bir Durum tanımlayabilir ve yönetebilir.

Araç Kullanımı

Çalışanlar gerektiğinde araçlara erişebilir ve bunları kullanabilir.

Araçlara, Aracı Düğümleri ve Araç Düğümleri aracılığıyla erişilir ve yürütülür.

Döngüdeki İnsan (HITL)

HITL desteklenmemektedir.

Aracı Düğümü ve Araç Düğümü'nün "Onay İste" özelliği aracılığıyla desteklenir ve insan tarafından gözden geçirilmesine ve araç yürütmesinin onaylanmasına veya reddedilmesine olanak tanır.

Karmaşıklık

Daha yüksek soyutlama seviyesi; İş akışı tasarımını basitleştirir.

Daha düşük soyutlama seviyesi; düğüm etkileşimlerinin dikkatli bir şekilde planlanmasını, özel Durum yönetimini ve koşullu mantığı gerektiren daha karmaşık iş akışı tasarımı.

İdeal Kullanım Durumları

  • Doğrusal süreçlerin otomatikleştirilmesi (örneğin, veri çıkarma, müşteri adayı oluşturma).

  • Alt görevlerin birbiri ardına tamamlanması gereken durumlar.

  • Dinamik akışlara sahip konuşma sistemleri oluşturma.

  • Paralel düğüm yürütme veya dallanma mantığı gerektiren karmaşık iş akışları.

Konuşmanın birden fazla noktasında karar vermenin gerekli olduğu durumlar.

Not: Çoklu Ajan sistemleri teknik olarak Sequential Agent mimarisi üzerine inşa edilmiş daha üst düzey bir katman olsa da, farklı bir kullanıcı deneyimi ve iş akışı tasarımına yaklaşım sunarlar. Yukarıdaki karşılaştırma, özel ihtiyaçlarınız için en iyi seçeneği seçmenize yardımcı olmak için bunları ayrı sistemler olarak ele alır.

Sequential Agents Düğümleri

Sıralı Aracılar, her biri belirli bir amaca hizmet eden 10 özel düğümü tanıtarak Flow'a yepyeni bir boyut getiriyor ve konuşma aracılarımızın kullanıcılarla nasıl etkileşime girdiği, bilgileri nasıl işlediği, kararlar aldığı ve eylemleri nasıl yürüttüğü üzerinde daha fazla kontrol sunuyor.

Aşağıdaki bölümler, her düğümün işlevselliği, girişleri, çıkışları ve en iyi uygulamaları hakkında kapsamlı bir anlayış sağlamayı ve sonuç olarak çeşitli uygulamalar için karmaşık konuşma iş akışları oluşturmanıza olanak tanımayı amaçlamaktadır.

Başlangıç düğümünü anlama

Başlangıç Düğümü, konuşma iş akışlarımızın doğru çalışması için gerekli kuruluma ve bağlama sahip olmasını sağlar. İş akışının geri kalanı boyunca kullanılacak temel işlevlerin ayarlanmasından sorumludur:

  • Varsayılan LLM'yi tanımlama: Başlangıç Düğümü, iş akışındaki temsilcilerin araçlar ve harici sistemlerle etkileşim kurmasını sağlamak için işlev çağrısıyla uyumlu bir Sohbet Modeli (LLM) belirtmemizi gerektirir. İş akışında kaputun altında kullanılan varsayılan LLM olacaktır.

  • Belleği Başlatma: İsteğe bağlı olarak, konuşma geçmişini depolamak ve almak için bir Ajan Bellek Düğümü bağlayarak bağlama daha duyarlı yanıtlar sağlayabiliriz.

  • Özel bir Durum ayarlama: Varsayılan olarak, Durum, kullanıcı ile aracılar arasındaki konuşmanın dökümü veya geçmişi olarak işlev gören değişmez bir dizi içerir. Başlangıç Düğümü, bir Durum Düğümü ekleyerek iş akışına özel bir Durum bağlamanıza olanak tanır ve iş akışınızla ilgili ek bilgilerin depolanmasını sağlarstate.messages

  • Moderasyonun etkinleştirilmesi: İsteğe bağlı olarak, kullanıcının girdisini analiz etmek ve potansiyel olarak zararlı içeriğin LLM'ye gönderilmesini önlemek için Giriş Moderasyonunu bağlayabiliriz.

Giriş

Gerekli
Açıklama

Sohbet Modeli

Evet

Konuşmayı güçlendirecek varsayılan LLM. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.

Ajan Bellek Düğümü

Hayır

Kalıcılığı ve bağlam korumasını etkinleştirmek için bir Ajan Bellek Düğümü bağlayın.

Durum Düğümü

Hayır

İş akışındaki diğer düğümler tarafından erişilebilen ve değiştirilebilen paylaşılan bir bağlam olan özel bir Durum ayarlamak için bir Durum Düğümü bağlayın.

Giriş Moderasyonu

Hayır

Zararlı çıktı oluşturabilecek metni algılayarak içeriği filtrelemek için bir Moderasyon Düğümü bağlayın ve LLM'ye gönderilmesini önleyin.

Çıkış

Başlangıç Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:

  • Aracı Düğümü: Konuşma akışını, daha sonra konuşmanın bağlamına göre eylemleri yürütebilen veya araçlara erişebilen bir Aracı Düğümüne yönlendirir.

  • LLM Düğümü: Konuşma akışını, işleme ve yanıt oluşturma için bir LLM Düğümüne yönlendirir.

  • Koşul Aracısı Düğümü: Aracının konuşmayı değerlendirmesine dayalı olarak dallanma mantığını uygulamak için bir Koşul Aracısı Düğümüne bağlanır.

  • Koşul Düğümü: Önceden tanımlanmış koşullara dayalı dallanma mantığını uygulamak için bir Koşul Düğümüne bağlanır.

En İyi Uygulamalar

Doğru Sohbet Modelini Seçin

Seçtiğiniz LLM'nin, aracı-araç etkileşimlerini etkinleştirmek için önemli bir özellik olan işlev çağrısını desteklediğinden emin olun. Ek olarak, uygulamanızın karmaşıklığı ve gereksinimleri ile uyumlu bir LLM seçin. Gerektiğinde varsayılan LLM'yi Agent/LLM/Condition Agent düğüm düzeyinde ayarlayarak geçersiz kılabilirsiniz.

Bağlamı ve kalıcılığı göz önünde bulundurun

Kullanım durumunuz gerektiriyorsa, bağlamı korumak ve etkileşimleri kişiselleştirmek için Agent Memory Node'u kullanın.

2. Agents Bellek Düğümü

Ajan Bellek Düğümü, kalıcı bellek depolaması için bir mekanizma sağlayarak Sıralı Ajan iş akışının konuşma geçmişini ve daha önce birden çok etkileşimde tanımlanan herhangi bir özel Durumu tutmasına olanak tanır. state.messages

Bu uzun süreli bellek, temsilcilerin önceki etkileşimlerden öğrenmesi, uzun konuşmalar üzerinde bağlamı koruması ve daha alakalı yanıtlar vermesi için çok önemlidir.

Verilerin kaydedildiği yer

Varsayılan olarak Flow, konuşma geçmişini ve özel durum verilerini depolamak için yerleşik SQLite veritabanını kullanır ve bu kalıcı bilgileri yönetmek için bir "kontrol noktaları" tablosu oluşturur.

"Kontrol noktaları" tablo yapısını ve veri biçimini anlama

Bu tablo, bir konuşma sırasında çeşitli noktalarda sistem Durumunun anlık görüntülerini depolayarak konuşma geçmişinin kalıcılığını ve alınmasını sağlar. Her satır, iş akışının yürütülmesinde belirli bir noktayı veya "kontrol noktasını" temsil eder.

Tablo yapısı

  • thread_id: Belirli bir konuşma oturumunu temsil eden benzersiz bir tanımlayıcı olan oturum kimliğimiz. Tek bir iş akışı yürütmesiyle ilgili tüm denetim noktalarını birlikte gruplandırır.

  • checkpoint_id: İş akışı içindeki her yürütme adımı (düğüm yürütme) için benzersiz bir tanımlayıcı. İşlemlerin sırasını izlemeye ve her adımda Durumu tanımlamaya yardımcı olur.

  • parent_id: Geçerli denetim noktasına yol açan önceki yürütme adımının checkpoint_id gösterir. Bu, kontrol noktaları arasında hiyerarşik bir ilişki kurarak iş akışının yürütme akışının yeniden yapılandırılmasına olanak tanır.

  • denetim noktası: Söz konusu denetim noktasındaki iş akışının geçerli Durumunu temsil eden bir JSON dizesi içerir. Bu, değişkenlerin değerlerini, değiş tokuş edilen mesajları ve yürütmenin o noktasında yakalanan diğer ilgili verileri içerir.

  • Meta veriler: Denetim noktası hakkında, özellikle düğüm işlemleriyle ilgili ek bağlam sağlar.

İşleyiş şekli

Sıralı Aracı iş akışı yürütülürken, sistem her önemli adım için bu tabloda bir denetim noktası kaydeder. Bu mekanizma çeşitli avantajlar sağlar:

  • Yürütme takibi: Denetim noktaları, sistemin yürütme yolunu ve iş akışı içindeki işlemlerin sırasını anlamasını sağlar.

  • Devlet yönetimi: Denetim noktaları, değişken değerleri, konuşma geçmişi ve diğer ilgili veriler dahil olmak üzere her adımda iş akışının Durumunu depolar. Bu, sistemin bağlamsal farkındalığı korumasına ve mevcut Duruma dayalı olarak bilinçli kararlar almasına olanak tanır.

  • İş akışının devam ettirilmesi: İş akışı duraklatılır veya kesintiye uğrarsa (örneğin, bir sistem hatası veya kullanıcı isteği nedeniyle), sistem son kaydedilen Durumdan yürütmeye devam etmek için saklanan kontrol noktalarını kullanabilir. Bu, konuşmanın veya görevin kaldığı yerden devam etmesini sağlayarak kullanıcının ilerlemesini korur ve veri kaybını önler.

Giriş

Ajan Bellek Düğümünün belirli bir giriş bağlantısı yoktur.

Düğüm Kurulumu

Gerekli
Açıklama

Veritabanı

Evet

Konuşma geçmişini depolamak için kullanılan veritabanı türü. Şu anda yalnızca SQLite desteklenmektedir.

Ek Parametreler

Gerekli
Açıklama

Veritabanı Dosya Yolu

Hayır

SQLite veritabanı dosyasının dosya yolu. Sağlanmazsa, sistem varsayılan bir konum kullanır.

Çıkış

Temsilci Bellek Düğümü yalnızca Başlangıç Düğümü ile etkileşime girerek konuşma geçmişini iş akışının en başından itibaren kullanılabilir hale getirir.

Stratejik kullanım

Ajan Belleğini yalnızca gerektiğinde kullanın. Basit, durumsuz etkileşimler için aşırıya kaçabilir. Dönüşler veya oturumlar arasında bilgileri saklamanın önemli olduğu senaryolar için ayırın.

3. Durum Düğümü

Yalnızca Başlangıç Düğümüne bağlanabilen Durum Düğümü, konuşmanın başlangıcından itibaren iş akışımıza kullanıcı tanımlı veya özel bir Durum ayarlamak için bir mekanizma sağlar. Bu özel Durum, grafikteki düğümler tarafından paylaşılan ve güncellenebilen, akış ilerledikçe bir düğümden diğerine geçen bir JSON nesnesidir.

Durum Düğümünü Anlama

Varsayılan olarak, Durum, konuşma geçmişimiz olarak işlev gören bir dizi içerir. Bu dizi, kullanıcı ile aracılar veya iş akışındaki diğer aktörler arasında değiş tokuş edilen tüm iletileri depolar ve iş akışı yürütmesi boyunca korur.state.messages

Tanım gereği bu dizi değişmez olduğundan ve değiştirilemediğinden, Durum Düğümünün amacı, iş akışımızla ilgili herhangi bir ek bilgiyi tutmak için durum nesnesini genişleterek özel anahtar-değer çiftleri tanımlamamıza izin vermektir.state.messages

Hiçbir Ajan Bellek Düğümü kullanılmadığında, Durum bellek içinde çalışır ve gelecekteki kullanım için kalıcı olmaz.

Giriş

Durum Düğümü'nün belirli bir giriş bağlantısı yoktur.

Çıkış

Durum Düğümü yalnızca Başlangıç Düğümüne bağlanabilir, bu da iş akışının başlangıcından itibaren özel bir Durumun ayarlanmasına izin verir ve diğer düğümlerin bu paylaşılan özel Duruma erişmesine ve potansiyel olarak değiştirmesine izin verir.

Ek Parametreler

Gerekli
Açıklama

Özel Durum

Evet

İş akışının ilk özel Durumunu temsil eden bir JSON nesnesi. Bu nesne, uygulamayla ilgili herhangi bir anahtar-değer çifti içerebilir.

Özel bir Durum nasıl ayarlanır?

Durum nesnesi için anahtarı, işlem türünü ve varsayılan değeri belirtin. İşlem türü "Değiştir" veya "Ekle" olabilir.

  • Değiştirmek

    1. Mevcut değeri yeni değerle değiştirin.

    2. Yeni değer null ise, mevcut değer korunur.

  • Ekleme

    1. Yeni değeri varolan değere ekleyin.

    2. Varsayılan değerler boş veya bir dizi olabilir. Örn: ["a", "b"]

    3. Son değer bir dizidir.

JS kullanma örneği

Tablo kullanma örneği

Durum Düğümü'ndeki tablo arabirimini kullanarak özel bir Durum tanımlamak için şu adımları izleyin:

  1. Öğe ekle: Tabloya satır eklemek için "+ Öğe Ekle" düğmesini tıklayın. Her satır, özel Durumunuzdaki bir anahtar-değer çiftini temsil eder.

  2. Anahtarları belirtin: "Anahtar" sütununa, durum nesnenizde tanımlamak istediğiniz her anahtarın adını girin. Örneğin, "userName", "userLocation" gibi anahtarlarınız olabilir.

  3. İşlemleri seçin: "İşlem" sütununda, her tuş için istediğiniz işlemi seçin. İki seçeneğiniz vardır:

    • Değiştirmek: Bu, anahtarın mevcut değerini bir düğüm tarafından sağlanan yeni değerle değiştirir. Yeni değer null ise, mevcut değer korunur.

    • Ekleme: Bu, yeni değeri anahtarın mevcut değerine ekler. Son değer bir dizi olacaktır.

  4. Varsayılan değerleri ayarlayın: "Varsayılan Değer" sütununda, her anahtar için başlangıç değerini girin. Bu değer, başka hiçbir düğüm anahtar için bir değer sağlamazsa kullanılır. Varsayılan değer boş veya bir dizi olabilir.

Örnek Tablo

Anahtar
İşlem
Varsayılan Değer

kullanıcı adı

Değiştirmek

sıfır

  1. Bu tablo, özel Durum'da bir anahtar tanımlar: .userName

  2. Anahtar, "Değiştir" işlemini kullanacaktır, yani bir düğüm yeni bir değer sağladığında değeri güncellenecektir.userName

  3. Anahtarın varsayılan değeri null olup, başlangıç değeri olmadığını gösterir.userName

Bu tablo tabanlı yaklaşımın, JavaScript kullanarak özel Durumu tanımlamanın bir alternatifi olduğunu unutmayın. Her iki yöntem de aynı sonucu elde eder.

En İyi Uygulamalar

Özel Durum yapınızı planlayın

İş akışınızı oluşturmadan önce, özel Durumunuzun yapısını tasarlayın. İyi düzenlenmiş bir özel Durum, iş akışınızın anlaşılmasını, yönetilmesini ve hata ayıklamasını kolaylaştırır.

Anlamlı anahtar adları kullanın

Tuttukları verilerin amacını açıkça belirten açıklayıcı ve tutarlı anahtar adları seçin. Bu, kodunuzun okunabilirliğini artırır ve başkalarının (veya gelecekte sizin) özel Durumun nasıl kullanıldığını anlamasını kolaylaştırır.

Özel Durumu minimumda tutun

Bilgileri yalnızca iş akışının mantığı ve karar verme için gerekli olan özel Durumda depolayın.

Devlet kalıcılığını göz önünde bulundurun

Durumu birden fazla konuşma oturumunda korumanız gerekiyorsa (örneğin, kullanıcı tercihleri, sipariş geçmişi vb. için), Durumu kalıcı bir veritabanında depolamak için Aracı Bellek Düğümünü kullanın.

4. Agents Düğümü

Ajan Düğümü, Sequential Agents mimarisinin temel bir bileşenidir. İş akışımızda bir karar verici ve düzenleyici olarak hareket eder.

Agents Düğümünü Anlama

Aracı Düğümü, her zaman tam konuşma geçmişini ve yürütmenin o noktasındaki herhangi bir özel Durumu içeren önceki düğümlerden girdi aldıktan sonra, kullanıcının isteğini yerine getirmek için harici araçların gerekli olup olmadığını belirlemek için Sistem İstemi tarafından oluşturulan tanımlı "kişiliğini" kullanır.state.messages

  • Araçlar gerekliyse, Aracı Düğümü uygun aracı otonom olarak seçer ve yürütür. Bu yürütme otomatik olabilir veya hassas görevler için devam etmeden önce insan onayı (HITL) gerektirebilir. Araç çalışmasını tamamladıktan sonra, Aracı Düğümü sonuçları alır, bunları belirlenen Sohbet Modelini (LLM) kullanarak işler ve kapsamlı bir yanıt oluşturur.

  • Herhangi bir araca ihtiyaç duyulmayan durumlarda, Aracı Düğümü, mevcut konuşma bağlamına dayalı bir yanıt formüle etmek için doğrudan Sohbet Modeli'nden (LLM) yararlanır.

Giriş

Gerekli
Açıklama

Harici Araçlar

Hayır

Ajan Düğümüne, eylemler gerçekleştirmesini ve bilgi almasını sağlayan bir dizi harici araca erişim sağlar.

Sohbet Modeli

Hayır

İş akışının varsayılan Sohbet Modeli'nin (LLM) üzerine yazmak için yeni bir Sohbet Modeli ekleyin. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.

Başlangıç Düğümü

Evet

Başlangıç Düğümü'nden özel Durum (ayarlanmışsa) ve varsayılan dizinin geri kalanıyla birlikte ilk kullanıcı girişini alır.state.messages

Koşul Düğümü

Evet

Önceki bir Koşul Düğümünden girdi alarak Ajan Düğümünün Koşul Düğümünün değerlendirmesinin sonucuna göre eylemler gerçekleştirmesini veya konuşmayı yönlendirmesini sağlar.

Koşul Aracısı Düğümü

Evet

Önceki bir Koşul Aracısı Düğümünden girdi alır ve Aracı Düğümünün Koşul Aracısı Düğümünün değerlendirmesinin sonucuna göre eylemler gerçekleştirmesini veya konuşmayı yönlendirmesini sağlar.

Agents Düğümü

Evet

Önceki bir Aracı Düğümünden giriş alarak zincirleme aracı eylemlerini etkinleştirir ve konuşma bağlamını korur

LLM Düğümü

Evet

LLM Düğümünden çıktıyı alır ve Ajan Düğümünün LLM'nin yanıtını işlemesini sağlar.

Araç Düğümü

Evet

Çıktıyı bir Araç Düğümünden alır ve Aracı Düğümünün aracın çıktılarını işlemesini ve yanıtına entegre etmesini sağlar.

Aracı Düğümü aşağıdaki düğümlerden en az bir bağlantı gerektirir: Başlangıç Düğümü, Aracı Düğümü, Koşul Düğümü, Koşul Aracı Düğümü, LLM Düğümü veya Araç Düğümü.

Çıkış

Agents'ı Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:

  • Agents Düğümü: Kontrolü sonraki bir Ajan Düğümüne geçirerek bir iş akışı içinde birden çok ajan eyleminin zincirlenmesini sağlar. Bu, daha karmaşık konuşma akışlarına ve görev düzenlemesine olanak tanır.

  • LLM Düğümü: Aracının çıktısını bir LLM Düğümüne geçirerek, aracının eylemlerine ve içgörülerine dayalı olarak daha fazla dil işleme, yanıt oluşturma veya karar verme olanağı sağlar.

  • Koşul Aracısı Düğümü: Akışı bir Koşul Aracısı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için Aracı Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.

  • Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, Aracı Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.

  • Bitiş Düğümü: Konuşma akışını sonlandırır.

  • Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, birden çok adım gerektiren veya önceki etkileşimlere dayalı olarak sonuçların iyileştirilmesini içeren görevler için kullanışlıdır. Örneğin, ek bilgi toplamak veya mevcut Ajan Düğümünün çıktısına göre konuşma akışını iyileştirmek için daha önceki bir Ajan Düğümüne veya LLM Düğümüne geri dönebilirsiniz.

Düğüm Kurulumu

Gerekli
Açıklama

Temsilci Adı

Evet

İş akışı okunabilirliğini geliştirmek ve iş akışı içindeki döngüleri kullanırken kolayca geri hedeflemek için Aracı Düğümüne açıklayıcı bir ad ekleyin.

Sistem İstemi

Hayır

Ajanın 'kişiliğini' tanımlar ve davranışına rehberlik eder. Örneğin, "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz [...]."

Onay gerektir

Hayır

Döngüdeki İnsan (HITL) özelliğini etkinleştirir. 'Doğru' olarak ayarlanırsa, Aracı Düğümü herhangi bir aracı çalıştırmadan önce insan onayı isteyecektir. Bu, özellikle hassas operasyonlar için veya insan gözetimi istendiğinde değerlidir. Varsayılan olarak 'False' değerindedir ve Aracı Düğümünün araçları otonom olarak yürütmesine izin verir.

Ek Parametreler

Gerekli
Açıklama

İnsan İstemi

Hayır

Bu istem, diziye bir insan mesajı olarak eklenir. Ajan Düğümü girdisini işledikten sonra ve bir sonraki düğüm Ajan Düğümünün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemize olanak tanır.state.messages

Onay İstemi

Hayır

HITL özelliği etkin olduğunda insan gözden geçirene sunulan özelleştirilebilir bir istem. Bu istem, aracın adı ve amacı da dahil olmak üzere aracın yürütülmesi hakkında bağlam sağlar. Bilgi istemindeki değişken, aracı tarafından önerilen gerçek araç listesiyle dinamik olarak değiştirilecek ve insan gözden geçirenin bilinçli bir karar vermesi için gerekli tüm bilgilere sahip olmasını sağlayacaktır.{tools}

Onayla düğmesi metni

Hayır

HITL arayüzünde araç yürütmeyi onaylamak için düğmede görüntülenen metni özelleştirir. Bu, dilin belirli bir bağlama göre uyarlanmasına ve insan gözden geçiren için netlik sağlanmasına olanak tanır.

Düğme Metnini Reddet

Hayır

HITL arayüzünde takım yürütmeyi reddetmek için düğmede görüntülenen metni özelleştirir. Onayla Düğmesi Metni gibi, bu özelleştirme de anlaşılırlığı artırır ve insan gözden geçirenin araç yürütmeyi gereksiz veya potansiyel olarak zararlı bulması durumunda gerçekleştirmesi gereken net bir eylem sağlar.

Güncelleme Durumu

Hayır

İş akışı içindeki paylaşılan özel Durum nesnesini değiştirmek için bir mekanizma sağlar. Bu, aracı tarafından toplanan bilgileri depolamak veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.

Maksimum Yineleme

Hayır

Bir Ajan Düğümünün tek bir iş akışı yürütmesi içinde yapabileceği yineleme sayısını sınırlar

En İyi Uygulamalar

Sistem istemini temizle

Temsilcinin rolünü ve yeteneklerini doğru bir şekilde yansıtan kısa ve net bir Sistem İstemi oluşturun. Bu, temsilcinin karar verme sürecine rehberlik eder ve tanımlanan kapsamı dahilinde hareket etmesini sağlar.

Stratejik araç seçimi

Aracı Düğümü için kullanılabilir araçları seçin ve yapılandırın, böylece aracının amacı ve iş akışının genel hedefleriyle uyumlu olduklarından emin olun.

Hassas görevler için HITL

Hassas veriler içeren, insan yargısı gerektiren veya istenmeyen sonuç riski taşıyan görevler için 'Onay İste' seçeneğini kullanın.

Özel Durum güncellemelerinden yararlanın

Toplanan bilgileri depolamak veya aşağı akış düğümlerinin davranışını etkilemek için özel State nesnesini stratejik olarak güncelleştirin.

5. LLM Düğümü

Ajan Düğümü gibi, LLM Düğümü de Sıralı Ajan mimarisinin temel bir bileşenidir. Her iki düğüm de varsayılan olarak aynı Sohbet Modellerini (LLM'ler) kullanır ve aynı temel dil işleme yeteneklerini sağlar, ancak LLM Düğümü bu kilit alanlarda kendini ayırt eder.

LLM Düğümünün temel avantajları

LLM Düğümü ve Ajan Düğümü arasında ayrıntılı bir karşılaştırma bu bölümde mevcut olsa da, LLM Düğümü'nün temel avantajlarına kısa bir genel bakış:

  • Yapılandırılmış veriler: LLM Düğümü, çıktısı için bir JSON şeması tanımlamak için özel bir özellik sağlar. Bu, LLM'nin yanıtlarından yapılandırılmış bilgileri çıkarmayı ve bu verileri iş akışındaki sonraki düğümlere iletmeyi son derece kolaylaştırır. Aracı Düğümü bu yerleşik JSON şeması özelliğine sahip değil

  • HITL: Her iki düğüm de araç yürütme için HITL'yi desteklerken, LLM Düğümü bu kontrolü Araç Düğümü'nün kendisine erteler ve iş akışı tasarımında daha fazla esneklik sağlar.

Giriş

Gerekli
Açıklama

Sohbet Modeli

Hayır

İş akışının varsayılan Sohbet Modeli'nin (LLM) üzerine yazmak için yeni bir Sohbet Modeli ekleyin. Yalnızca işlev çağırma özelliğine sahip modellerle uyumludur.

Başlangıç Düğümü

Evet

Başlangıç Düğümü'nden özel Durum (ayarlanmışsa) ve varsayılan dizinin geri kalanıyla birlikte ilk kullanıcı girişini alır.state.messages

Aracı Düğümü

Evet

Araç yürütme sonuçlarını veya aracı tarafından oluşturulan yanıtları içerebilen bir Aracı Düğümünden çıktı alır.

Koşul Düğümü

Evet

Önceki bir Koşul Düğümünden girdi alır ve LLM Düğümünün Koşul Düğümünün değerlendirmesinin sonucuna dayalı olarak harekete geçmesini veya konuşmayı yönlendirmesini sağlar.

Koşul Aracısı Düğümü

Evet

Önceki bir Koşul Aracısı Düğümünden girdi alır ve LLM Düğümünün Koşul Aracısı Düğümünün değerlendirmesinin sonucuna dayalı olarak harekete geçmesini veya konuşmayı yönlendirmesini sağlar.

LLM Düğümü

Evet

Başka bir LLM Düğümünden çıktı alır ve birden fazla LLM Düğümü arasında zincirleme akıl yürütme veya bilgi işlemeyi mümkün kılar.

Agents Düğümü

Evet

Bir Araç Düğümünden çıktı alır ve daha fazla işleme veya yanıt oluşturma için araç yürütme sonuçlarını sağlar.

LLM Düğümü, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Başlangıç Düğümü, Agents Düğümü, Koşul Düğümü, Koşul Aracı Düğümü, LLM Düğümü veya Araç Düğümü.

Düğüm Kurulumu

Gerekli
Açıklama

LLM Düğüm Adı

Evet

İş akışı okunabilirliğini artırmak ve iş akışı içinde döngüler kullanırken kolayca geri hedeflemek için LLM Düğümüne açıklayıcı bir ad ekleyin.

Çıkış

LLM Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:

  • Aracı Düğümü: LLM'nin çıktısını bir Aracı Düğümüne geçirir ve bu düğüm daha sonra bilgileri eylemlere karar vermek, araçları yürütmek veya konuşma akışını yönlendirmek için kullanabilir.

  • LLM Düğümü: Çıktıyı bir sonraki LLM Düğümüne geçirerek birden çok LLM işleminin zincirlenmesini sağlar. Bu, metin oluşturmayı iyileştirmek, birden çok analiz yapmak veya karmaşık dil işlemeyi aşamalara ayırmak gibi görevler için kullanışlıdır.

  • Araç Düğümü: Çıktıyı bir Araç Düğümüne geçirir ve LLM Düğümünün talimatlarına dayalı olarak belirli bir aracın yürütülmesini sağlar.

  • Koşul Aracısı Düğümü: Akışı bir Koşul Aracısı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için LLM Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.

  • Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, LLM Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.

  • Bitiş Düğümü: Konuşma akışını sonlandırır.

  • Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, LLM'nin çıktısını birden çok yinelemede iyileştirmek için kullanılabilir.

Ek Parametreler

Gerekli
Açıklama

Sistem İstemi

Hayır

Ajanın 'kişiliğini' tanımlar ve davranışına rehberlik eder. Örneğin, "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz [...]."

İnsan İstemi

Hayır

Bu istem, diziye bir insan mesajı olarak eklenir. LLM Düğümü girdisini işledikten sonra ve bir sonraki düğüm LLM Düğümü'nün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemizi sağlar.state.messages

JSON Yapılandırılmış Çıktı

Hayır

LLM'ye (Sohbet Modeli) JSON yapı şemasında (Anahtar, Tür, Enum Değerleri, Açıklama) çıktıyı sağlaması talimatını vermek.

Güncelleme Durumu

Hayır

İş akışı içindeki paylaşılan özel Durum nesnesini değiştirmek için bir mekanizma sağlar. Bu, LLM Düğümü tarafından toplanan bilgileri depolamak veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.

En İyi Uygulamalar

Sistem istemini temizle

LLM Düğümünün rolünü ve yeteneklerini doğru bir şekilde yansıtan kısa ve net bir Sistem İstemi oluşturun. Bu, LLM Düğümünün karar vermesine rehberlik eder ve tanımlanmış kapsamı dahilinde hareket etmesini sağlar.

Yapılandırılmış çıktı için optimize edin

Temel veri öğelerine odaklanarak JSON şemalarınızı mümkün olduğunca basit tutun. JSON Yapılandırılmış Çıktıyı yalnızca LLM'nin yanıtından belirli veri noktalarını ayıklamanız gerektiğinde veya aşağı akış düğümleri JSON girişi gerektirdiğinde etkinleştirin.

Stratejik araç seçimi

LLM Düğümü için mevcut araçları seçin ve yapılandırın (Araç Düğümü aracılığıyla), uygulama amacı ve iş akışının genel hedefleri ile uyumlu olduklarından emin olun.

Hassas görevler için HITL

Hassas veriler içeren, insan yargısı gerektiren veya istenmeyen sonuç riski taşıyan görevler için 'Onay İste' seçeneğini kullanın.

Durum güncellemelerinden yararlanın

Toplanan bilgileri depolamak veya aşağı akış düğümlerinin davranışını etkilemek için özel State nesnesini stratejik olarak güncelleştirin.

6. Takım Düğümü

Araç Düğümü, Flow'un Sıralı Ajan sisteminin değerli bir bileşenidir ve harici araçların konuşma iş akışlarına entegrasyonunu ve yürütülmesini sağlar. LLM Düğümlerinin dil tabanlı işlenmesi ile harici araçların, API'lerin veya hizmetlerin özel işlevleri arasında bir köprü görevi görür.

Araç Düğümünü Anlama

Araç Düğümü'nün birincil işlevi, bir LLM Düğümünden alınan talimatlara dayalı olarak harici araçları yürütmek ve araç yürütme sürecinde Döngüdeki İnsan (HITL) müdahalesi için esneklik sağlamaktır.

İşte nasıl çalıştığına dair adım adım bir açıklama

  1. Araç Çağrısı Alımı: Araç Düğümü, bir LLM Düğümünden girdi alır. LLM'nin çıktısı özelliği içeriyorsa, Araç Düğümü araç yürütmeye devam eder.tool_calls

  2. İdam: Araç Düğümü, LLM'leri (araç adını ve gerekli parametreleri içeren) belirtilen harici araca doğrudan iletir. Aksi takdirde, Araç Düğümü söz konusu iş akışı yürütmesinde herhangi bir araç çalıştırmaz. LLM'nin çıktısını hiçbir şekilde işlemez veya yorumlamaz.tool_calls

  3. Döngüdeki İnsan (HITL): Araç Düğümü, isteğe bağlı HITL'ye izin vererek, takım yürütmesinin gerçekleşmeden önce insan tarafından gözden geçirilmesini ve onaylanmasını veya reddedilmesini sağlar.

  4. Çıktı geçişi: Araç yürütmeden sonra (otomatik veya HITL onayından sonra), Araç Düğümü aracın çıktısını alır ve iş akışındaki bir sonraki düğüme iletir. Araç Düğümünün çıktısı sonraki bir düğüme bağlı değilse, aracın çıktısı daha fazla işlem için orijinal LLM Düğümüne geri gönderilir.

Giriş

Gerekli
Açıklama

LLM Düğümü

Evet

Çıktıyı, özellik içerebilen veya içermeyebilen bir LLM Düğümünden alır. Varsa, Araç Düğümü belirtilen aracı çalıştırmak için bunları kullanacaktır.tool_calls

Harici Araçlar

Hayır

Araç Düğümüne, eylemler gerçekleştirmesini ve bilgi almasını sağlayan bir dizi harici araca erişim sağlar.

Düğüm Kurulumu

Gerekli
Açıklama

Araç Düğümü Adı

Evet

İş akışı okunabilirliğini geliştirmek için Araç Düğümüne açıklayıcı bir ad ekleyin.

Onay Gerektir (HITL)

Hayır

Döngüdeki İnsan (HITL) özelliğini etkinleştirir. 'Doğru' olarak ayarlanırsa, Araç Düğümü herhangi bir aracı çalıştırmadan önce insan onayı isteyecektir. Bu, özellikle hassas operasyonlar için veya insan gözetimi istendiğinde değerlidir. Varsayılan olarak 'False' değerindedir ve Araç Düğümünün araçları otonom olarak yürütmesine izin verir.

Çıkış

Araç Düğümü aşağıdaki düğümlere çıkış olarak bağlanabilir:

  • Aracı Düğümü: Araç Düğümünün çıktısını (yürütülen aracın sonucu) bir Aracı Düğümüne geçirir. Temsilci Düğümü daha sonra bu bilgileri eylemlere karar vermek, daha fazla araç yürütmek veya konuşma akışını yönlendirmek için kullanabilir.

  • LLM Düğümü: Çıktıyı sonraki bir LLM Düğümüne geçirir. Bu, araç sonuçlarının LLM'nin işlenmesine entegrasyonunu sağlayarak, aracın çıktısına dayalı olarak konuşma akışının daha fazla analizine veya iyileştirilmesine olanak tanır.

  • Koşul Aracısı Düğümü: Akışı bir Koşul aracı Düğümüne yönlendirir. Bu düğüm, iş akışındaki uygun sonraki adımı belirlemek için Araç Düğümünün çıktısını ve önceden tanımlanmış koşullarını değerlendirir.

  • Koşul Düğümü: Koşul Aracısı Düğümüne benzer şekilde, Koşul Düğümü, Araç Düğümünün çıktısını değerlendirmek için önceden tanımlanmış koşulları kullanır ve sonucu temel olarak akışı farklı dallar boyunca yönlendirir.

  • Bitiş Düğümü: Konuşma akışını sonlandırır.

  • Döngü Düğümü: Akışı önceki bir düğüme geri yönlendirerek iş akışı içinde yinelemeli veya döngüsel süreçleri etkinleştirir. Bu, birden çok araç yürütmesi gerektiren veya araç sonuçlarına göre konuşmayı iyileştirmeyi içeren görevler için kullanılabilir.

Ek Parametreler

Gerekli
Açıklama

Onay İstemi

Hayır

HITL özelliği etkin olduğunda insan gözden geçirene sunulan özelleştirilebilir bir istem. Bu istem, aracın adı ve amacı da dahil olmak üzere aracın yürütülmesi hakkında bağlam sağlar. Bilgi istemindeki değişken, LLM Düğümü tarafından önerilen gerçek araç listesiyle dinamik olarak değiştirilecek ve insan gözden geçirenin bilinçli bir karar vermek için gerekli tüm bilgilere sahip olmasını sağlayacaktır.{tools}

Onayla düğmesi metni

Hayır

HITL arayüzünde araç yürütmeyi onaylamak için düğmede görüntülenen metni özelleştirir. Bu, dilin belirli bir bağlama göre uyarlanmasına ve insan gözden geçiren için netlik sağlanmasına olanak tanır.

Düğme Metnini Reddet

Hayır

HITL arayüzünde takım yürütmeyi reddetmek için düğmede görüntülenen metni özelleştirir. Onayla Düğmesi Metni gibi, bu özelleştirme de anlaşılırlığı artırır ve insan gözden geçirenin araç yürütmeyi gereksiz veya potansiyel olarak zararlı bulması durumunda gerçekleştirmesi gereken net bir eylem sağlar.

Güncelleme Durumu

Hayır

İş akışı içindeki özel State nesnesini değiştirmek için bir mekanizma sağlar. Bu, Araç Düğümü tarafından toplanan bilgileri depolamak (araç yürütüldükten sonra) veya sonraki düğümlerin davranışını etkilemek için kullanışlıdır.

En İyi Uygulamalar

Stratejik HITL yerleşimi

Hangi araçların insan gözetimi (HITL) gerektirdiğini göz önünde bulundurun ve buna göre "Onay İste" seçeneğini etkinleştirin.

Bilgilendirici Onay İstemleri

HITL kullanırken, insan gözden geçirenler için açık ve bilgilendirici istemler tasarlayın. Konuşmadan yeterli bağlam sağlayın ve aracın amaçlanan eylemini özetleyin.

7. Durum Düğümü

Koşul Düğümü, Sıralı Ajan iş akışlarında bir karar verme noktası görevi görür ve akışın bir sonraki yolunu belirlemek için önceden tanımlanmış bir dizi koşulu değerlendirir.

Koşul düğümünü anlama

Koşul Düğümü, farklı durumlara ve kullanıcı girdilerine uyum sağlayan iş akışları oluşturmak için gereklidir. Değiş tokuş edilen tüm iletileri ve daha önce tanımlanmış tüm özel Durum değişkenlerini içeren konuşmanın geçerli Durumunu inceler. Ardından, düğüm kurulumunda belirtilen koşulların değerlendirilmesine bağlı olarak, Koşul Düğümü akışı çıkışlarından birine yönlendirir.

Örneğin, bir Ajan veya LLM Düğümü bir yanıt verdikten sonra, bir Koşul Düğümü, yanıtın belirli bir anahtar kelime içerip içermediğini veya özel Durumda belirli bir koşulun karşılanıp karşılanmadığını kontrol edebilir. Varsa, akış daha fazla eylem için bir Aracı Düğümüne yönlendirilebilir. Aksi takdirde, belki konuşmayı sonlandırarak veya kullanıcıdan ek sorular sorarak farklı bir yola yol açabilir.

Bu, iş akışımızda, izlenen yolun sistemden akan verilere bağlı olduğu dallar oluşturmamızı sağlar.

İşte nasıl çalıştığına dair adım adım bir açıklama

  1. Koşul Düğümü, önceki herhangi bir düğümden girdi alır: Başlangıç Düğümü, Aracı Düğümü, LLM Düğümü veya Araç Düğümü.

  2. Tam konuşma geçmişine ve özel Duruma (varsa) erişimi vardır ve bu da ona çalışmak için bol miktarda bağlam sağlar.

  3. Düğümün değerlendireceği bir koşul tanımlarız. Bu, anahtar kelimeleri kontrol etmek, durumdaki değerleri karşılaştırmak veya JavaScript aracılığıyla uygulayabileceğimiz başka herhangi bir mantık olabilir.

  4. Koşulun doğru veya yanlış olarak değerlendirilmesine bağlı olarak, Koşul Düğümü akışı önceden tanımlanmış çıkış yollarından birine gönderir. Bu, iş akışımız için bir "yol ayrımı" veya dal oluşturur.

Koşullar nasıl ayarlanır?

Koşul Düğümü, konuşma akışını kontrol edecek koşulları tanımlamak için tablo tabanlı bir arayüz veya bir JavaScript kod düzenleyicisi seçerek iş akışımızda dinamik dallanma mantığını tanımlamamıza olanak tanır.

KOD kullanan koşullar

Koşul Düğümü, konuşma akışındaki belirli koşulları değerlendirmek için JavaScript kullanır.

Konuşmanın bağlamına bağlı olarak iş akışını dinamik olarak farklı dallara yönlendirmek için anahtar kelimelere, Durum değişikliklerine veya diğer faktörlere dayalı koşullar ayarlayabiliriz. İşte bazı örnekler:

Anahtar kelime koşulu

Bu, konuşma geçmişinde belirli bir kelime veya ifadenin bulunup bulunmadığını kontrol eder.

  • Örnek: Kullanıcının son mesajında "evet" deyip demediğini kontrol etmek istiyoruz.

Kopya etmek

  1. Bu kod, state.messages'dan gelen son mesajı alır ve "evet" içerip içermediğini kontrol eder.

  2. "Evet" bulunursa, akış "Çıkış 1" e gider; aksi takdirde "Çıkış 2" ye gider.

Durum değişikliği koşulu

Bu, özel Durumdaki belirli bir değerin istenen bir değere değişip değişmediğini denetler.

  • Örnek: Özel Durumumuzdaki bir orderStatus değişkenini izliyoruz ve "onaylandı" olup olmadığını kontrol etmek istiyoruz.

Kopya etmek

  1. Bu kod, özel Durumumuzdaki orderStatus değerini doğrudan "confirmed" ile karşılaştırır.

  2. Eşleşirse, akış "Çıkış 1" e gider; aksi takdirde "Çıkış 2" ye gider.

TABLO kullanan koşullar

Koşul Düğümü, kullanıcı dostu bir tablo arayüzü kullanarak koşulları tanımlamamıza olanak tanıyarak JavaScript kodu yazmadan dinamik iş akışları oluşturmayı kolaylaştırır.

Konuşma akışını farklı dallar boyunca yönlendirmek için anahtar kelimelere, Durum değişikliklerine veya diğer faktörlere dayalı koşullar ayarlayabilirsiniz. İşte bazı örnekler:

Anahtar kelime koşulu

Bu, konuşma geçmişinde belirli bir kelime veya ifadenin bulunup bulunmadığını kontrol eder.

  • Örnek: Kullanıcının son mesajında "evet" deyip demediğini kontrol etmek istiyoruz.

  • Kurulum

    Değişken

    İşlem

    Değer

    Çıktı Adı

    $flow.state.messages[-1].content

    Dir

    Evet

    Çıktı 1

    1. Bu tablo girişi, içindeki son mesajın ([-1]) içeriğinin (.content) "Evet"e eşit olup olmadığını kontrol eder.state.messages

    2. Koşul karşılanırsa, akış "Çıkış 1" e gider. Aksi takdirde, iş akışı varsayılan bir "Son" çıkışına yönlendirilir.

Durum değişikliği koşulu

Bu, özel Durumumuzdaki belirli bir değerin istenen bir değere değişip değişmediğini kontrol eder.

  • Örnek: Özel Durumumuzda bir orderStatus değişkenini izliyoruz ve bunun "onaylandı" olup olmadığını kontrol etmek istiyoruz.

  • Kurulum

    Değişken

    İşlem

    Değer

    Çıktı Adı

    $flow.state.orderStatus

    Dir

    Doğruladı

    Çıktı 1

    1. Bu tablo girişi, özel Durumdaki orderStatus değerinin "confirmed" değerine eşit olup olmadığını denetler.

    2. Koşul karşılanırsa, akış "Çıkış 1" e gider. Aksi takdirde, iş akışı varsayılan bir "Son" çıkışına yönlendirili

Tablo arayüzünü kullanarak koşulları tanımlama

Bu görsel yaklaşım, kullanıcı girişi, konuşmanın mevcut durumu veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçları gibi faktörlere dayalı olarak konuşma akışınızın yolunu belirleyen kuralları kolayca ayarlamanıza olanak tanır.

Tablo tabanlı: koşul düğümü

///buraya tablo konulmuş ama ekleyemiyorum. kopyala yapıştırı da zaten kabul etmiyor.

Giriş

Gerekli
Açıklama

Başlangıç Düğümü

Evet

Durumu Başlangıç Düğümü'nden alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere konuşmanın ilk bağlamına dayalı olarak koşulları değerlendirmesine olanak tanır.

Aracı Düğümü

Evet

Aracı Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere temsilcinin eylemlerine ve konuşma geçmişine dayalı kararlar vermesini sağlar.

LLM Düğümü

Evet

LLM Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere LLM'nin yanıtına ve konuşma geçmişine dayalı olarak koşulları değerlendirmesine olanak tanır.

Araç Düğümü

Evet

Araç Düğümünün çıktısını alır. Bu, Koşul Düğümünün, herhangi bir özel Durum da dahil olmak üzere araç yürütme sonuçlarına ve konuşma geçmişine dayalı kararlar vermesini sağlar.

Koşul Düğümü, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Başlangıç Düğümü, Aracı Düğümü, LLM Düğümü veya Araç Düğümü.

Çıkış

Koşul Düğümü, tablo tabanlı arabirimi veya JavaScript'i kullanarak önceden tanımlanmış koşullara göre çıkış yolunu dinamik olarak belirler. Bu, koşul değerlendirmelerine dayalı olarak iş akışını yönlendirmede esneklik sağlar.

Koşul değerlendirme mantığı

  • Tablo Tabanlı koşullar: Tabloda yer alan koşullar yukarıdan aşağıya doğru sıralı olarak değerlendirilir. Doğru olarak değerlendirilen ilk koşul, karşılık gelen çıktısını tetikler. Önceden tanımlanmış koşullardan hiçbiri karşılanmazsa, iş akışı varsayılan "Son" çıkışına yönlendirilir.

  • Kod Tabanlı koşullar: JavaScript kullanırken, varsayılan "Bitiş" çıktısı için bir ad da dahil olmak üzere, istenen çıktı yolunun adını açıkça döndürmeliyiz.

  • Tek çıkış yolu: Aynı anda yalnızca bir çıkış yolu etkinleştirilir. Birden çok koşul doğru olsa bile, akışı yalnızca ilk eşleşen koşul belirler.

Çıkışların bağlanması

Varsayılan "Bitiş" çıkışı da dahil olmak üzere önceden tanımlanmış her çıkış, aşağıdaki düğümlerden herhangi birine bağlanabilir:

  • Aracı Düğümü: Bir temsilciyle görüşmeye devam etmek, potansiyel olarak durumun sonucuna göre eylemler gerçekleştirmek.

  • LLM Düğümü: Mevcut Durumu ve konuşma geçmişini bir LLM ile işlemek, yanıtlar oluşturmak veya daha fazla karar almak.

  • Bitiş Düğümü: Konuşma akışını sonlandırmak için. Varsayılan "Bitiş" çıkışı da dahil olmak üzere herhangi bir çıktı bir Uç Düğüme bağlıysa, Koşul Düğümü önceki düğümden gelen son yanıtı verir ve iş akışını sonlandırır.

  • Döngü Düğümü: Akışı önceki bir sıralı düğüme geri yönlendirmek ve koşulun sonucuna göre yinelemeli süreçleri etkinleştirmek için.

Düğüm Kurulumu

Gerekli
Açıklama

Koşul Düğümü Adı

Hayır

Değerlendirilen koşul için isteğe bağlı, insan tarafından okunabilir bir ad. Bu, iş akışını bir bakışta anlamak için yararlıdır.

Koşul

Evet

Çıkış yollarını belirlemek için değerlendirilecek mantığı burada tanımlıyoruz.

En İyi Uygulamalar

Koşul adlandırmayı temizle

İş akışınızın daha kolay anlaşılmasını ve hata ayıklamasını sağlamak için koşullarınız için açıklayıcı adlar kullanın (ör. "Kullanıcı 18 yaşın altındaysa Policy Advisor Aracısı", "Sipariş onaylanırsa Bitiş Düğümü").

Basit koşullara öncelik verin

Basit koşullarla başlayın ve gerektiğinde karmaşıklığı kademeli olarak ekleyin. Bu, iş akışınızı daha yönetilebilir hale getirir ve hata riskini azaltır.

8. Durum Aracısı Düğümü

Koşul Aracısı Düğümü, Sıralı Aracı akışları içinde dinamik ve akıllı yönlendirme sağlar. LLM Düğümünün (LLM ve JSON Yapılandırılmış Çıktı) ve Koşul Düğümünün (kullanıcı tanımlı koşullar) yeteneklerini birleştirerek, tek bir düğüm içinde ajan tabanlı akıl yürütme ve koşullu mantıktan yararlanmamızı sağlar.

Temel işlevler

  • Birleşik aracı tabanlı yönlendirme: Aracı mantığını, yapılandırılmış çıktıyı ve koşullu mantığı tek bir düğümde birleştirerek iş akışı tasarımını basitleştirir.

  • Bağlamsal farkındalık: Temsilci, koşulları değerlendirirken tüm konuşma geçmişini ve herhangi bir özel Durumu dikkate alır.

  • Esneklik: Farklı kullanıcı tercihlerine ve beceri düzeylerine hitap ederken koşulları tanımlamak için hem tablo tabanlı hem de kod tabanlı seçenekler sunar.

Koşul Aracısı Düğümünü ayarlama

Koşul Aracısı Düğümü, hem bilgileri işleyebilen hem de yönlendirme kararları verebilen özel bir aracı olarak hareket eder. Bunu nasıl yapılandıracağınız aşağıda açıklanmıştır:

  1. Temsilcinin kişiliğini tanımlayın

    • "Sistem İstemi" alanında, aracının rolünün ve koşullu yönlendirme için gerçekleştirmesi gereken görevin açık ve özlü bir tanımını sağlayın. Bu istem, temsilcinin konuşmayı anlamasına ve karar verme sürecine rehberlik edecektir.

  2. Aracının çıkışını yapılandırma (isteğe bağlı)

    • Aracının yapılandırılmış çıktı üretmesini istiyorsanız, "JSON Yapılandırılmış Çıktı" özelliğini kullanın. Anahtarları, veri türlerini ve sabit listesi değerlerini belirterek çıktı için istenen şemayı tanımlayın. Bu yapılandırılmış çıktı, aracı tarafından koşulları değerlendirirken kullanılacaktır.

  3. Koşulları tanımlayın

    • Yönlendirme davranışını belirleyecek koşulları tanımlamak için tablo tabanlı arabirimi veya JavaScript kod düzenleyicisini seçin.

      • Tablo Tabanlı arayüz: Tabloya satırlar ekleyin, denetlenecek değişkeni, karşılaştırma işlemini, karşılaştırılacak değeri ve koşul karşılanırsa izlenecek çıkış adını belirtin.

      • JavaScript kodu: Koşulları değerlendirmek için özel JavaScript parçacıkları yazın. Koşulun sonucuna bağlı olarak izlenecek çıkış yolunun adını belirtmek için deyimini kullanın. return

  4. Çıkışları bağlayın

    • Varsayılan "Son" çıkışı da dahil olmak üzere önceden tanımlanmış her çıktıyı iş akışındaki uygun sonraki düğüme bağlayın. Bu bir Ajan Düğümü, LLM Düğümü, Döngü Düğümü veya bir Uç Düğüm olabilir.

Koşullar nasıl ayarlanır?

Koşul Aracısı Düğümü, konuşma akışını kontrol edecek koşulları tanımlamak için tablo tabanlı bir arayüz veya bir JavaScript kod düzenleyicisi seçerek iş akışımızda dinamik dallanma mantığını tanımlamamıza olanak tanır.

KOD kullanan koşullar

Koşul Aracısı Düğümü, Koşul Düğümü gibi, konuşma akışındaki belirli koşulları değerlendirmek için JavaScript kodunu kullanır.

Bununla birlikte, Koşul Aracısı Düğümü, anahtar sözcükler, durum değişiklikleri ve kendi çıktısının içeriği (serbest biçimli metin veya yapılandırılmış JSON verileri olarak) dahil olmak üzere daha geniş bir faktör yelpazesine dayalı olarak koşulları değerlendirebilir. Bu, daha incelikli ve bağlama duyarlı yönlendirme kararlarına olanak tanır. İşte bazı örnekler:

Anahtar kelime koşulu

Bu, konuşma geçmişinde belirli bir kelime veya ifadenin bulunup bulunmadığını kontrol eder.

  • Örnek: Kullanıcının son mesajında "evet" deyip demediğini kontrol etmek istiyoruz.

Kopya etmek

  1. Bu kod, state.messages'dan gelen son mesajı alır ve "evet" içerip içermediğini kontrol eder.

  2. "Evet" bulunursa, akış "Çıkış 1" e gider; aksi takdirde "Çıkış 2" ye gider.

Durum değişikliği koşulu

Bu, özel Durumdaki belirli bir değerin istenen bir değere değişip değişmediğini denetler.

  • Örnek: Özel Durumumuzdaki bir orderStatus değişkenini izliyoruz ve "onaylandı" olup olmadığını kontrol etmek istiyoruz.

Kopya etmek

  1. Bu kod, özel Durumumuzdaki orderStatus değerini doğrudan "confirmed" ile karşılaştırır.

  2. Eşleşirse, akış "Çıkış 1" e gider; aksi takdirde "Çıkış 2" ye gider

TABLO kullanan koşullar

Koşul Aracısı Düğümü, koşulları tanımlamak için Koşul Düğümüne benzer şekilde kullanıcı dostu bir tablo arayüzü de sağlar. Anahtar sözcüklere, durum değişikliklerine veya aracının kendi çıkışına göre koşullar ayarlayabilir ve JavaScript kodu yazmadan dinamik iş akışları oluşturmanıza olanak tanıyabilirsiniz.

Bu tablo tabanlı yaklaşım, koşul yönetimini basitleştirir ve dallanma mantığını görselleştirmeyi kolaylaştırır. İşte bazı örnekler:

Anahtar kelime koşulu

Bu, konuşma geçmişinde belirli bir kelime veya ifadenin bulunup bulunmadığını kontrol eder.

  • Örnek: Kullanıcının son mesajında "evet" deyip demediğini kontrol etmek istiyoruz.

  • Kurulum

    Değişken

    İşlem

    Değer

    Çıktı Adı

    $flow.state.messages[-1].content

    Dir

    Evet

    Çıktı 1

    1. Bu tablo girişi, içindeki son mesajın ([-1]) içeriğinin (.content) "Evet"e eşit olup olmadığını kontrol eder.state.messages

    2. Koşul karşılanırsa, akış "Çıkış 1" e gider. Aksi takdirde, iş akışı varsayılan bir "Son" çıkışına yönlendirilir.

Durum değişikliği koşulu

Bu, özel Durumumuzdaki belirli bir değerin istenen bir değere değişip değişmediğini kontrol eder.

  • Örnek: Özel Durumumuzda bir orderStatus değişkenini izliyoruz ve bunun "onaylandı" olup olmadığını kontrol etmek istiyoruz.

  • Kurulum

    Değişken

    İşlem

    Değer

    Çıktı Adı

    $flow.state.orderStatus

    Dir

    Doğruladı

    Çıktı 1

    1. Bu tablo girişi, özel Durumdaki orderStatus değerinin "confirmed" değerine eşit olup olmadığını denetler.

    2. Koşul karşılanırsa, akış "Çıkış 1" e gider. Aksi takdirde, iş akışı varsayılan bir "Son" çıkışına yönlendirilir

Tablo arayüzünü kullanarak koşulları tanımlama

Bu görsel yaklaşım, kullanıcı girişi, konuşmanın mevcut durumu veya diğer düğümler tarafından gerçekleştirilen eylemlerin sonuçları gibi faktörlere dayalı olarak konuşma akışınızın yolunu belirleyen kuralları kolayca ayarlamanıza olanak tanır.

Tablo Tabanlı: koşul aracısı düğümü

09/08/2024 tarihinde güncellendi.

TABLOYU EKLEYEMEDİM.

Giriş

Gerekli
Açıklama

Başlangıç Düğümü

Evet

Durumu Başlangıç Düğümü'nden alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere konuşmanın ilk bağlamına dayalı olarak koşulları değerlendirmesine olanak tanır.

Aracı Düğümü

Evet

Aracı Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere temsilcinin eylemlerine ve konuşma geçmişine dayalı kararlar vermesini sağlar.

LLM Düğümü

Evet

LLM Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere LLM'nin yanıtına ve konuşma geçmişine dayalı olarak koşulları değerlendirmesine olanak tanır.

Araç Düğümü

Evet

Araç Düğümünün çıktısını alır. Bu, Koşul Aracısı Düğümünün, herhangi bir özel Durum da dahil olmak üzere araç yürütme sonuçlarına ve konuşma geçmişine dayalı kararlar vermesini sağlar.

Koşul Aracısı Düğümü, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Başlangıç Düğümü, Aracı Düğümü, LLM Düğümü veya Araç Düğümü.

Düğüm Kurulumu

Parametre
Gerekli
Açıklama

Ad

Hayır

İş akışı okunabilirliğini geliştirmek ve kolayca geliştirmek için Koşul Aracısı Düğümüne açıklayıcı bir ad ekleyin.

Koşul

Evet

Çıkış yollarını belirlemek için değerlendirilecek mantığı burada tanımlıyoruz.

Çıkış

Koşul Aracısı Düğümü, Koşul Düğümü gibi, tablo tabanlı arabirimi veya JavaScript'i kullanarak tanımlanan koşullara göre çıkış yolunu dinamik olarak belirler. Bu, koşul değerlendirmelerine dayalı olarak iş akışını yönlendirmede esneklik sağlar.

Koşul değerlendirme mantığı

  • Tablo Tabanlı koşullar: Tabloda yer alan koşullar yukarıdan aşağıya doğru sıralı olarak değerlendirilir. Doğru olarak değerlendirilen ilk koşul, karşılık gelen çıktısını tetikler. Önceden tanımlanmış koşullardan hiçbiri karşılanmazsa, iş akışı varsayılan "Son" çıkışına yönlendirilir.

  • Kod Tabanlı koşullar: JavaScript kullanırken, varsayılan "Bitiş" çıktısı için bir ad da dahil olmak üzere, istenen çıktı yolunun adını açıkça döndürmeliyiz.

  • Tek çıkış yolu: Aynı anda yalnızca bir çıkış yolu etkinleştirilir. Birden çok koşul doğru olsa bile, akışı yalnızca ilk eşleşen koşul belirler.

Çıkışların bağlanması

Varsayılan "Bitiş" çıkışı da dahil olmak üzere önceden tanımlanmış her çıkış, aşağıdaki düğümlerden herhangi birine bağlanabilir:

  • Aracı Düğümü: Bir temsilciyle görüşmeye devam etmek, potansiyel olarak durumun sonucuna göre eylemler gerçekleştirmek.

  • LLM Düğümü: Mevcut Durumu ve konuşma geçmişini bir LLM ile işlemek, yanıtlar oluşturmak veya daha fazla karar almak.

  • Bitiş Düğümü: Konuşma akışını sonlandırmak için. Varsayılan "Son" çıkışı bir Uç Düğüme bağlıysa, Koşul Düğümü önceki düğümden son yanıtı çıkaracak ve konuşmayı sonlandıracaktır.

  • Döngü Düğümü: Akışı önceki bir sıralı düğüme geri yönlendirmek ve koşulun sonucuna göre yinelemeli süreçleri etkinleştirmek için.

Koşul Düğümünden temel farklar

  • Koşul Aracısı Düğümü, bir aracının akıl yürütmesini ve yapılandırılmış çıktısını koşul değerlendirme sürecine dahil eder.

  • Aracı tabanlı koşul yönlendirmeye daha tümleşik bir yaklaşım sağlar.

Ek Parametreler

Gerekli
Açıklama

Sistem İstemi

Hayır

Koşul Aracısı'nın 'kişiliğini' tanımlar ve yönlendirme kararları vermek için davranışına rehberlik eder. Örneğin: "Teknik destek konusunda uzmanlaşmış bir müşteri hizmetleri temsilcisisiniz. Amacınız, müşterilerimize ürünümüzle ilgili teknik konularda yardımcı olmaktır. Kullanıcının sorgusuna bağlı olarak, belirli teknik sorunu (örneğin, bağlantı sorunları, yazılım hataları, donanım arızaları) tanımlayın."

İnsan İstemi

Hayır

Bu istem, diziye bir insan mesajı olarak eklenir. Koşul Aracısı Düğümü girdisini işledikten sonra ve bir sonraki düğüm Koşul Aracısı Düğümünün çıktısını almadan önce konuşma akışına insan benzeri bir mesaj enjekte etmemize olanak tanır.state.messages

JSON Yapılandırılmış Çıktı

Hayır

Koşul Aracısı Düğümüne JSON yapı şemasında (Anahtar, Tür, Enum Değerleri, Açıklama) çıktıyı sağlamasını bildirmek için.

Net ve odaklanmış bir sistem istemi oluşturun

Sistem İstemi'nde temsilciye iyi tanımlanmış bir kişilik ve net talimatlar sağlayın. Bu, akıl yürütmesine rehberlik edecek ve koşullu mantık için ilgili çıktıyı oluşturmasına yardımcı olacaktır.

Güvenilir koşullar için yapı çıktısı

Koşul Aracısı'nın çıktısı için bir şema tanımlamak üzere JSON Yapılandırılmış Çıktı özelliğini kullanın. Bu, çıktının tutarlı ve kolayca ayrıştırılabilir olmasını sağlayarak koşullu değerlendirmelerde kullanım için daha güvenilir hale getirir.

9. Döngü Düğümü

Döngü Düğümü, konuşma akışımız içinde döngüler oluşturmamıza ve konuşmayı belirli bir noktaya geri yönlendirmemize olanak tanır. Bu, kullanıcı girişine veya belirli koşullara dayalı olarak belirli bir eylem veya soru dizisini tekrarlamamız gereken senaryolar için kullanışlıdır.

Döngü düğümünü anlama

Döngü Düğümü, akışı grafikteki belirli bir noktaya geri yönlendiren bir bağlayıcı görevi görür ve konuşma akışımız içinde döngüler oluşturmamıza olanak tanır. Döngü Düğümünden önceki düğümün çıktısını içeren mevcut Durumu hedef düğümümüze iletir. Bu veri aktarımı, hedef düğümümüzün döngünün önceki yinelemesindeki bilgileri işlemesine ve davranışını buna göre ayarlamasına olanak tanır.

Örneğin, kullanıcıların uçuş rezervasyonu yapmasına yardımcı olan bir sohbet robotu oluşturduğumuzu varsayalım. Kullanıcı geri bildirimlerine dayalı olarak arama kriterlerini yinelemeli olarak iyileştirmek için bir döngü kullanabiliriz.

Döngü Düğümü şu şekilde kullanılabilir:

  1. LLM Düğümü (İlk Arama): LLM Düğümü, kullanıcının ilk uçuş talebini alır (örneğin, "Temmuz ayında Madrid'den New York'a uçuş bulun"). Bir uçuş arama API'sini sorgular ve olası uçuşların bir listesini döndürür.

  2. Ajan Düğümü (Mevcut Seçenekler): Temsilci Düğümü, kullanıcıya uçuş seçeneklerini sunar ve aramalarını daraltmak isteyip istemediklerini sorar (örneğin, "Fiyata, havayoluna veya kalkış saatine göre filtrelemek ister misiniz?").

  3. Koşul Aracısı Düğümü: Koşul Aracısı Düğümü kullanıcının yanıtını kontrol eder ve iki çıktıya sahiptir:

    • Kullanıcı hassaslaştırmak isterse: Akış, "Aramayı Rafine Et" LLM Düğümüne gider.

    • Kullanıcı sonuçlardan memnunsa: Akış, rezervasyon işlemine devam eder.

  4. LLM Düğümü (Aramayı İyileştir): Bu LLM Düğümü, kullanıcının iyileştirme kriterlerini toplar (örneğin, "Bana yalnızca 500 doların altındaki uçuşları göster") ve Durumu yeni arama parametreleriyle günceller.

  5. Döngü Düğümü: Döngü Düğümü, akışı ilk LLM Düğümüne ("İlk Arama") geri yönlendirir. Artık iyileştirilmiş arama kriterlerini içeren güncelleştirilmiş Durum'u geçer.

  6. İterasyon: İlk LLM Düğümü, rafine edilmiş kriterleri kullanarak yeni bir arama gerçekleştirir ve işlem 2. adımdan itibaren tekrarlanır.

Bu örnekte, Döngü Düğümü yinelemeli bir arama iyileştirme işlemini etkinleştirir. Sistem, kullanıcı sunulan seçeneklerden memnun kalana kadar geri dönmeye ve arama sonuçlarını iyileştirmeye devam edebilir.

Giriş

Gerekli
Açıklama

Aracı Düğümü

Evet

Önceki bir Aracı Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.

LLM Düğümü

Evet

Önceki bir LLM Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.

Araç Düğümü

Evet

Önceki bir Araç Düğümü'nün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.

Koşul Düğümü

Evet

Önceki bir Koşul Düğümü'nün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.

Koşul Aracısı Düğümü

Evet

Önceki bir Koşul Aracısı Düğümünün çıktısını alır. Bu veriler daha sonra "Loop To" parametresinde belirtilen hedef düğüme geri gönderilir.

Döngü Düğümü, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Ajan Düğümü, LLM Düğümü, Araç Düğümü, Koşul Düğümü veya Koşul Aracı Düğümü.

Düğüm Kurulumu

Gerekli
Açıklama

Döngü

Evet

Döngü Düğümü, konuşma akışının yeniden yönlendirilmesi gereken hedef düğümü ("Döngü To") belirtmemizi gerektirir. Bu hedef düğüm bir Ajan Düğümü veya LLM Düğümü olmalıdır.

Çıkış

Döngü Düğümünün herhangi bir doğrudan çıkış bağlantısı yoktur. Akışı, grafikteki belirli sıralı düğüme geri yönlendirir.

En iyi uygulamalar

Net döngü amacı

İş akışınızdaki her döngü için net bir amaç tanımlayın. Mümkünse, döngü ile ne elde etmeye çalıştığınızı yapışkan bir notla belgeleyin.

10. Uç Düğüm

Bitiş Düğümü, Sıralı Aracı iş akışında konuşmanın kesin sonlandırma noktasını işaretler. Daha fazla işlem, eylem veya etkileşim gerekmediğini belirtir.

Giriş

Gerekli
Açıklama

Aracı Düğümü

Evet

Aracının işlemesinin sonunu belirten önceki bir Aracı Düğümünden son çıktıyı alır.

LLM Düğümü

Evet

Önceki bir LLM Düğümünden, LLM Düğümünün işleminin sonunu gösteren son çıktıyı alır.

Araç Düğümü

Evet

Önceki bir Araç Düğümünden, Araç Düğümünün yürütülmesinin tamamlandığını gösteren son çıktıyı alır.

Koşul Düğümü

Evet

Koşul Düğümü'nün yürütülmesinin sonunu belirten önceki bir Koşul Düğümü'nden son çıktıyı alır.

Koşul Aracısı Düğümü

Evet

Koşul Aracısı Düğümü'nün işlemesinin tamamlandığını gösteren önceki bir Koşul Düğümü'nden son çıktıyı alır.

Uç Düğüm, aşağıdaki düğümlerden en az bir bağlantı gerektirir: Ajan Düğümü, LLM Düğümü veya Araç Düğümü.

Çıkış

Uç Düğüm, bilgi akışının sona erdiğini ifade ettiği için herhangi bir çıkış bağlantısına sahip değildir.

En iyi uygulamalar

Son bir yanıt verin

Uygunsa, kullanıcı için son bir mesaj veya özet oluşturmak için Uç Düğümü özel bir LLM veya Ajan Düğümüne bağlayın ve konuşmanın kapanışını sağlayın.

Koşul Düğümü ve Koşul Aracısı Düğümü

Koşul ve Koşul Aracısı Düğümleri, dinamik konuşma deneyimleri oluşturmak için Flow'un Sıralı Aracı mimarisinde çok önemlidir.

Bu düğümler, kullanıcı girdisine, bağlama ve karmaşık kararlara yanıt vererek uyarlanabilir iş akışlarını mümkün kılar, ancak durum değerlendirmesi ve karmaşıklaştırma yaklaşımlarında farklılık gösterir.

Koşul düğümü

Amaç

Basit, önceden tanımlanmış mantıksal koşullara dayalı dallar oluşturmak için.

Durum değerlendirmesi

Özel Duruma ve/veya tam konuşma geçmişine göre denetlenen koşulları tanımlamak için tablo tabanlı bir arabirim veya JavaScript kod düzenleyicisi kullanır.

Çıktı davranışı

  • Her biri belirli bir koşulla ilişkilendirilmiş birden çok çıkış yolunu destekler.

  • Koşullar sırayla değerlendirilir. İlk eşleşen koşul çıktıyı belirler.

  • Hiçbir koşul karşılanmazsa, akış varsayılan bir "Son" çıkışını izler.

En uygun

  • Kolayca tanımlanabilen koşullara dayalı basit yönlendirme kararları.

  • Mantığın basit karşılaştırmalar, anahtar sözcük denetimleri veya özel durum değişkeni değerleri kullanılarak ifade edilebileceği iş akışları.

Koşul aracısı düğümü

Amaç

Bir temsilcinin konuşma analizine ve yapılandırılmış çıktısına dayalı olarak dinamik yönlendirme oluşturmak.

Durum değerlendirmesi

  • Bağlı bir Sohbet Modeli yoksa, konuşma geçmişini ve herhangi bir özel Durumu işlemek için varsayılan sistem LLM'sini (Başlangıç Düğümünden) kullanır.

  • Daha sonra koşul değerlendirmesi için kullanılan yapılandırılmış çıktı oluşturabilir.

  • Yapılandırılmış olsun ya da olmasın, aracının kendi çıkışına karşı denetlenen koşulları tanımlamak için tablo tabanlı bir arabirim veya JavaScript kod düzenleyicisi kullanır.

Çıktı davranışı

Koşul düğümü ile aynı:

  • Her biri belirli bir koşulla ilişkilendirilmiş birden çok çıkış yolunu destekler.

  • Koşullar sırayla değerlendirilir. İlk eşleşen koşul çıktıyı belirler.

  • Hiçbir koşul karşılanmazsa, akış varsayılan "Son" çıkışını izler.

En uygun

  • Konuşma bağlamının, kullanıcı amacının veya nüanslı faktörlerin anlaşılmasını gerektiren daha karmaşık yönlendirme kararları.

  • İstenen yönlendirme mantığını yakalamak için basit mantıksal koşulların yetersiz olduğu senaryolar.

  • Örnek: Bir sohbet robotunun, bir kullanıcının sorusunun belirli bir ürün kategorisiyle ilgili olup olmadığını belirlemesi gerekir. Bir Koşul Aracısı Düğümü, kullanıcının sorgusunu analiz etmek ve "kategori" alanına sahip bir JSON nesnesinin çıktısını almak için kullanılabilir. Koşul Aracısı Düğümü daha sonra kullanıcıyı uygun ürün uzmanına yönlendirmek için bu yapılandırılmış çıktıyı kullanabilir

Özetleme

Koşul Düğümü
Koşul Aracısı Düğümü

Karar Mantığı

Önceden tanımlanmış mantıksal koşullara dayalıdır.

Ajanın mantığına ve yapılandırılmış çıktısına dayanmaktadır.

Ajan Katılımı

Durum değerlendirmesinde yer alan hiçbir ajan yok.

Bağlamı işlemek ve koşullar için çıktı oluşturmak için bir aracı kullanır.

Yapılandırılmış Çıktı

Mümkün değil.

Güvenilir durum değerlendirmesi için mümkün ve teşvik edilir.

Durum Değerlendirmesi

Yalnızca tam konuşma geçmişine karşı denetlenen koşulları tanımlayın.

Yapılandırılmış olsun ya da olmasın, aracının kendi çıktısına karşı denetlenen koşulları tanımlayabilir.

Karmaşıklık

Basit dallanma mantığı için uygundur.

Daha incelikli ve bağlama duyarlı yönlendirmeyi işler.

İdeal Kullanım Durumları

  • Kullanıcının yaşına veya görüşmedeki bir anahtar kelimeye göre yönlendirme.

  • Kullanıcı duyarlılığına, amacına veya karmaşık bağlamsal faktörlere dayalı yönlendirme.

Doğru düğümü seçme

  • Koşul Düğümü: Yönlendirme mantığınız kolayca tanımlanabilir koşullara dayalı basit kararlar içeriyorsa Koşul Düğümünü kullanın. Örneğin, belirli anahtar kelimeleri kontrol etmek, Durumdaki değerleri karşılaştırmak veya diğer basit mantıksal ifadeleri değerlendirmek için mükemmeldir.

  • Koşul Aracısı Düğümü: Ancak, yönlendirmeniz konuşmanın nüanslarının daha derin bir şekilde anlaşılmasını gerektiriyorsa, Koşul Aracısı Düğümü daha iyi bir seçimdir. Bu düğüm, konuşmayı analiz etmek, bağlama dayalı kararlar vermek ve daha karmaşık ve dinamik yönlendirmeyi yönlendiren yapılandırılmış çıktı sağlamak için bir LLM'den yararlanan akıllı yönlendirme asistanınız olarak işlev görür.


Ajan Düğümü ve LLM Düğümü

Hem LLM Düğümü'nün hem de Aracı Düğümünün, her ikisi de büyük bir dil modelinin (LLM) veya Sohbet Modelinin yeteneklerinden yararlandıkları için sistemimiz içinde aracılık varlıkları olarak kabul edilebileceğini anlamak önemlidir.

Bununla birlikte, her iki düğüm de dili işleyebilir ve araçlarla etkileşime girebilirken, bir iş akışı içinde farklı amaçlar için tasarlanmıştır.

Aracı düğümü

Odak

Agent Node'un birincil odak noktası, bir konuşma bağlamında bir insan ajanın eylemlerini ve karar verme sürecini simüle etmektir.

İş akışı içinde üst düzey bir koordinatör görevi görür ve daha insan benzeri bir konuşma deneyimi yaratmak için dil anlama, araç yürütme ve karar vermeyi bir araya getirir.

Güçlü

  • Birden fazla aracın yürütülmesini etkin bir şekilde yönetir ve sonuçlarını entegre eder.

  • Döngüdeki İnsan (HITL) için yerleşik destek sunarak hassas işlemler için insan incelemesine ve onayına olanak tanır.

En Uygun

  • Temsilcinin kullanıcıya rehberlik etmesi, bilgi toplaması, seçimler yapması ve genel konuşma akışını yönetmesi gereken iş akışları.

  • Birden çok dış araçla tümleştirme gerektiren senaryolar.

  • Hassas verileri veya finansal işlemleri onaylama gibi insan gözetiminin yararlı olduğu eylemleri içeren görevle

LLM düğümü

Odak

Aracı Düğümüne benzer, ancak her ikisi de Araç Düğümü aracılığıyla araçları ve Döngüdeki İnsanı (HITL) kullanırken daha fazla esneklik sağlar.

Güçlü

  • LLM'nin çıktısını yapılandırmak için JSON şemalarının tanımını etkinleştirerek belirli bilgilerin ayıklanmasını kolaylaştırır.

  • Araç entegrasyonunda esneklik sunar, daha karmaşık LLM ve araç çağrıları dizilerine izin verir, ve HITL özelliği üzerinde ayrıntılı kontrol sağlar.

En Uygun

  • Yapılandırılmış verilerin LLM'nin yanıtından ayıklanması gereken senaryolar.

  • Otomatik ve insan tarafından incelenen araç yürütmelerinin bir karışımını gerektiren iş akışları. Örneğin, bir LLM Düğümü, ürün bilgilerini almak için bir araç (otomatik) ve daha sonra HITL onayı gerektiren bir ödemeyi işlemek için farklı bir araç çağırabilir.

Özetleme

Aracı Düğümü
LLM Düğümü

Araç Etkileşimi

Dahili HITL ile birden fazla aracı doğrudan çağırır ve yönetir.

Takım Düğümü aracılığıyla takımları, takım seviyesinde ayrıntılı HITL kontrolü ile tetikler.

Döngüdeki İnsan (HITL)

HITL, Ajan Düğümü düzeyinde kontrol edilir (etkilenen tüm bağlı araçlar).

HITL, bireysel Takım Düğümü düzeyinde yönetilir (daha fazla esneklik).

Yapılandırılmış Çıktı

LLM'nin doğal çıktı formatına dayanır.

LLM'nin doğal çıktı biçimine dayanır, ancak gerekirse LLM çıktısını yapılandırmak için JSON şema tanımı sağlar.

İdeal Kullanım Durumları

  • Karmaşık araç orkestrasyonuna sahip iş akışları.

  • Aracı düzeyinde basitleştirilmiş HITL.

  • LLM çıktısından yapılandırılmış verilerin çıkarılması

  • Karışık HITL seviyeleri gerektiren karmaşık LLM ve araç etkileşimlerine sahip iş akışları.

Doğru düğümü seçme

  • Aracı düğümünü seçin: Tümü aynı HITL ayarını paylaşan (tüm Aracı Düğümü için etkinleştirilmiş veya devre dışı bırakılmış) birden çok aracın yürütülmesini yönetebilen bir konuşma sistemi oluşturmanız gerektiğinde Aracı Düğümünü kullanın. Temsilci Düğümü, tutarlı temsilci benzeri davranışın istendiği karmaşık çok adımlı konuşmaları yönetmek için de çok uygundur.

  • LLM düğümünü seçin: Öte yandan, Agent Node'da bulunmayan bir yetenek olan JSON şema özelliğini kullanarak LLM'nin çıktısından yapılandırılmış verileri çıkarmanız gerektiğinde LLM Düğümünü kullanın. LLM Düğümü ayrıca, bireysel araç düzeyinde HITL üzerinde ince taneli kontrol ile araç yürütmesini düzenlemede mükemmeldir ve LLM Düğümüne bağlı birden fazla Araç Düğümü kullanarak otomatik ve insan tarafından gözden geçirilen araç yürütmelerini karıştırmanıza olanak tanır.

Last updated