BaşlayınÜcretsiz Başlayın

Bellekle çok turlu sohbeti etkinleştir

Artık sohbet botu güncellemeni okul yönetimiyle paylaşmaya neredeyse hazırsın! Öğrencilerin sorunsuz bir öğrenme deneyimi yaşaması için takip soruları sorabilmeleri önemli. Böylece, botun ilk yanıtında eksik kalan bir bilgi olursa, öğrenciler sohbet ederek sorularını düzeltebilir. Şimdi, sohbet botunun akış (streaming) fonksiyonunu çoklu turu destekleyecek şekilde uyarlayacak, hem kullanıcının sorgusunu hem de botun yanıtını yazdıracaksın. Belleği etkinleştirmek için, takip soruları sorulduğunda LangGraph tüm konuşmayı LLM'e gönderecek. Başlamak için, config parametrelerin bir kullanıcı için zaten ayarlandı:

config = {"configurable": {"thread_id": "1"}}

Bu egzersiz

LangChain ile Aracı Sistemler Tasarlama

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Her tur için, queries listesindeki kullanıcının query değerini yazdırarak başla.
  • app.stream() kullanarak msg ve metadata üzerinde yineleme yap, query değerini HumanMessage'in content alanı olarak config ile birlikte geçir ve msg.content değerlerini birleştir.
  • Sohbet botunun yanıtlarını çıkarmak için, HumanMessage olarak etiketlenen herhangi bir msg hariç tutularak msg.content'i yazdır; bir sonraki sorgudan önce yeni bir satır ekle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Print the user query first for every interaction 
def user_agent_multiturn(queries):  
    for ____ in ____:
        print(f"User: {____}")
        
        # Stream through messages corresponding to queries, excluding metadata 
        print("Agent: " + "".join(____.____ for ____, ____ in app.____(
                {"messages": [____(____=_____)]}, config, stream_mode="messages") 
            
            # Filter out the human messages to print agent messages
            if ____.____ and not isinstance(____, ____)) + "____")       

queries = ["Is `stressed desserts?` a palindrome?", "What about the word `kayak`?",
    "What happened on the May 8th, 1945?", "What about 9 November 1989?"]
user_agent_multiturn(queries)
Kodu Düzenle ve Çalıştır