เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ถามคำถามเกี่ยวกับประวัติการสนทนา

เมื่อใช้ ReAct agent พื้นฐานใน LangChain คุณสามารถถามคำถามติดตามได้โดยการเก็บประวัติการสนทนาของ agent ไว้ เนื่องจาก LLM มีสิทธิ์เข้าถึงข้อความทั้งหมดก่อนหน้า จึงสามารถถามคำถามใหม่และให้ agent ใช้บริบทข้อความทั้งหมดในการตอบได้

ในแบบฝึกหัดนี้ จะถามคำถามติดตามเกี่ยวกับด้านของสามเหลี่ยมรูปอื่น

โมดูลที่จำเป็นสำหรับ HumanMessage และ AIMessage ได้รับการนำเข้าไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การออกแบบระบบ Agentic ด้วย LangChain

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดคำถามในรูปแบบภาษาธรรมชาติให้กับ new_query
  • เรียกใช้ออบเจกต์ app โดยส่งข้อความทั้งหมด ได้แก่ message_history และ new_query
  • ใช้ list comprehension เพื่อดึงข้อความจาก response["messages"] ที่มีป้ายกำกับเป็น HumanMessage หรือ AIMessage
  • ส่งคำถามใหม่เป็น input และแสดงผลข้อความที่ดึงมาโดยส่งคลาสของข้อความไปที่ "agent_output"

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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 ____]
})
แก้ไขและรันโค้ด