LoslegenKostenlos loslegen

Mehrstufige Unterhaltung mit Memory aktivieren

Du bist fast bereit, dein Chatbot-Update mit der Schulverwaltung zu teilen! Damit Schüler:innen eine reibungslose Lernerfahrung haben, sollten sie Rückfragen stellen können. So können sie ihre Fragen im Gespräch nachschärfen, falls in der ersten Antwort des Chatbots Informationen fehlen. Du passt jetzt die Streaming-Funktion deines Chatbots an, um mehrere Turns zu ermöglichen, und gibst dabei sowohl die Nutzeranfrage als auch die Chatbot-Antwort aus. Um Memory zu aktivieren, sendet LangGraph bei Rückfragen die gesamte Unterhaltung an das LLM. Zum Start wurden die config-Parameter für eine:n Nutzer:in bereits gesetzt:

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

Diese Übung ist Teil des Kurses

Agentische Systeme mit LangChain entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Gib für jeden Turn zuerst die query der Nutzerin bzw. des Nutzers aus der Liste queries aus.
  • Iteriere mit app.stream() über msg und metadata, übergib query als content von HumanMessage zusammen mit config, und verbinde die msg.content-Werte.
  • Um die Antworten des Chatbots zu extrahieren, gib msg.content aus und schließe dabei alle msg mit dem Label HumanMessage aus. Füge vor der nächsten Anfrage eine neue Zeile hinzu.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen