File size: 859 Bytes
938a3f9 8ba5d9d 938a3f9 8ba5d9d 938a3f9 8ba5d9d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
from langchain_community.chat_message_histories import ChatMessageHistory
from typing import Optional
import logging
logger = logging.getLogger(__name__)
class MemoryStore:
_instance: Optional['MemoryStore'] = None
_memory: Optional[ChatMessageHistory] = None
def __new__(cls):
if cls._instance is None:
cls._instance = super(MemoryStore, cls).__new__(cls)
cls._memory = ChatMessageHistory()
logger.info("New MemoryStore instance created")
return cls._instance
@classmethod
def get_memory(cls) -> ChatMessageHistory:
if cls._instance is None:
cls._instance = cls()
return cls._memory
@classmethod
def clear_memory(cls):
if cls._memory is not None:
cls._memory = ChatMessageHistory()
logger.info("Memory cleared") |