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?")