Configura i risultati per più strumenti
Il grafo del tuo chatbot è pronto! Ora puoi testare come si comporta con diverse query che dovrebbero richiedere strumenti differenti. Per gestire i messaggi del tuo chatbot, i seguenti moduli sono già stati importati e i parametri di config del tuo chatbot sono stati impostati per una sessione.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Questo esercizio fa parte del corso
Progettare sistemi agentici con LangChain
Istruzioni dell'esercizio
- Crea un dizionario di messaggio
inputscon laquerydell'utente comecontentperHumanMessage. - Emetti in streaming
msgemetadatadall'appdel chatbot iterando sui risultati usando il metodo.stream()includendoinputseconfig. - Verifica che ogni
msgabbiacontente non sia unHumanMessage, quindi stampa il suocontentconflushimpostato suTrueper stampare l'output immediatamente. - Metti alla prova il chatbot usando
multi_tool_output()con query che richiedono strumenti diversi.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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?")