Spaces:
Running
Running
Commit
·
c287012
1
Parent(s):
bbcd957
Upd history clearer
Browse files- app.py +8 -0
- memo/memory.py +7 -0
app.py
CHANGED
|
@@ -333,6 +333,14 @@ async def delete_chat_history(user_id: str, project_id: str):
|
|
| 333 |
try:
|
| 334 |
rag.db["chat_sessions"].delete_many({"user_id": user_id, "project_id": project_id})
|
| 335 |
logger.info(f"[CHAT] Cleared history for user {user_id} project {project_id}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 336 |
return MessageResponse(message="Chat history cleared")
|
| 337 |
except Exception as e:
|
| 338 |
raise HTTPException(500, detail=f"Failed to clear chat history: {str(e)}")
|
|
|
|
| 333 |
try:
|
| 334 |
rag.db["chat_sessions"].delete_many({"user_id": user_id, "project_id": project_id})
|
| 335 |
logger.info(f"[CHAT] Cleared history for user {user_id} project {project_id}")
|
| 336 |
+
# Also clear in-memory LRU for this user to avoid stale context
|
| 337 |
+
try:
|
| 338 |
+
from memo.memory import MemoryLRU
|
| 339 |
+
memory = app.state.__dict__.setdefault("memory_lru", MemoryLRU())
|
| 340 |
+
memory.clear(user_id)
|
| 341 |
+
logger.info(f"[CHAT] Cleared in-memory LRU for user {user_id}")
|
| 342 |
+
except Exception as me:
|
| 343 |
+
logger.warning(f"[CHAT] Failed to clear in-memory LRU for user {user_id}: {me}")
|
| 344 |
return MessageResponse(message="Chat history cleared")
|
| 345 |
except Exception as e:
|
| 346 |
raise HTTPException(500, detail=f"Failed to clear chat history: {str(e)}")
|
memo/memory.py
CHANGED
|
@@ -30,3 +30,10 @@ class MemoryLRU:
|
|
| 30 |
|
| 31 |
def all(self, user_id: str) -> List[str]:
|
| 32 |
return list(self._store[user_id])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
def all(self, user_id: str) -> List[str]:
|
| 32 |
return list(self._store[user_id])
|
| 33 |
+
|
| 34 |
+
def clear(self, user_id: str) -> None:
|
| 35 |
+
"""
|
| 36 |
+
Clear all cached summaries for the given user.
|
| 37 |
+
"""
|
| 38 |
+
if user_id in self._store:
|
| 39 |
+
self._store[user_id].clear()
|