Ставте запитання про історію розмови
З базовим агентом ReAct у LangChain ви можете ставити додаткові запитання, зберігаючи історію розмови агента. Оскільки LLM має доступ до всіх попередніх повідомлень, ви можете ставити нові запитання, і агент використає весь контекст повідомлень для відповіді.
Тепер ви поставите додаткове запитання про сторони іншого трикутника.
Щоб мати змогу використовувати можливості HumanMessage і AIMessage, для вас уже імпортовано такі модулі: HumanMessage, AIMessage.
Ця вправа є частиною курсу
Проєктування агентних систем з LangChain
Інструкції до вправи
- Присвойте задане питання природною мовою змінній
new_query. - Викличте об'єкт
app, передавши всі повідомлення, включно зmessage_historyіnew_query. - Використайте спискове включення, щоб витягти повідомлення з
response["messages"]з міткамиHumanMessageабоAIMessage. - Передайте новий запит як вхідні дані та виведіть витягнуті повідомлення, передавши класи повідомлень у
"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 ____]
})