Configureer outputs voor meerdere tools
De grafiek van je chatbot is klaar voor gebruik! Je kunt nu testen hoe de chatbot werkt met verschillende vragen die verschillende tools nodig hebben. Om de berichten van je chatbot te beheren, zijn de volgende modules al geïmporteerd en zijn de config-parameters van je chatbot ingesteld voor één sessie.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Deze oefening maakt deel uit van de cursus
Agentic Systems ontwerpen met LangChain
Oefeninstructies
- Maak een
inputs-berichtendict met dequeryvan de gebruiker alscontentvoorHumanMessage. - Stream
msgenmetadatavanuit de chatbotappdoor over de resultaten te itereren met de.stream()-methode, gebruikmakend vaninputsenconfig. - Controleer of elke
msgcontentheeft en geenHumanMessageis, en print vervolgens decontentmetflushopTruevoor directe uitvoer. - Test de chatbot met
multi_tool_output()met vragen die verschillende tools vereisen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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?")