Configurar saídas para várias ferramentas
O gráfico do seu chatbot está pronto para ser usado! Agora você pode testar como o chatbot funciona com diferentes consultas que devem exigir diferentes ferramentas. Para gerenciar as mensagens do seu chatbot, os módulos a seguir já foram importados e os parâmetros config
do seu chatbot foram definidos para uma sessão.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Este exercício faz parte do curso
Projetando sistemas agênticos com LangChain
Instruções de exercício
- Crie um dicionário de mensagens
inputs
com oquery
do usuário comocontent
paraHumanMessage
. - Transmita
msg
emetadata
do chatbotapp
iterando sobre os resultados usando o método.stream()
incorporandoinputs
econfig
. - Verifique se cada
msg
temcontent
e não é umHumanMessage
e, em seguida, imprima seucontent
comflush
definido comoTrue
para impressão imediata da saída. - Teste o chatbot usando
multi_tool_output()
com consultas que exigem ferramentas diferentes.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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?")