import json from pathlib import Path class MemoryBuffer: def __init__(self, max_len=3, path="memory.json"): self.path = Path(path) self.max_len = max_len self.memory = [] self.load() def add(self, user_input, bot_reply): self.memory.append(f"User: {user_input}") self.memory.append(f"Bot: {bot_reply}") if len(self.memory) > self.max_len * 2: self.memory = self.memory[-self.max_len * 2:] self.save() def get_context(self): return self.memory.copy() def save(self): with open(self.path, "w", encoding="utf-8") as f: json.dump(self.memory, f) def load(self): if self.path.exists(): with open(self.path, "r", encoding="utf-8") as f: self.memory = json.load(f)