LoslegenKostenlos loslegen

Ermögliche Multi-Turn-Gespräche mit Speicher

Du bist fast bereit, dein Chatbot-Update mit der Schulleitung zu teilen! Damit die Schüler/innen eine reibungslose Lernerfahrung machen können, ist es wichtig, dass sie Anschlussfragen stellen können. Wenn in der ersten Antwort des Chatbots Informationen fehlen, können die Schüler/innen ihre Fragen in einem Gespräch ändern. Jetzt passt du die Streaming-Funktion deines Chatbots so an, dass er mehrere Umdrehungen ermöglicht und sowohl die Frage des Nutzers als auch die Antwort des Chatbots ausgibt. Damit du dich erinnern kannst, sendet LangGraph die gesamte Konversation an die LLM, wenn Folgefragen gestellt werden. Für den Anfang sind deine config Parameter bereits für einen Benutzer festgelegt worden:

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

Diese Übung ist Teil des Kurses

Agentensysteme mit LangChain entwerfen

Kurs anzeigen

Anleitung zur Übung

  • Beginne bei jedem Zug damit, die query des Nutzers aus der queries Liste zu drucken.
  • Iteriere durch msg und metadata mit app.stream(), übergebe query als content von HumanMessage zusammen mit config und verbinde die msg.content Werte.
  • Um die Antworten des Chatbots zu extrahieren, druckst du msg.content aus, wobei du msg mit HumanMessage ausschließt und eine neue Zeile vor der nächsten Abfrage einfügst.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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