ComeçarComece de graça

Faça perguntas sobre o histórico da conversa

Com um agente ReAct básico no LangChain, você pode fazer perguntas de acompanhamento mantendo o histórico de conversa do agente. Como o LLM tem acesso a todas as mensagens anteriores, agora você pode fazer novas perguntas, e o agente pode usar todo o contexto das mensagens para responder.

Agora, você fará uma pergunta de acompanhamento sobre os lados de um triângulo diferente.

Para poder usar os recursos de HumanMessage e AIMessage, os seguintes módulos já foram importados para você: HumanMessage, AIMessage.

Este exercício faz parte do curso

Projetando Sistemas Agentes com LangChain

Ver curso

Instruções do exercício

  • Atribua a pergunta em linguagem natural fornecida a new_query.
  • Invoque o objeto app, passando todas as mensagens, incluindo message_history e new_query.
  • Use uma list comprehension para extrair mensagens de response["messages"] rotuladas como HumanMessage ou AIMessage.
  • Passe a nova pergunta como entrada e imprima as mensagens extraídas passando as classes de mensagem para "agent_output".

Exercício interativo prático

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

message_history = response["messages"]
____ = "What about one with sides 12 and 14?"

# Invoke the app with the full message history
response = app.____({"messages": ____ + [("human", ____)]})

# Extract the human and AI messages from the result
filtered_messages = [msg for msg in ____["____"] if isinstance(msg, (____, ____)) and msg.content.strip()]

# Pass the new query as input and print the final outputs
print({
    "user_input": ____,
    "agent_output": [f"{msg.____.____}: {msg.content}" for msg in ____]
})
Editar e executar o código