การเพิ่มหน่วยความจำและการสนทนา

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

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

ทดสอบการใช้งาน tool

แผนภาพ chatbot แบบเต็มพร้อม tools node

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

ทดสอบการใช้งาน tool

# Produce the chatbot graph
display(Image(app.get_graph().draw_mermaid_png()))


# Define a function to execute the chatbot, streaming each message def stream_tool_responses(user_input: str): for event in graph.stream({"messages": [("user", user_input)]}):
# Return the agent's last response for value in event.values(): print("Agent:", value["messages"])
# Define the query and run the chatbot user_query = "House of Lords" stream_tool_responses(user_query)
การออกแบบระบบ Agentic ด้วย LangChain

แสดงภาพแผนภาพ

แผนภาพ LangGraph chatbot พร้อม tool node

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

การสตรีมผลลัพธ์

Agent: [AIMessage(content='', additional_kwargs={'tool_calls': [{'function': {'arguments': 
'{"query":"House of Lords"}', 'name': 'wikipedia'}, 'type': 'function'}]},
response_metadata={'...'}])]

Agent: [ToolMessage(content='Page: House of Lords\nSummary: The House of Lords is the upper house of the Parliament of the United Kingdom. Like the lower house...The House of Lords also has a Church of England role...', name='wikipedia', id='...',')]
Agent: [AIMessage(content='The House of Lords is the upper house of the Parliament of the United Kingdom, located in the Palace of Westminster in London. It is one of the oldest institutions in the world..., additional_kwargs={},
response_metadata= {'finish_reason': 'stop', 'model_name': 'gpt-4o-mini-2024-07-18', 'system_fingerprint': 'fp_0ba0d124f1'}, id='run-ae3a0b4f-5b42-4f4e-9409-7c191af0b9c9-0')]
การออกแบบระบบ Agentic ด้วย LangChain

การเพิ่มหน่วยความจำ

# Import the modules for saving memory
from langgraph.checkpoint.memory import MemorySaver


# Modify the graph with memory checkpointing memory = MemorySaver()
# Compile the graph passing in memory graph = graph_builder.compile(checkpointer=memory)
การออกแบบระบบ Agentic ด้วย LangChain

การสตรีมผลลัพธ์พร้อมหน่วยความจำ

# Set up a streaming function for a single user
def stream_memory_responses(user_input: str):

config = {"configurable": {"thread_id": "single_session_memory"}}
# Stream the events in the graph for event in graph.stream({"messages": [("user", user_input)]}, config):
# Return the agent's last response for value in event.values(): if "messages" in value and value["messages"]: print("Agent:", value["messages"])
stream_memory_responses("What is the Colosseum?") stream_memory_responses("Who built it?")
การออกแบบระบบ Agentic ด้วย LangChain

การสร้างผลลัพธ์พร้อมหน่วยความจำ

stream_memory_responses("What is the Colosseum?")
Agent: [AIMessage(content='', additional_kwargs={'tool_calls': [{'index': 0, 
'id': '...', 'function': {'arguments': '
{"query":"Colosseum"}', 'name': 'wikipedia'}, ...])]

Agent: [ToolMessage(content='Page: Colosseum\nSummary: The Colosseum is an ancient amphitheatre in Rome, Italy. It is the largest standing amphitheatre in the world..)]
Agent: [AIMessage(content='The Colosseum, located in Rome, is the largest ancient amphitheatre still standing. Built under Emperor Vespasian and completed by his son Titus, it hosted gladiatorial games and public events. It is also known as the Flavian Amphitheatre due to its association with the Flavian dynasty.', additional_kwargs={}, response_metadata={'finish_reason': 'stop', 'model_name': 'gpt-4o-mini-...', ...')]
การออกแบบระบบ Agentic ด้วย LangChain

การสร้างผลลัพธ์พร้อมหน่วยความจำ

stream_memory_responses("Who built it?")
Agent: [AIMessage(content='The Colosseum was built by Emperor Vespasian around 
72 AD and completed by his successor, Emperor Titus. Later modifications were 
made by Emperor Domitian...')]
การออกแบบระบบ Agentic ด้วย LangChain

มาฝึกกันเถอะ!

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

Preparing Video For Download...