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 do exercício
- Crie um dicionário de mensagens
inputscom oquerydo usuário comocontentparaHumanMessage. - Transmita
msgemetadatado chatbotappiterando sobre os resultados usando o método.stream()incorporandoinputseconfig. - Verifique se cada
msgtemcontente não é umHumanMessagee, em seguida, imprima seucontentcomflushdefinido comoTruepara 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 completando 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?")