FARMLINGUA_FARMAI / app /memory.py
drrobot9's picture
Farmlingua updated and perfected with stt selection
a214f17 verified
Raw
History Blame Contribute Delete
698 Bytes
from collections import defaultdict
from typing import Dict, List
from app.config import config
# { uid: { "text": [...], "stt": [...] } }
_store: Dict[str, Dict[str, List[dict]]] = defaultdict(
lambda: {"text": [], "stt": []}
)
def get_history(uid: str, channel: str) -> List[dict]:
return list(_store[uid][channel])
def append_turn(uid: str, channel: str, role: str, content: str) -> None:
history = _store[uid][channel]
history.append({"role": role, "content": content})
max_messages = config.MAX_HISTORY_TURNS * 2
if len(history) > max_messages:
_store[uid][channel] = history[-max_messages:]
def clear_session(uid: str) -> None:
_store.pop(uid, None)