Nastavení výstupů pro více nástrojů
Graf chatbota je připravený! Teď můžeš otestovat, jak chatbot zpracovává různé dotazy, ke kterým jsou potřeba různé nástroje. Pro správu zpráv chatbota už byly naimportovány potřebné moduly a parametry config jsou nastaveny pro jedno sezení.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Toto cvičení je součástí kurzu
Návrh agentních systémů s LangChain
Pokyny k cvičení
- Vytvoř slovník zpráv
inputs, kde uživatelský dotazquerypoužiješ jakocontentproHumanMessage. - Streamuj
msgametadataz chatbotaappiterací přes výsledky metodou.stream(), do které předášinputsaconfig. - Zkontroluj, zda každá zpráva
msgobsahujecontenta není instancíHumanMessage, a pokud ano, vypiš jejícontentsflushnastaveným naTruepro okamžitý výpis. - Otestuj chatbota pomocí
multi_tool_output()s dotazy vyžadujícími různé nástroje.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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?")