Pune întrebări despre istoricul conversației
Cu un agent ReAct de bază în LangChain, poți pune întrebări de urmărire păstrând istoricul conversației agentului. Deoarece LLM-ul are acces la toate mesajele anterioare, poți adresa întrebări noi, iar agentul poate folosi întregul context al conversației pentru a răspunde.
Vei pune acum o întrebare de urmărire despre laturile unui alt triunghi.
Pentru a putea folosi funcționalitățile HumanMessage și AIMessage, următoarele module au fost deja importate: HumanMessage, AIMessage.
Acest exercițiu face parte din cursul
Proiectarea sistemelor agentice cu LangChain
Instrucțiuni pentru exercițiu
- Atribuie întrebarea în limbaj natural variabilei
new_query. - Invocă obiectul
app, transmițând toate mesajele, inclusivmessage_historyșinew_query. - Folosește o înțelegere de listă pentru a extrage mesajele din
response["messages"]etichetate cuHumanMessagesauAIMessage. - Transmite noua interogare ca intrare și afișează mesajele extrase, pasând clasele de mesaje către
"agent_output".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 ____]
})