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

การใช้หน่วยความจำของกราฟสำหรับการสนทนา

เมื่อแชทบอตมีหน่วยความจำแล้ว ก็สามารถสตรีมการตอบกลับสำหรับคำถามติดตามผลได้ โดยไม่จำเป็นต้องระบุบริบทเพิ่มเติม เนื่องจากแชทบอตสามารถเข้าถึงการสนทนาทั้งหมดที่จัดเก็บไว้ในหน่วยความจำได้ คำถามเหล่านี้ถูกตั้งค่าไว้ให้แล้ว

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

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

ดูคอร์ส

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

  • สร้าง dictionary ชื่อ config ที่มี "configurable" ซึ่งกำหนดให้ "thread_id" มีค่าเป็น "single_session_memory"
  • วนลูปผ่านแต่ละ event ของกราฟ โดยเรียกใช้เมธอด .stream() บน graph พร้อมส่ง dictionary ที่มี "messages" ซึ่งประกอบด้วย user_input ที่ติดป้ายกำกับว่า "user" และ dictionary config
  • วนลูปผ่าน event.values() โดยใช้ตัวแปร value แล้วพิมพ์ "Agent:" ตามด้วยข้อมูลใน "messages" หากมีอยู่ใน value และไม่ว่างเปล่า

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

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

# Set up a streaming function for a single user
def stream_memory_responses(user_input: str):
    ____ = {"____": {"____": "____"}}
    
    # Stream the events in the graph
    for ____ in graph.____({"messages": [("user", ____)]}, ____):
        
        # Return the agent's last response
        for ____ in event.____():
            if "messages" in ____ and value["____"]:
                print("Agent:", value["messages"])

stream_memory_responses("Tell me about the Eiffel Tower.")
stream_memory_responses("Who built it?")
แก้ไขและรันโค้ด