UBA_AI_Support / memory.py
alaselababatunde's picture
Updated
55fb6e2
from typing import List, Dict
import time
class SessionMemory:
def __init__(self):
# session_id -> list of messages
self.sessions: Dict[str, List[Dict[str, str]]] = {}
# session_id -> last update timestamp
self.last_update: Dict[str, float] = {}
def get_history(self, session_id: str) -> List[Dict[str, str]]:
if session_id not in self.sessions:
self.sessions[session_id] = []
return self.sessions[session_id]
def add_message(self, session_id: str, role: str, content: str):
if session_id not in self.sessions:
self.sessions[session_id] = []
self.sessions[session_id].append({"role": role, "content": content})
self.last_update[session_id] = time.time()
# Limit history to last 10 messages to keep context size manageable
if len(self.sessions[session_id]) > 10:
self.sessions[session_id] = self.sessions[session_id][-10:]
def clear_session(self, session_id: str):
if session_id in self.sessions:
del self.sessions[session_id]
if session_id in self.last_update:
del self.last_update[session_id]
# Singleton instance
memory_system = SessionMemory()