Erste SchritteKostenlos loslegen

Stelle Fragen zur Gesprächsgeschichte

Mit einem einfachen ReAct-Agenten in LangChain kannst du Folgefragen stellen, indem du den Gesprächsverlauf des Agenten aufbewahrst. Da LLM Zugriff auf alle vorherigen Nachrichten hat, kannst du jetzt neue Fragen stellen, und der Agent kann den gesamten Nachrichtenkontext nutzen, um zu antworten.

Du stellst nun eine Folgefrage zu den Seiten eines anderen Dreiecks.

Um die HumanMessage- und AIMessage-Funktionen nutzen zu können, wurden die folgenden Module bereits für dich importiert: HumanMessage, AIMessage.

Diese Übung ist Teil des Kurses

Agentensysteme mit LangChain entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Ordne die gegebene natürlichsprachliche Frage new_query zu.
  • Rufe das Objekt app auf und übergebe alle Nachrichten, einschließlich message_history und new_query.
  • Verwende ein Listenverständnis, um Nachrichten aus response["messages"] mit den Bezeichnungen HumanMessage oder AIMessage zu extrahieren.
  • Übergeben Sie die neue Abfrage als Eingabe und drucken Sie die extrahierten Nachrichten, indem Sie die Nachrichtenklassen an "agent_output" übergeben.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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 ____]
})
Bearbeiten und Ausführen von Code