MulaiMulai sekarang secara gratis

Aktifkan percakapan multi-giliran dengan memori

Anda hampir siap membagikan pembaruan chatbot Anda kepada pihak administrasi sekolah! Agar siswa mendapatkan pengalaman belajar yang lancar, penting untuk memungkinkan mereka mengajukan pertanyaan lanjutan. Dengan begitu, jika ada informasi yang kurang pada jawaban pertama chatbot, siswa dapat menyempurnakan pertanyaannya melalui percakapan. Sekarang Anda akan menyesuaikan fungsi streaming chatbot agar mendukung beberapa giliran, dengan mencetak kueri pengguna sekaligus jawaban chatbot. Untuk mengaktifkan memori, LangGraph akan mengirim seluruh percakapan ke LLM saat pertanyaan lanjutan diajukan. Sebagai awal, parameter config Anda sudah ditetapkan untuk satu pengguna:

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

Latihan ini adalah bagian dari kursus

Merancang Sistem Agentic dengan LangChain

Lihat Kursus

Petunjuk latihan

  • Untuk setiap giliran, mulailah dengan mencetak query pengguna dari daftar queries.
  • Iterasikan melalui msg dan metadata menggunakan app.stream(), dengan meneruskan query sebagai content dari HumanMessage beserta config, lalu gabungkan nilai msg.content.
  • Untuk mengekstrak respons chatbot, cetak msg.content sambil mengecualikan setiap msg yang berlabel HumanMessage, tambahkan baris baru sebelum kueri berikutnya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode