ComeçarComece de graça

Habilite conversa de múltiplas trocas com memória

Você está quase pronto para compartilhar a atualização do seu chatbot com a administração da escola! Para que os alunos tenham uma experiência de aprendizado fluida, é importante permitir que façam perguntas de acompanhamento. Assim, se faltar alguma informação na primeira resposta do chatbot, os alunos podem ajustar suas perguntas conversando com ele. Agora você vai adaptar a função de streaming do seu chatbot para permitir múltiplas trocas, imprimindo tanto a consulta do usuário quanto a resposta do chatbot. Para habilitar a memória, o LangGraph enviará a conversa completa para o LLM quando houver perguntas de acompanhamento. Para começar, seus parâmetros de config já foram definidos para um usuário:

config = {"configurable": {"thread_id": "1"}}

Este exercício faz parte do curso

Projetando Sistemas Agentes com LangChain

Ver curso

Instruções do exercício

  • Em cada troca, comece imprimindo a query do usuário a partir da lista queries.
  • Itere por msg e metadata usando app.stream(), passando query como o content de HumanMessage junto com config, e junte os valores de msg.content.
  • Para extrair as respostas do chatbot, imprima msg.content enquanto exclui qualquer msg rotulada como HumanMessage, adicionando uma nova linha antes da próxima consulta.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Print the user query first for every interaction 
def user_agent_multiturn(queries):  
    for ____ in ____:
        print(f"User: {____}")
        
        # Stream through messages corresponding to queries, excluding metadata 
        print("Agent: " + "".join(____.____ for ____, ____ in app.____(
                {"messages": [____(____=_____)]}, config, stream_mode="messages") 
            
            # Filter out the human messages to print agent messages
            if ____.____ and not isinstance(____, ____)) + "____")       

queries = ["Is `stressed desserts?` a palindrome?", "What about the word `kayak`?",
    "What happened on the May 8th, 1945?", "What about 9 November 1989?"]
user_agent_multiturn(queries)
Editar e executar o código