Configurer les sorties pour plusieurs outils
Le graphique de votre chatbot est prêt à être utilisé ! Vous pouvez maintenant tester le fonctionnement du chatbot avec différentes requêtes qui devraient nécessiter des outils différents. Pour gérer les messages de votre chatbot, les modules suivants ont déjà été importés et les paramètres de votre chatbot config
ont été définis pour une session.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Cet exercice fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions
- Créez un dictionnaire de messages
inputs
avec l'adressequery
de l'utilisateur commecontent
pourHumanMessage
. - Flux
msg
etmetadata
du chatbotapp
en itérant sur les résultats à l'aide de la méthode.stream()
incorporantinputs
etconfig
. - Vérifiez si chaque
msg
acontent
et n'est pas unHumanMessage
, puis imprimez soncontent
avecflush
défini surTrue
pour une impression de sortie immédiate. - Testez le chatbot en utilisant
multi_tool_output()
avec des requêtes nécessitant différents outils.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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?")