Kom igångKom igång gratis

Aktivera flerturskonversation med minne

Nu är du nästan redo att dela din uppdaterade chattbot med skoladministrationen! För att studenterna ska få en smidig upplevelse är det viktigt att de kan ställa följdfrågor. På så sätt kan de justera sina frågor om något svar är ofullständigt. Du ska nu anpassa chattbotens strömningsfunktion för att stödja flera turer, och skriva ut både användarens fråga och chattbotens svar. För att aktivera minnet skickar LangGraph hela konversationen till LLM:en när följdfrågor ställs. Till att börja med har dina config-parametrar redan konfigurerats för en användare:

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

Den här övningen är en del av kursen

Designa agentbaserade system med LangChain

Visa kurs

Övningsinstruktioner

  • Börja varje tur med att skriva ut användarens query från listan queries.
  • Iterera genom msg och metadata med app.stream(), skicka query som content i HumanMessage tillsammans med config, och slå ihop msg.content-värdena.
  • För att extrahera chattbotens svar, skriv ut msg.content och exkludera alla msg av typen HumanMessage, och lägg till en ny rad innan nästa fråga.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod