Налаштуйте результати для кількох інструментів
Граф вашого чатбота готовий! Тепер ви можете протестувати, як чатбот працює з різними запитами, для яких потрібні різні інструменти. Щоб керувати повідомленнями чатбота, потрібні модулі вже імпортовано, а параметри config вашого чатбота налаштовано для однієї сесії.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Ця вправа є частиною курсу
Проєктування агентних систем з LangChain
Інструкції до вправи
- Створіть словник повідомлення
inputsізqueryкористувача якcontentдляHumanMessage. - Передавайте потоком
msgіmetadataз чатботаapp, ітеруючись по результатах за допомогою методу.stream()з використаннямinputsіconfig. - Перевіряйте, чи має кожне
msgполеcontentі чи не є воноHumanMessage, тоді виведіть йогоcontent, встановившиflushуTrueдля миттєвого друку виводу. - Протестуйте чатбот за допомогою
multi_tool_output()на запитах, що потребують різних інструментів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create input message with the user's query
def multi_tool_output(____):
inputs = {"messages": [____(____=____)]}
# Stream messages and metadata from the chatbot application
for ____, ____ in app.____(____, ____, stream_mode="messages"):
# Check if the message has content and is not from a human
if ____.____ and not isinstance(____, ____):
print(____.____, end="", flush=____)
print("\n")
# Call the chatbot with different tools
____("Is `may a moody baby doom a yam` a palindrome?")
____("What happened on 20th July, 1969?")