尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MemOS 记忆删除接口(Delete Memory)深度解析:Cube 级物理清理与多维删除实战

MemOS 记忆删除接口(Delete Memory)深度解析:Cube 级物理清理与多维删除实战 人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin【免费下载链接】MemOSSelf-evolving memory OS for LLM AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.项目地址https://gitcode.com/gh_mirrors/memos/MemOS点击查看免费下载本篇技术指南围绕 MemOS 开源仓库中POST /product/delete_memory接口展开讲解如何通过该接口在向量数据库与图数据库中同步执行记忆的物理删除以维护记忆库的准确性与合规性。读完本文你将掌握writable_cube_ids作用域隔离、按记忆 ID / 文件 ID / Filter 过滤器三种删除模式、MemoryHandler底层清理链路以及基于MemOSClient的实战调用写法。1. 接口概览维护记忆库准确性与合规性的核心入口接口路径POST /product/delete_memory功能描述本接口用于维护记忆库的准确性与合规性。当用户要求遗忘特定信息、数据过时或需要清理特定的上传文件时可以通过此接口在向量数据库与图数据库中同步执行物理删除。在 MemOS 中记忆不是孤立存在的一条记忆既会写入向量索引供相似度召回也可能在图数据库中沉淀为实体节点与关系。如果只清理其中一侧后续检索就可能召回“幽灵记忆”或矛盾事实。因此删除接口要求向量索引与图数据库的实体节点同步移除从源头上防止召回“幻觉”。从源码结构看该接口由 server_router.py 中路由/delete_memory绑定到memory_handler.handle_delete_memories随后统一委托给naive_mem_cube的文本记忆组件执行底层抹除形成「路由 → Handler → MemCube → 存储层」的完整调用链。2. 核心机理Cube 级物理清理在开源版中删除操作遵循严格的MemCube隔离逻辑作用域限制通过writable_cube_ids参数删除操作被严格锁定在指定的记忆体中绝不会误删其他 Cube 的内容。这与写入、检索接口共用同一套 Cube 权限模型保证“写到哪里、删到哪里”的边界一致。多维删除支持按记忆 ID精确、文件 ID关联删除以及Filter 过滤器条件逻辑三种维度并发执行清理。原子性同步删除操作由MemoryHandler触发确保底层向量索引与图数据库中的实体节点同步移除防止召回“幻觉”。需要特别说明的是仓库中handle_delete_memories的实现注释明确写着Now unified to delete from text_mem only (includes preferences)即删除逻辑统一收敛到文本记忆层text_mem偏好类记忆pref_mem仅在 Filter 模式下同步联动清理见 memory_handler.py。3. 关键接口参数核心参数定义如下参数名类型必填说明writable_cube_idslist[str]是指定执行删除操作的目标 Cube 列表。memory_idslist[str]否待删除的记忆唯一标识符列表UUID。file_idslist[str]否待删除的原始文件标识符列表将同步清理该文件产生的全部记忆事实记忆与摘要。filterobject否逻辑过滤器。支持按标签、元信息或时间戳批量删除符合条件的记忆。在 product_models.py 的DeleteMemoryRequest模型中还定义了三个进阶字段用于精细化删除user_id快速删除条件按user_id移除该用户全部记忆session_id快速删除条件按会话移除记忆同时提供conversation_id作为向后兼容的别名两者同时设置且不一致时会抛出ValueError见模型校验器normalize_session_aliasauto_cleanup_working内部参数默认False按memory_ids删除时是否根据元数据中的working_binding自动连带清理相关的 WorkingMemory 节点。3.1 删除模式的互斥约束源码对三种删除模式做了严格的互斥校验memory_handler.pymemory_ids、file_ids、filter/user_id/session_id三种模式有且只能提供一种否则返回失败响应Exactly one delete mode must be provided: memory_ids, file_ids, or filter/user_id/session_id.同时若传入了filter但内容为空对象且没有附带user_id/session_id快速条件也会被拒绝filter cannot be empty. Provide a non-empty filter or user_id/session_id.这是实际使用中最容易踩的坑不要同时传memory_ids和filter也不要传空filter。4. 工作原理MemoryHandler 调用链4.1 权限与路由系统通过user_id校验操作权限并将请求路由至MemoryHandler。HTTP 层由 server_router.py 的/delete_memory路由接管转交handle_delete_memories。4.2 定位存储根据writable_cube_ids定位底层的naive_mem_cube组件删除任务最终落在其text_mem文本记忆与pref_mem偏好记忆之上。4.3 分发清理任务handle_delete_memoriesmemory_handler.py内部按模式分发按 ID 清理直接调用naive_mem_cube.text_mem.delete_by_memory_ids(memory_ids)根据 UUID 在主数据库和向量库中执行记录抹除按文件清理调用text_mem.delete_by_filter(writable_cube_ids..., file_ids...)溯源该文件解析出的全部记忆按 Filter 清理先通过_merge_delete_filter合并用户过滤器与快速删除条件user_id/session_id再检索出符合条件的记忆 ID 集合执行批量物理移除若pref_mem存在还会同步pref_mem.delete_by_filter清理偏好记忆见 preference.py。底层实现方面文本记忆树组件提供了delete_by_memory_ids与delete_by_filter两个核心方法见 tree.py负责与向量库、图数据库对接执行真正的物理删除。4.4 状态反馈操作完成后返回成功状态相关内容将立即从检索接口的召回范围中消失。成功响应示例message: Memories deleted successfully, data: {status: success}失败响应示例message: Failed to delete memories, data: {status: failure}5. 快速上手示例使用MemOSClient执行不同维度的删除操作。以下代码可直接复制到你的 Python 环境中运行# 初始化客户端 client MemOSClient(api_key..., base_url...) # 场景一精确删除单条已知的错误记忆 client.delete_memory( writable_cube_ids[user_01_private], memory_ids[2f40be8f-736c-4a5f-aada-9489037769e0] ) # 场景二批量清理某一特定标签下的所有过时记忆 client.delete_memory( writable_cube_ids[kb_finance_2026], filter{tags: {contains: deprecated_policy}} )在仓库的 client.py 中MemOSClient.delete_memory还会在客户端侧做一次模式互斥校验exactly one delete condition is required只有memory_ids、user_id、agent_id、filter恰好命中一个时才允许发起请求进一步降低误删风险。6. 注意事项不可恢复性删除操作是物理删除。一旦执行成功该记忆将无法再通过检索接口召回。生产环境建议先通过检索/查询接口确认目标 ID 无误后再执行删除。文件关联性通过file_ids删除时系统会自动溯源并清理该文件解析出的事实记忆和摘要无需手动逐条枚举。模式互斥memory_ids、file_ids、filter三种模式只能选其一filter不能为空对象。作用域边界务必显式传入writable_cube_ids将删除锁定在目标 Cube 内避免越权清理。会话/用户级快速清理若需要按user_id或session_id快速删除可直接使用DeleteMemoryRequest中的快速删除条件字段无需构造复杂 Filter。7. 延伸阅读添加记忆接口记忆检索接口按 ID 查询记忆查询记忆集合删除接口实现memory_handler.py请求模型定义product_models.py路由注册server_router.py底层删除方法tree.py、preference.py赞分享人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin【免费下载链接】MemOSSelf-evolving memory OS for LLM AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.项目地址https://gitcode.com/gh_mirrors/memos/MemOS点击查看免费下载相关推荐MemOS 删除记忆接口Delete Memory完全指南MemCube 隔离下的物理删除、过滤批量清理与向量/图谱同步机制MemOS 删除记忆接口Delete Memory完全指南MemCube 隔离下的物理删除、过滤批量清理与向量/图谱同步机制 导读 本指南围绕 MemOS人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-pluginok-ww 鸣潮自动化助手实操指南后台战斗、一键日常与声骸托管ok ww 鸣潮自动化助手实操指南后台战斗、一键日常与声骸托管 ok ww 是一款基于图像识别的开源鸣潮自动化助手通过界面模拟完成后台自动战斗、一键日常和声GUI 自动化计算机视觉RPA人工智能OpenClaw 记忆溯源与删除机制用 memory forget 精确清除可追溯的记忆产物OpenClaw 记忆溯源与删除机制用 memory forget 精确清除可追溯的记忆产物 OpenClaw 的内置记忆系统 memory core 插件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表