ComenzarEmpieza gratis

Activar conversación multigiro con memoria

¡Estás a punto de compartir la actualización de tu chatbot con la administración de la escuela! Para que los alumnos tengan una experiencia de aprendizaje fluida, es importante permitirles hacer preguntas de seguimiento. De este modo, si falta alguna información en la primera respuesta del chatbot, los alumnos pueden modificar sus preguntas manteniendo una conversación. Ahora adaptarás la función de transmisión de tu chatbot para permitir varios turnos, imprimiendo tanto la consulta del usuario como la respuesta del chatbot. Para habilitar la memoria, LangGraph enviará la conversación completa a LLM cuando se hagan preguntas de seguimiento. Para empezar, tus parámetros de config ya están configurados para un usuario:

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

Este ejercicio forma parte del curso

Diseño de Sistemas Agenéticos con LangChain

Ver curso

Instrucciones de ejercicio

  • Para cada turno, empieza imprimiendo el query del usuario de la lista queries.
  • Iterar a través de msg y metadata utilizando app.stream(), pasando query como content de HumanMessage junto con config, y unir los valores de msg.content.
  • Para extraer las respuestas del chatbot, imprime msg.content excluyendo cualquier msg etiquetado HumanMessage, añadiendo una nueva línea antes de la siguiente consulta.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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)
Editar y ejecutar código