Definiera en funktion som stoppar chatboten
Nu när chatbotens tillstånd är konfigurerat behöver du bygga funktioner som styr arbetsflödet i chatbotens graf. Börja med att skapa en should_continue()-funktion som kontrollerar om det finns verktygsanrop i chatbotens senaste meddelande i state, som redan har lästs in åt dig. Om det inte finns några verktygsanrop avslutas chatboten. Om ett verktyg anropas går chatboten vidare till nästa uppgift. Följande moduler har importerats åt dig för att hantera meddelandena.
from langgraph.graph import MessagesState, START, END
Den här övningen är en del av kursen
Designa agentbaserade system med LangChain
Övningsinstruktioner
- Ange indatatypen för parametern
statemed hjälp avMessagesState. - Hämta det sista meddelandet från
statevia"messages"för att kontrollera om det finns verktygsanrop. - Kontrollera om det sista meddelandet innehåller
tool_callsoch ange returvärdet som"tools"om det stämmer. - Ange returvärdet som
ENDför att avsluta konversationen när ingatool_callsfinns.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 ____