Ajukan pertanyaan tentang riwayat percakapan
Dengan agen ReAct dasar di LangChain, Anda dapat mengajukan pertanyaan lanjutan dengan mempertahankan riwayat percakapan agen. Karena LLM memiliki akses ke semua pesan sebelumnya, Anda kini dapat mengajukan pertanyaan baru, dan agen dapat menggunakan konteks pesan secara penuh untuk merespons.
Sekarang Anda akan mengajukan pertanyaan lanjutan tentang sisi-sisi segitiga yang berbeda.
Agar dapat menggunakan kapabilitas HumanMessage dan AIMessage, modul berikut telah diimpor untuk Anda: HumanMessage, AIMessage.
Latihan ini adalah bagian dari kursus
Merancang Sistem Agentic dengan LangChain
Petunjuk latihan
- Tetapkan pertanyaan bahasa natural yang diberikan ke
new_query. - Panggil objek
app, dengan meneruskan semua pesan, termasukmessage_historydannew_query. - Gunakan list comprehension untuk mengekstrak pesan dari
response["messages"]yang berlabelHumanMessageatauAIMessage. - Teruskan kueri baru sebagai masukan dan cetak pesan yang diekstraksi dengan meneruskan kelas pesan ke
"agent_output".
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
message_history = response["messages"]
____ = "What about one with sides 12 and 14?"
# Invoke the app with the full message history
response = app.____({"messages": ____ + [("human", ____)]})
# Extract the human and AI messages from the result
filtered_messages = [msg for msg in ____["____"] if isinstance(msg, (____, ____)) and msg.content.strip()]
# Pass the new query as input and print the final outputs
print({
"user_input": ____,
"agent_output": [f"{msg.____.____}: {msg.content}" for msg in ____]
})