Gespräch mit einem ReAct-Agenten

Agentische Systeme mit LangChain entwerfen

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Unterhaltung

Die Fläche eines Rechtecks mit den Seiten 5 und 7 beträgt 35 Flächeneinheiten.
  • Antworten validieren

  • User: „Wie groß ist die Fläche eines Rechtecks mit den Seiten 5 und 7?“

  • Agent: „Die Fläche eines Rechtecks mit den Seiten 5 und 7 beträgt 35 Flächeneinheiten.“
Agentische Systeme mit LangChain entwerfen

Unterhaltung

tools = [rectangle_area]
query = "Wie groß ist die Fläche eines Rechtecks mit den Seiten 14 und 4?"


# ReAct-Agent erstellen app = create_react_agent(model, tools)
# Agent mit einer Anfrage aufrufen und Nachrichten speichern response = app.invoke({"messages": [("human", query)]})
# Eingabe- und Ausgabenachrichten definieren und ausgeben print({ "user_input": query, "agent_output": response["messages"][-1].content})
Agentische Systeme mit LangChain entwerfen

Unterhaltungsausgabe

{'user_input': 'Wie groß ist die Fläche eines Rechtecks mit den Seiten 14 und 4?',
 'agent_output': 'Die Fläche eines Rechtecks mit den Seiten 14 und 4 beträgt 56 
 Flächeneinheiten.'}
Agentische Systeme mit LangChain entwerfen

Rückfragen

  • Rückfrage:
    • User: „Wie wäre es mit Seiten 12 und 14?“
  • Gesprächsverlauf:
    • User: „Wie groß ist die Fläche eines Rechtecks mit den Seiten 5 und 7?“
    • Agent: „Die Fläche eines Rechtecks mit den Seiten 5 und 7 beträgt 35 Flächeneinheiten.“
    • User: „Wie wäre es mit Seiten 12 und 14?“
    • Agent: „Die Fläche eines Rechtecks mit den Seiten 12 und 14 beträgt 168 Flächeneinheiten.“
  • Ausgabe
    • User: „Wie wäre es mit Seiten 12 und 14?“
    • Agent: „Die Fläche eines Rechtecks mit den Seiten 12 und 14 beträgt 168 Flächeneinheiten.“
Agentische Systeme mit LangChain entwerfen

Rückfragen

{'user_input': 'Wie wäre es mit Seiten 12 und 14?',

'agent_output': ['HumanMessage: Wie groß ist die Fläche eines Rechtecks mit den Seiten 5 und 7?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 5 und 7 beträgt 35 Flächeneinheiten.', 'HumanMessage: Wie wäre es mit Seiten 12 und 14?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 12 und 14 beträgt 168 Flächeneinheiten.',
'HumanMessage: Wie wäre es mit Seiten 12 und 14?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 12 und 14 beträgt 168 Flächeneinheiten.']}
Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

from langchain_core.messages import 
HumanMessage, AIMessage












Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

from langchain_core.messages import 
HumanMessage, AIMessage


message_history = messages["messages"]

Start der linearen Unterhaltungseinrichtung mit „Nachrichtenverlauf“.

Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

from langchain_core.messages import 
HumanMessage, AIMessage

message_history = messages["messages"]

new_query = "Wie wäre es mit Seiten 4 und 3?"

Unterhaltungseinrichtung mit neuer Anfrage aktualisiert.

Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

from langchain_core.messages import 
HumanMessage, AIMessage

message_history = messages["messages"]

new_query = "Wie wäre es mit Seiten 4 und 3?"
# App mit komplettem Nachrichtenverlauf aufrufen messages = app.invoke({"messages": message_history + [("human", new_query)]})

Unterhaltungseinrichtung mit App-Aufruf aktualisiert.

Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

# Human- und AI-Nachrichten extrahieren
filtered_messages = [msg for msg in 
                    messages["messages"] if 
                    isinstance(msg, 
                    (HumanMessage, 
                    AIMessage)) 
                    and msg.content.strip()]








Unterhaltungseinrichtung mit Nachrichtenfilterung aktualisiert.

Agentische Systeme mit LangChain entwerfen

Verlauf der Unterhaltung

# Human- und AI-Nachrichten extrahieren
filtered_messages = [msg for msg in 
                    messages["messages"] if 
                    isinstance(msg, 
                    (HumanMessage, 
                    AIMessage)) 
                    and msg.content.strip()]


# Endergebnis formatieren und ausgeben print({ "user_input": new_query, "agent_output": [f"{msg.__class__.__name__}: {msg.content}" for msg in filtered_messages]})

Unterhaltungseinrichtung mit Nachrichtenausgabe aktualisiert.

Agentische Systeme mit LangChain entwerfen

Ausgabe: Gesprächsverlauf

{'user_input': 'Wie wäre es mit Seiten 4 und 3?',

'agent_output': ['HumanMessage: Wie groß ist die Fläche eines Rechtecks mit den Seiten 14 und 4?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 14 und 4 beträgt 56 Flächeneinheiten.', 'HumanMessage: Wie wäre es mit Seiten 4 und 3?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 4 und 3 beträgt 12 Flächeneinheiten.',
'HumanMessage: Wie wäre es mit Seiten 4 und 3?', 'AIMessage: Die Fläche eines Rechtecks mit den Seiten 4 und 3 beträgt 12 Flächeneinheiten.']}
Agentische Systeme mit LangChain entwerfen

Lass uns üben!

Agentische Systeme mit LangChain entwerfen

Preparing Video For Download...