LangChain ile Aracı Sistemler Tasarlama
Dilini K. Sumanapala, PhD
Founder & AI Engineer, Genverv, Ltd.
Kenarları 5 ve 7 olan bir dikdörtgenin alanı 35 kare birimdir.
Kullanıcı: "Kenarları 5 ve 7 olan bir dikdörtgenin alanı nedir?"
tools = [rectangle_area] query = "Kenarları 14 ve 4 olan bir dikdörtgenin alanı nedir?"# ReAct ajanını oluşturun app = create_react_agent(model, tools)# Ajanı bir sorgu ile çağırın ve mesajları saklayın response = app.invoke({"messages": [("human", query)]})# Girdi ve çıktı mesajlarını tanımlayın ve yazdırın print({ "user_input": query, "agent_output": response["messages"][-1].content})
{'user_input': 'Kenarları 14 ve 4 olan bir dikdörtgenin alanı nedir?',
'agent_output': 'Kenarları 14 ve 4 olan bir dikdörtgenin alanı 56
kare birimdir.'}
{'user_input': 'Peki kenarları 12 ve 14 olan nasıl?','agent_output': ['HumanMessage: Kenarları 5 ve 7 olan bir dikdörtgenin alanı nedir?', 'AIMessage: Kenarları 5 ve 7 olan bir dikdörtgenin alanı 35 kare birimdir.', 'HumanMessage: Peki kenarları 12 ve 14 olan nasıl?', 'AIMessage: Kenarları 12 ve 14 olan bir dikdörtgenin alanı 168 kare birimdir.','HumanMessage: Peki kenarları 12 ve 14 olan nasıl?', 'AIMessage: Kenarları 12 ve 14 olan bir dikdörtgenin alanı 168 kare birimdir.']}
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 = "Peki kenarları 4 ve 3 olan nasıl?"

from langchain_core.messages import HumanMessage, AIMessage message_history = messages["messages"]new_query = "Peki kenarları 4 ve 3 olan nasıl?"# Uygulamayı tam mesaj geçmişiyle çağır messages = app.invoke({"messages": message_history + [("human", new_query)]})

# İnsan ve AI mesajlarını çıkar
filtered_messages = [msg for msg in
messages["messages"] if
isinstance(msg,
(HumanMessage,
AIMessage))
and msg.content.strip()]

# İnsan ve AI mesajlarını çıkar filtered_messages = [msg for msg in messages["messages"] if isinstance(msg, (HumanMessage, AIMessage)) and msg.content.strip()]# Son sonucu biçimlendir ve yazdır print({ "user_input": new_query, "agent_output": [f"{msg.__class__.__name__}: {msg.content}" for msg in filtered_messages]})

{'user_input': 'Peki kenarları 4 ve 3 olan nasıl?','agent_output': ['HumanMessage: Kenarları 14 ve 4 olan bir dikdörtgenin alanı nedir?', 'AIMessage: Kenarları 14 ve 4 olan bir dikdörtgenin alanı 56 kare birimdir.', 'HumanMessage: Peki kenarları 4 ve 3 olan nasıl?', 'AIMessage: Kenarları 4 ve 3 olan bir dikdörtgenin alanı 12 kare birimdir.','HumanMessage: Peki kenarları 4 ve 3 olan nasıl?', 'AIMessage: Kenarları 4 ve 3 olan bir dikdörtgenin alanı 12 kare birimdir.']}
LangChain ile Aracı Sistemler Tasarlama