Usare la memoria del grafo per la conversazione
Ora che il tuo chatbot ha accesso alla memoria, puoi eseguire lo streaming delle sue risposte alle domande di follow-up. Nota che le tue domande di follow-up non avranno bisogno di contesto aggiuntivo, perché il chatbot può accedere all'intera conversazione archiviata nella sua memoria. Le domande sono già state predisposte per te.
Questo esercizio fa parte del corso
Progettare sistemi agentici con LangChain
Istruzioni dell'esercizio
- Crea un dizionario
configcon"configurable", contenente"thread_id"impostato su"single_session_memory". - Cicla su ogni
eventdel grafo, applicando il metodo.stream()agraph, passando un dizionario con"messages"che contiene iluser_inputetichettato come"user"e il dizionarioconfig. - Itera su
event.values()usandovaluee stampa"Agent:"seguito da"messages"se esiste invalueed è non vuoto.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Set up a streaming function for a single user
def stream_memory_responses(user_input: str):
____ = {"____": {"____": "____"}}
# Stream the events in the graph
for ____ in graph.____({"messages": [("user", ____)]}, ____):
# Return the agent's last response
for ____ in event.____():
if "messages" in ____ and value["____"]:
print("Agent:", value["messages"])
stream_memory_responses("Tell me about the Eiffel Tower.")
stream_memory_responses("Who built it?")