Definuj funkci pro zastavení chatbota
Teď, když máš nastavený stav chatbota, je čas sestavit funkce, které řídí průběh jeho grafu. Začneš funkcí should_continue(), která kontroluje volání nástrojů v poslední zprávě chatbota v rámci state – ten je pro tebe už načtený. Pokud žádná volání nástrojů nejsou, chatbot se zastaví. Pokud je nástroj zavolán, chatbot pokračuje na další úkol. Pro správu zpráv byly naimportovány následující moduly.
from langgraph.graph import MessagesState, START, END
Toto cvičení je součástí kurzu
Návrh agentních systémů s LangChain
Pokyny k cvičení
- Urči vstupní typ parametru
statepomocíMessagesState. - Získej poslední zprávu ze
statepomocí klíče"messages"a zkontroluj, zda obsahuje volání nástroje. - Ověř, jestli poslední zpráva obsahuje
tool_calls, a pokud ano, nastav návratovou hodnotu na"tools". - Nastav návratovou hodnotu na
ENDpro ukončení konverzace v případě, že žádnétool_callspřítomné nejsou.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Use MessagesState to define the state of the function
def should_continue(state: ____):
# Get the last message from the state
last_message = ____["____"][____]
# Check if the last message includes tool calls
if ____.____:
return "____"
# End the conversation if no tool calls are present
return ____