Aqui estão os componentes de memória comumente usados para o LangChain:

Observação: Após definir o componente de memória, você pode passá-lo como parâmetro para a memória da cadeia e usá-lo.

ConversationBufferMemory

Um componente de memória baseado em memória, armazenando dados na memória

from langchain.memory import ConversationBufferMemory

memória = ConversationBufferMemory()
memória.save_context({"input": "oi"}, {"output": "e aí"})

RedisChatMessageHistory

Um componente de memória baseado em Redis

from langchain.memory import RedisChatMessageHistory

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

histórico.add_user_message("oi!")

histórico.add_ai_message("e aí?")

PostgresChatMessageHistory

Um componente de memória baseado em banco de dados Postgres

from langchain.memory import PostgresChatMessageHistory

histórico = PostgresChatMessageHistory(
    connection_string="postgresql://postgres:minhasenha@localhost/chat_history",
    session_id="foo",
)

histórico.add_user_message("oi!")

histórico.add_ai_message("e aí?")

MongoDBChatMessageHistory

Um componente de memória baseado em MongoDB

from langchain.memory import MongoDBChatMessageHistory

connection_string = "mongodb://usuario_mongo:minhasenhade123@mongo:27017"

histórico_mensagem = MongoDBChatMessageHistory(
    connection_string=connection_string, session_id="sessao-teste"
)

histórico_mensagem.add_user_message("oi!")

histórico_mensagem.add_ai_message("e aí?")