Merancang Sistem Agentic dengan LangChain
Dilini K. Sumanapala, PhD
Founder & AI Engineer, Genverv, Ltd.
Luas persegi panjang dengan sisi 5 dan 7 adalah 35 satuan persegi.
Pengguna: "Berapa luas persegi panjang dengan sisi 5 dan 7?"
tools = [rectangle_area] query = "What is the area of a rectangle with sides 14 and 4?"# Create the ReAct agent app = create_react_agent(model, tools)# Invoke the agent with a query and store the messages response = app.invoke({"messages": [("human", query)]})# Define and print the input and output messages print({ "user_input": query, "agent_output": response["messages"][-1].content})
{'user_input': 'What is the area of a rectangle with sides 14 and 4?',
'agent_output': 'The area of a rectangle with sides 14 and 4 is 56
square units.'}
{'user_input': 'Bagaimana dengan yang sisinya 12 dan 14?','agent_output': ['HumanMessage: Berapa luas persegi panjang dengan sisi 5 dan 7?', 'AIMessage: Luas persegi panjang dengan sisi 5 dan 7 adalah 35 satuan persegi.', 'HumanMessage: Bagaimana dengan yang sisinya 12 dan 14?', 'AIMessage: Luas persegi panjang dengan sisi 12 dan 14 adalah 168 satuan persegi.','HumanMessage: Bagaimana dengan yang sisinya 12 dan 14?', 'AIMessage: Luas persegi panjang dengan sisi 12 dan 14 adalah 168 satuan persegi.']}
from langchain_core.messages import
HumanMessage, AIMessage
from langchain_core.messages import HumanMessage, AIMessagemessage_history = messages["messages"]

from langchain_core.messages import HumanMessage, AIMessage message_history = messages["messages"]new_query = "Bagaimana dengan yang sisinya 4 dan 3?"

from langchain_core.messages import HumanMessage, AIMessage message_history = messages["messages"]new_query = "Bagaimana dengan yang sisinya 4 dan 3?"# Jalankan aplikasi dengan riwayat pesan lengkap messages = app.invoke({"messages": message_history + [("human", new_query)]})

# Ambil pesan dari manusia dan AI
filtered_messages = [msg for msg in
messages["messages"] if
isinstance(msg,
(HumanMessage,
AIMessage))
and msg.content.strip()]

# Ambil pesan dari manusia dan AI filtered_messages = [msg for msg in messages["messages"] if isinstance(msg, (HumanMessage, AIMessage)) and msg.content.strip()]# Format dan cetak hasil akhir print({ "user_input": new_query, "agent_output": [f"{msg.__class__.__name__}: {msg.content}" for msg in filtered_messages]})

{'user_input': 'Bagaimana dengan yang sisinya 4 dan 3?','agent_output': ['HumanMessage: Berapa luas persegi panjang dengan sisi 14 dan 4?', 'AIMessage: Luas persegi panjang dengan sisi 14 dan 4 adalah 56 satuan persegi.', 'HumanMessage: Bagaimana dengan yang sisinya 4 dan 3?', 'AIMessage: Luas persegi panjang dengan sisi 4 dan 3 adalah 12 satuan persegi.','HumanMessage: Bagaimana dengan yang sisinya 4 dan 3?', 'AIMessage: Luas persegi panjang dengan sisi 4 dan 3 adalah 12 satuan persegi.']}
Merancang Sistem Agentic dengan LangChain