CommencezCommencez gratuitement

Poser des questions sur l'historique de conversation

Avec un agent ReAct de base dans LangChain, vous pouvez poser des questions de suivi en conservant l'historique de conversation de l'agent. Comme le LLM a accès à tous les messages précédents, vous pouvez maintenant poser de nouvelles questions et l'agent peut utiliser tout le contexte pour répondre.

Vous allez maintenant poser une question de suivi à propos des côtés d'un autre triangle.

Pour pouvoir utiliser les fonctionnalités de HumanMessage et AIMessage, les modules suivants ont déjà été importés pour vous : HumanMessage, AIMessage.

Cette activité fait partie du cours

Concevoir des systèmes agentiques avec LangChain

Voir le cours

Instructions de l’exercice

  • Assignez la question en langage naturel fournie à new_query.
  • Appelez l'objet app en lui passant tous les messages, y compris message_history et new_query.
  • Utilisez une compréhension de liste pour extraire les messages de response["messages"] étiquetés HumanMessage ou AIMessage.
  • Passez la nouvelle requête en entrée et affichez les messages extraits en transmettant les classes de messages à "agent_output".

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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 ____]
})
Modifier et exécuter le code