Aan de slagGa gratis aan de slag

Stel vragen over de gespreksgeschiedenis

Met een basis-ReAct-agent in LangChain kun je vervolgvragen stellen door de gespreksgeschiedenis van de agent bij te houden. Omdat de LLM toegang heeft tot alle eerdere berichten, kun je nu nieuwe vragen stellen en kan de agent de volledige berichtcontext gebruiken om te antwoorden.

Je gaat nu een vervolgvraag stellen over de zijden van een andere driehoek.

Om de mogelijkheden van HumanMessage en AIMessage te kunnen gebruiken, zijn de volgende modules al voor je geïmporteerd: HumanMessage, AIMessage.

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Wijs de gegeven vraag in natuurlijke taal toe aan new_query.
  • Roep het app-object aan en geef alle berichten door, inclusief de message_history en de new_query.
  • Gebruik een list comprehension om berichten te extraheren uit response["messages"] met het label HumanMessage of AIMessage.
  • Geef de nieuwe vraag als input door en print de geëxtraheerde berichten door de berichtklassen door te geven aan "agent_output".

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren