Configurar saídas para várias ferramentas
O grafo do seu chatbot está pronto! Agora você pode testar como ele se comporta com diferentes consultas que exigem ferramentas distintas. Para gerenciar as mensagens do seu chatbot, os módulos a seguir já foram importados e os parâmetros de 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 Agentes com LangChain
Instruções do exercício
- Crie um dicionário de mensagem
inputscom aquerydo usuário comocontentparaHumanMessage. - Transmita
msgemetadatado chatbotappiterando sobre os resultados usando o método.stream()incorporandoinputseconfig. - Verifique se cada
msgtemcontente não é umHumanMessage; depois, imprima seucontentcomflushdefinido comoTruepara saída imediata. - Teste o chatbot usando
multi_tool_output()com consultas que exijam 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?")