RubyOld/memory.py
2025-04-08 19:52:01 -04:00

30 lines
824 B
Python

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)