Haz preguntas sobre el historial de la conversación
Con un agente ReAct básico en LangChain, puedes hacer preguntas de seguimiento manteniendo el historial de conversación del agente. Como el LLM tiene acceso a todos los mensajes previos, ahora puedes hacer nuevas preguntas y el agente puede usar todo el contexto de los mensajes para responder.
Ahora harás una pregunta de seguimiento sobre los lados de un triángulo diferente.
Para poder usar las capacidades de HumanMessage y AIMessage, ya se han importado por ti los siguientes módulos: HumanMessage, AIMessage.
Este ejercicio forma parte del curso
Diseño de sistemas agénticos con LangChain
Instrucciones del ejercicio
- Asigna la pregunta en lenguaje natural dada a
new_query. - Invoca el objeto
app, pasando todos los mensajes, incluidosmessage_historyynew_query. - Usa una comprensión de listas para extraer los mensajes de
response["messages"]etiquetados comoHumanMessageoAIMessage. - Pasa la nueva consulta como entrada e imprime los mensajes extraídos pasando las clases de mensaje a
"agent_output".
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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 ____]
})