Ecco i componenti di memoria comunemente usati per LangChain:

Nota: Dopo aver definito il componente di memoria, è possibile passarlo come parametro alla memoria della catena e usarlo.

ConversationBufferMemory

Un componente di memoria basato sulla memoria, che memorizza i dati in memoria

from langchain.memory import ConversationBufferMemory

memoria = ConversationBufferMemory()
memoria.save_context({"input": "ciao"}, {"output": "che succede"})

RedisChatMessageHistory

Un componente di memoria basato su Redis

from langchain.memory import RedisChatMessageHistory

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

cronologia.add_user_message("ciao!")

cronologia.add_ai_message("che succede?")

PostgresChatMessageHistory

Un componente di memoria basato sul database Postgres

from langchain.memory import PostgresChatMessageHistory

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

cronologia.add_user_message("ciao!")

cronologia.add_ai_message("che succede?")

MongoDBChatMessageHistory

Un componente di memoria basato su MongoDB

from langchain.memory import MongoDBChatMessageHistory

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

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

cronologia_messaggi.add_user_message("ciao!")

cronologia_messaggi.add_ai_message("che succede?")