Dynamic Workflow Management in Chatbots with LangGraph-DevMultiGroup
Cumartesi günü @devmultigroup 'un düzenlediği AI Conference Shaping Tomorrow etkinliğinde Dynamic Workflow Management in Chatbots with LangGraph konusu ile konuşmacı olarak yer aldım.
birbirine bağlayan kenarlardan (edges) oluşan matematiksel yapılardır. En basit haliyle, bir graph iki düğüm ve bu düğümleri birbirine bağlayan bir kenardan oluşur. Bu yapı, dil modelleri ve doğal dil işleme (NLP) uygulamalarında oldukça faydalıdır
bir fonksiyon çalıştırılır ve bu fonksiyonun dönüş değeri bir sonraki düğüme iletilir. Bu şekilde, karmaşık işlemler basit adımlara bölünerek graph üzerinde ilerler.
iki temel bileşenden oluşur: Vertex (Node/Düğüm): Graph içerisindeki varlıkları temsil eden elemanlardır. 1. Edges (Kenarlar): Düğümler arasındaki ilişkileri gösteren bağlantılardır. 2.
ve kullanıcılarına daha gelişmiş ajan çalışma zamanları sunmak için tasarlanmıştır. LangGraph, Dil Modelleri (LLM’ler) ile çok aktörlü, durumsal uygulamalar oluşturmak için geliştirilmiş bir kütüphanedir. Ajan ve çok ajanlı iş akışlarını oluşturmak için kullanılan bu kütüphane, LangChain üzerine inşa edilmiştir
LangGraph, karmaşık ajan sistemleri için bir orkestrasyon çerçevesidir ve LangChain ajanlarına göre daha düşük seviyeli ve kontrol edilebilirdir. Öte yandan LangChain, modeller ve diğer bileşenlerle etkileşim için standart bir arayüz sağlar, bu da doğrudan zincirler ve geri alma akışları için kullanışlıdır.
Merhaba! Size nasıl yardımcı olabilirim? --- Output from node 'node_2': --- Agent söylüyor:Merhaba! Size nasıl yardımcı olabilirim? --- Final Output: Agent söylüyor:Merhaba! Size nasıl yardımcı olabilirim?
state (AgentState) sözlüğü. 1. İlk İşlem: messages anahtarını kullanarak state sözlüğündeki mesajları alır. 2. Kullanıcı Girdisi: Son kullanıcı girdisini (son mesajı) alır (user_input = messages[-1]). 3. Tam Sorgu Oluşturma: Kullanıcı girdisine dayalı olarak, şehir ismini bulmak için tam bir sorgu oluşturur (complete_query). 4. Dil Modeli Çağrısı: Bu sorguyu dil modeline gönderir (llm.invoke(complete_query)) ve yanıtı alır. 5. Yanıtı Ekleme: Alınan yanıtı messages dizisine ekler (state['messages'].append(response.cont ent)). 6. Dönüş: Güncellenmiş state sözlüğünü döner. 7.
state (AgentState) sözlüğü. 1. İlk İşlem: messages anahtarını kullanarak state sözlüğündeki mesajları alır. 2. Agent Yanıtı: Son agent yanıtını alır (agent_response = messages[-1]). 3. Hava Durumu API Çağrısı: OpenWeatherMapAPIWrapper sınıfından bir örnek oluşturur ve şehir adına göre hava durumu verilerini alır (weather_data = weather.run(agent_response)). 4. Yanıtı Ekleme: Alınan hava durumu verilerini messages dizisine ekler (state['messages'].append(weather_da ta)). 5. Dönüş: Güncellenmiş state sözlüğünü döner. 6.
state (AgentState) sözlüğü. 1. İlk İşlem: messages anahtarını kullanarak state sözlüğündeki mesajları alır. 2. Kullanıcı Girdisi: İlk kullanıcı girdisini alır (user_input = messages[0]). 3. Mevcut Bilgi: En son alınan bilgiyi alır (available_info = messages[-1]). 4. Tam Sorgu Oluşturma: Kullanıcı girdisi ve mevcut bilgilere dayanarak, kısa ve öz bir yanıt oluşturmak için tam bir sorgu oluşturur (agent2_query). 5. Dil Modeli Çağrısı: Bu sorguyu dil modeline gönderir (llm.invoke(agent2_query)) ve yanıtı alır. 6. Dönüş: Dil modelinden alınan yanıtı döner (return response.content). 7.