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
| from abc import ABC, abstractmethod
| from config.logger import setup_logging
|
| TAG = __name__
| logger = setup_logging()
|
|
| class MemoryProviderBase(ABC):
| def __init__(self, config):
| self.config = config
| self.role_id = None
|
| def set_llm(self, llm):
| self.llm = llm
|
| @abstractmethod
| async def save_memory(self, msgs, session_id=None):
| """Save a new memory for specific role and return memory ID"""
| print("this is base func", msgs)
|
| @abstractmethod
| async def query_memory(self, query: str) -> str:
| """Query memories for specific role based on similarity"""
| return "please implement query method"
|
| def init_memory(self, role_id, llm, **kwargs):
| self.role_id = role_id
| self.llm = llm
|
|