Ausgaben für mehrere Tools konfigurieren
Der Graph deines Chatbots ist startklar! Jetzt kannst du testen, wie der Chatbot mit unterschiedlichen Anfragen umgeht, die verschiedene Tools erfordern. Um die Nachrichten deines Chatbots zu steuern, wurden die folgenden Module bereits importiert und die config-Parameter deines Chatbots für eine Sitzung gesetzt.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Diese Übung ist Teil des Kurses
Agentische Systeme mit LangChain entwerfen
Anleitung zur Übung
- Erstelle ein
inputs-Nachrichten-Dictionary mit derquerydes Users alscontentfürHumanMessage. - Streame
msgundmetadataaus der Chatbot-app, indem du über die Ergebnisse mit der.stream()-Methode iterierst und dabeiinputsundconfigübergibst. - Prüfe, ob jede
msgcontenthat und keineHumanMessageist, und gib dann ihrencontentaus, wobeiflushaufTruegesetzt ist, damit die Ausgabe sofort erscheint. - Teste den Chatbot mit
multi_tool_output()anhand von Anfragen, die unterschiedliche Tools erfordern.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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?")