Aan de slagGa gratis aan de slag

Meergesprek met geheugen inschakelen

Je bent bijna klaar om je chatbot-update te delen met de schooladministratie! Voor een soepele leerervaring is het belangrijk dat studenten vervolgvragen kunnen stellen. Zo kunnen ze hun vraag aanpassen in een gesprek als er informatie ontbreekt in het eerste antwoord van de chatbot. Je past nu de streamingfunctie van je chatbot aan om meerdere beurten mogelijk te maken, waarbij zowel de vraag van de gebruiker als het antwoord van de chatbot worden afgedrukt. Om geheugen in te schakelen, stuurt LangGraph het volledige gesprek naar de LLM wanneer vervolgvragen worden gesteld. Ter voorbereiding zijn je config-parameters al ingesteld voor één gebruiker:

config = {"configurable": {"thread_id": "1"}}

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Begin voor elke beurt met het printen van de query van de gebruiker uit de lijst queries.
  • Itereer door msg en metadata met app.stream(), geef query door als de content van HumanMessage samen met config, en voeg de msg.content-waarden samen.
  • Print om de antwoorden van de chatbot te extraheren msg.content terwijl je alle msg met label HumanMessage overslaat, en voeg een nieuwe regel toe vóór de volgende vraag.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren