LoslegenKostenlos loslegen

Fragen zur Gesprächshistorie stellen

Mit einem einfachen ReAct-Agenten in LangChain kannst du Folgefragen stellen, indem du die Gesprächshistorie des Agenten beibehältst. Da das LLM Zugriff auf alle vorherigen Nachrichten hat, kannst du nun neue Fragen stellen, und der Agent kann den vollständigen Nachrichtenkontext für seine Antwort nutzen.

Jetzt stellst du eine Folgefrage zu den Seiten eines anderen Dreiecks.

Damit du die Funktionen von HumanMessage und AIMessage verwenden kannst, wurden die folgenden Module bereits für dich importiert: HumanMessage, AIMessage.

Diese Übung ist Teil des Kurses

Agentische Systeme mit LangChain entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Weise die gegebene Frage in natürlicher Sprache new_query zu.
  • Rufe das Objekt app auf und übergib alle Nachrichten, einschließlich message_history und new_query.
  • Verwende eine List Comprehension, um Nachrichten aus response["messages"] zu extrahieren, die mit HumanMessage oder AIMessage gekennzeichnet sind.
  • Übergib die neue Anfrage als Input und gib die extrahierten Nachrichten aus, indem du die Nachrichtenklassen an "agent_output" übergibst.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 ____]
})
Code bearbeiten und ausführen