CommencerCommencer gratuitement

Posez des questions sur l'historique de la conversation

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

Vous allez maintenant poser une question complémentaire sur les côtés d'un autre triangle.

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

Cet exercice fait partie du cours

Concevoir des systèmes agentiques avec LangChain

Afficher le cours

Instructions

  • Attribuez la question en langage naturel donnée à new_query.
  • Invoquez l'objet app en lui transmettant tous les messages, y compris les messages 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 imprimez les messages extraits en passant les classes de messages à "agent_output".

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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