ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Crie um dicionário de mensagem inputs com a query do usuário como content para HumanMessage.
  • Transmita msg e metadata do chatbot app iterando sobre os resultados usando o método .stream() incorporando inputs e config.
  • Verifique se cada msg tem content e não é um HumanMessage; depois, imprima seu content com flush definido como True para 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?")
Editar e executar o código