Definisci una funzione che arresta il chatbot
Ora che lo stato del tuo chatbot è configurato, devi creare funzioni che gestiscano il flusso di lavoro nel grafo del chatbot. Per iniziare, costruirai una funzione should_continue() che controlla se ci sono chiamate agli strumenti (tool calls) nell’ultimo messaggio del chatbot all’interno di state, che è già stato caricato per te. Se non ci sono chiamate agli strumenti, il chatbot si ferma. Se viene chiamato uno strumento, il chatbot passa al prossimo task. Per gestire i messaggi, i seguenti moduli sono già stati importati per te.
from langgraph.graph import MessagesState, START, END
Questo esercizio fa parte del corso
Progettare sistemi agentici con LangChain
Istruzioni dell'esercizio
- Specifica il tipo di input per il parametro
stateusandoMessagesState. - Accedi all’ultimo messaggio da
stateusando"messages"per verificare le chiamate agli strumenti. - Controlla se l’ultimo messaggio contiene
tool_callse specifica il valore di ritorno come"tools"se è vero. - Specifica il valore di ritorno come
ENDper terminare la conversazione quando non sono presentitool_calls.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 ____