Activează conversația cu mai multe rânduri folosind memoria
Ești aproape gata să împărtășești actualizarea chatbot-ului cu administrația școlii! Pentru ca studenții să aibă o experiență de învățare plăcută, este important să le permiți să adreseze întrebări de urmărire. Astfel, dacă lipsesc informații din primul răspuns al chatbot-ului, studenții pot reformula întrebările printr-o conversație. Acum vei adapta funcția de streaming a chatbot-ului pentru a permite mai multe rânduri de conversație, afișând atât interogarea utilizatorului, cât și răspunsul chatbot-ului. Pentru a activa memoria, LangGraph va trimite întreaga conversație către LLM atunci când sunt adresate întrebări de urmărire. Ca punct de plecare, parametrii config au fost deja setați pentru un singur utilizator:
config = {"configurable": {"thread_id": "1"}}
Acest exercițiu face parte din cursul
Proiectarea sistemelor agentice cu LangChain
Instrucțiuni pentru exercițiu
- Pentru fiecare rând de conversație, începe prin a afișa interogarea
querya utilizatorului din listaqueries. - Iterează prin
msgșimetadatafolosindapp.stream(), transmițândqueryca valoare a câmpuluicontentdinHumanMessageîmpreună cuconfig, și concatenează valorilemsg.content. - Pentru a extrage răspunsurile chatbot-ului, afișează
msg.contentexcluzând oricemsgetichetat caHumanMessage, adăugând o linie nouă înainte de următoarea interogare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Print the user query first for every interaction
def user_agent_multiturn(queries):
for ____ in ____:
print(f"User: {____}")
# Stream through messages corresponding to queries, excluding metadata
print("Agent: " + "".join(____.____ for ____, ____ in app.____(
{"messages": [____(____=_____)]}, config, stream_mode="messages")
# Filter out the human messages to print agent messages
if ____.____ and not isinstance(____, ____)) + "____")
queries = ["Is `stressed desserts?` a palindrome?", "What about the word `kayak`?",
"What happened on the May 8th, 1945?", "What about 9 November 1989?"]
user_agent_multiturn(queries)