Configurer les résultats pour plusieurs outils
Le graphe de votre chatbot est prêt ! Vous pouvez maintenant tester son comportement avec différentes requêtes qui devraient nécessiter des outils distincts. Pour gérer les messages de votre chatbot, les modules suivants ont déjà été importés et les paramètres config de votre chatbot ont été définis pour une session.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Cette activité fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions de l’exercice
- Créez un dictionnaire de message
inputsavec laqueryde l'utilisateur commecontentpourHumanMessage. - Diffusez
msgetmetadataà partir de l'application de chatbotappen itérant sur les résultats avec la méthode.stream()en y intégrantinputsetconfig. - Vérifiez si chaque
msga uncontentet n'est pas unHumanMessage, puis affichez soncontentavecflushàTruepour imprimer la sortie immédiatement. - Testez le chatbot avec
multi_tool_output()à l'aide de requêtes nécessitant différents outils.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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?")