Aquí están los componentes de memoria comúnmente utilizados para LangChain:

Nota: Después de definir el componente de memoria, puedes pasarla como parámetro a la memoria de la cadena y usarla.

ConversationBufferMemory

Un componente de memoria basado en memoria, que almacena datos en la memoria

from langchain.memory import ConversationBufferMemory

memoria = ConversationBufferMemory()
memoria.save_context({"input": "hola"}, {"output": "¿qué tal?"})

RedisChatMessageHistory

Un componente de memoria basado en Redis

from langchain.memory import RedisChatMessageHistory

historial = RedisChatMessageHistory(
	session_id="abc123",
	url="redis://192.168.0.100:6379/0",
	key_prefix="demo_prefix:"
)

historial.add_user_message("¡hola!")

historial.add_ai_message("¿qué tal?")

PostgresChatMessageHistory

Un componente de memoria basado en la base de datos Postgres

from langchain.memory import PostgresChatMessageHistory

historial = PostgresChatMessageHistory(
    connection_string="postgresql://postgres:mypassword@localhost/chat_history",
    session_id="foo",
)

historial.add_user_message("¡hola!")

historial.add_ai_message("¿qué tal?")

MongoDBChatMessageHistory

Un componente de memoria basado en MongoDB

from langchain.memory import MongoDBChatMessageHistory

connection_string = "mongodb://mongo_user:password123@mongo:27017"

historial_mensajes = MongoDBChatMessageHistory(
    connection_string=connection_string, session_id="test-session"
)

historial_mensajes.add_user_message("¡hola!")

historial_mensajes.add_ai_message("¿qué tal?")