Fix memory deletion not removing from vector store (#3610)

This commit is contained in:
Frederik Berg
2025-10-18 23:17:03 +02:00
committed by GitHub
parent 8ede1df10a
commit d5a130b785
2 changed files with 25 additions and 1 deletions
+1 -1
View File
@@ -314,7 +314,7 @@ async def delete_all_memories() -> str:
# delete the accessible memories only
for memory_id in accessible_memory_ids:
try:
memory_client.delete(memory_id)
memory_client.delete(str(memory_id))
except Exception as delete_error:
logging.warning(f"Failed to delete memory {memory_id} from vector store: {delete_error}")
+24
View File
@@ -360,8 +360,32 @@ async def delete_memories(
if not user:
raise HTTPException(status_code=404, detail="User not found")
# Get memory client to delete from vector store
try:
memory_client = get_memory_client()
if not memory_client:
raise HTTPException(
status_code=503,
detail="Memory client is not available"
)
except HTTPException:
raise
except Exception as client_error:
logging.error(f"Memory client initialization failed: {client_error}")
raise HTTPException(
status_code=503,
detail=f"Memory service unavailable: {str(client_error)}"
)
# Delete from vector store then mark as deleted in database
for memory_id in request.memory_ids:
try:
memory_client.delete(str(memory_id))
except Exception as delete_error:
logging.warning(f"Failed to delete memory {memory_id} from vector store: {delete_error}")
update_memory_state(db, memory_id, MemoryState.deleted, user.id)
return {"message": f"Successfully deleted {len(request.memory_ids)} memories"}