
人工智能大模型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 仓库在 docs/cn/open_source/evaluation/overview.md 中提供了一套完整的记忆评估框架覆盖 LoCoMo、LongMemEval、PrefEval、PersonaMem 四大主流记忆评测数据集支持以 MemOS 自身 API 为基准后端并可横向对比 mem0、Zep、Memobase、Supermemory、Memu 等第三方记忆框架。读完本文你将掌握如何部署 MemOS 记忆服务、配置评估环境、逐数据集运行评测脚本以及如何解读 LLM-as-a-Judge、词法与语义指标的评估结果。一、评估框架定位记忆系统需要可量化的基准LLM 与 AI Agent 的长对话记忆能力通常体现为“能否在后续对话中回忆起早期提及的事实”。为了把这种能力变成可复现的数字学术界与工业界沉淀了若干标准数据集LoCoMo 关注跨多轮会话的长期对话记忆、LongMemEval 侧重长上下文中的时间敏感问题、PrefEval 聚焦用户偏好记忆、PersonaMem 则围绕用户画像Persona构建问题。MemOS 的评估框架正是为这些数据集提供了开箱即用的评测工具与脚本。该框架由仓库根目录的 evaluation/ 目录承载核心能力如下数据集支持LoCoMo、LongMemEvallongmemeval_s、PrefEval、PersonaMem 四类评估入口另有 LongBench-v2 与 RAG 全上下文对照实验脚本后端支持官方优先支持memos-api与memos-api-online两种 MemOS 接入方式同时为非官方实现提供了zep、mem0、memobase、supermemory、memu的适配客户端标准化流水线每个数据集都遵循“数据摄入ingestion→ 记忆检索search→ 答案生成responses→ 自动评判eval→ 指标聚合metric”五段式流程。二、环境安装与配置2.1 设置 PYTHONPATH 与安装依赖评估脚本通过PYTHONPATH指向仓库的src目录以导入 MemOS 核心模块并依赖 poetry 管理依赖。在仓库根目录执行export PYTHONPATH../src cd evaluation # 请在仓库根目录执行注意文档中的PYTHONPATH../src与cd evaluation以仓库根目录为基准若你的evaluation目录不在仓库根目录下请按实际路径调整。随后安装评估所需的全部依赖poetry install --extras all --with eval--extras all会安装 MemOS 的完整可选依赖--with eval会额外安装评估组依赖如openai、sentence_transformers、bert_score、rouge_score、nltk、tiktoken、pandas等这些均在 evaluation/scripts/locomo/locomo_eval.py 的导入列表中可以看到。2.2 配置文件 .env框架通过环境变量注入各类 API 密钥与端点。仓库提供了模板文件 evaluation/.env-example将其复制为.env并填写真实值即可cp evaluation/.env-example evaluation/.env模板中的关键变量如下变量说明示例值MODEL/OPENAI_API_KEY/OPENAI_API_BASE记忆处理模型写入记忆时的 LLM通常为 gpt-4o-minisk-***REDACTED***CHAT_MODEL/CHAT_MODEL_BASE_URL/CHAT_MODEL_API_KEY答案生成模型gpt-4o-miniMEMOS_KEY/MEMOS_URL本地 MemOS 服务的鉴权 Token 与地址Token mpg-xxxxx/http://127.0.0.1:8001MEMOS_ONLINE_URLMemOS 在线服务地址https://memos.memtensor.cn/api/openmem/v1MEM0_API_KEYmem0 云服务密钥m0-xxxZEP_API_KEYZep 云服务密钥z_xxxMEMU_API_KEYMemu 服务密钥mu_xxxSUPERMEMORY_API_KEYSupermemory 密钥sm_xxxMEMOBASE_API_KEY/MEMOBASE_PROJECT_URLMemobase 自托管服务的密钥与项目地址xxx/http://***.***.***.***:8019从客户端实现来看SEARCH_MODE环境变量还会影响 MemOS 的检索模式默认fast见 evaluation/scripts/utils/client.py 中MemosApiClient.search的mode字段高级用户可按需覆盖。三、部署 MemOS 记忆服务本地与在线两种接入方式评估 MemOS 前需要先有一个可用的 MemOS 记忆后端。框架支持两种接入方式。3.1 本地服务推荐用于 LongMemEval 等对时间语义敏感的评测先修改{project_dir}/.env完成 MemOS 自身的环境配置然后以多 worker 方式启动 API 服务uvicorn memos.api.server_api:app --host 0.0.0.0 --port 8001 --workers 8接着在评估目录的.env中把MEMOS_URL指向该服务MEMOS_URLhttp://127.0.0.1:8001从源码看本地客户端MemosApiClient会调用POST {MEMOS_URL}/product/add写入记忆、POST {MEMOS_URL}/product/search检索记忆见 evaluation/scripts/utils/client.py因此启动的是 MemOS 的product产品接口服务入口对应 src/memos/api/server_api.py。3.2 在线服务如果使用 MemOS 云服务则在{project_dir}/evaluation/.env中配置MEMOS_KEYToken mpg-xxxxx MEMOS_ONLINE_URLhttps://memos.memtensor.cn/api/openmem/v1在线客户端MemosApiOnlineClient使用POST /add/message与POST /search/memory接口且检索响应中会额外返回preference_detail_list显式/隐式偏好与preference_note用于把用户偏好作为上下文的一部分注入答案生成见 evaluation/scripts/utils/client.py 的MemosApiOnlineClient.search。四、支持的记忆框架矩阵评估脚本统一通过--lib或脚本内的LIB变量指定记忆后端。可选的取值包括LIB 取值类型说明memos-api官方MemOS 本地服务/product/*接口memos-api-online官方MemOS 在线服务/openmem/v1接口mem0/mem0_graph非官方mem0 云记忆后者开启图谱记忆memobase非官方Memobase 自托管服务memu非官方Memu 记忆服务supermemory非官方Supermemory 云服务zep非官方Zep 图记忆服务每种后端都有对应的客户端封装在 evaluation/scripts/utils/client.py 中统一暴露add(messages, user_id, ...)与search(query, user_id, top_k)两个核心方法这使得各数据集的 ingestion/search 脚本可以完全复用同一套流程仅需替换客户端实现。这种“插件化客户端”的设计也意味着你可以基于同样的接口自行接入新的记忆框架。五、LoCoMo 评估从摄入到指标的完整流水线LoCoMoLong Conversation Memory评估关注“跨 10 个用户、多天多会话”的长期对话记忆。仓库已随附采样数据 evaluation/data/locomo/locomo10.json。5.1 一键运行编辑 evaluation/scripts/run_locomo_eval.sh 中的LIB、VERSION、WORKERS、TOPK等配置后执行evaluation/scripts/run_locomo_eval.sh脚本内部依次执行五个阶段各阶段失败即退出locomo_ingestion.py将 LoCoMo 对话按用户分批写入所选记忆后端locomo_search.py针对每个问题检索 Top-K 记忆作为上下文locomo_responses.py基于检索上下文生成答案locomo_eval.py以 LLM 作为裁判对答案打分默认--num_runs 3即每道题独立评判 3 次locomo_metric.py聚合词法、语义与耗时指标输出 JSON 与 Excel 报告。脚本默认参数为LIBmemos-api、VERSIONdefault、WORKERS10、TOPK20运行前可在文件头部直接修改。5.2 结果存放与分类评估中间结果与最终报告存放在results/locomo/{lib}-{version}/目录下包括*_locomo_responses.json、*_locomo_judged.json、*_locomo_grades.json以及*_locomo_results.xlsx。LoCoMo 的问题被划分为四类evaluation/scripts/locomo/locomo_metric.py 中的分类映射为category_mapping { 4: single hop, # 单跳 1: multi hop, # 多跳 2: temporal reasoning, # 时间推理 3: open domain, # 开放领域 }最终报告会按“总体overall、分类category、单个用户user”三个粒度分别输出得分便于定位记忆系统在哪类问题上表现薄弱。5.3 指标体系LLM 裁判 词法/语义双通道locomo_eval.py对每个“问题-答案”对同时计算两类指标LLM-as-a-Judge使用gpt-4o-mini可通过环境变量EVAL_MODEL覆盖要求模型输出CORRECT或WRONG的 JSON 标签并宽容处理“触及同一主题”的答案时间类问题允许“last Tuesday”这类相对表达。每次运行独立评判最终输出平均分与标准差NLP 指标词法lexicaltoken 级 F1、ROUGE-1/2/L F 值、BLEU-1~4、METEOR语义semantic基于Qwen/Qwen3-Embedding-0.6B的余弦相似度与 BERTScore 的bert_f1上下文与耗时context_tokens检索上下文 token 数、search_duration_ms、response_duration_ms、total_duration_ms并给出 P50/P95 分位数。这些实现细节均可在 evaluation/scripts/locomo/locomo_eval.py 与 evaluation/scripts/locomo/locomo_metric.py 中逐一核对。六、LongMemEval 评估reference_time 是关键6.1 数据集准备与运行LongMemEval 需要从 Hugging Face 下载longmemeval_s数据集保存为data/longmemeval/longmemeval_s.json相对evaluation/目录。然后运行# 编辑 evaluation/scripts/run_lme_eval.sh 中的配置 # 指定要使用的模型和记忆后端例如 mem0、zep 等 evaluation/scripts/run_lme_eval.sh脚本同样按“ingestion → search → responses → eval → metric”五段执行默认TOPK20、WORKERS10。6.2 问题日期与 reference_time 的传递机制LongMemEval 的每个问题都带有一个问题日期question_date表示“这个问题是在哪一天被问出的”。评估时必须把这个日期作为“当前时间”参考而不是脚本运行时的真实时间——否则时间推理类问题的答案判定会失真。从 evaluation/scripts/longmemeval/lme_search.py 的源码可以看到memos_search会把question_date作为reference_time显式传给客户端def memos_search(client, query, user_id, top_k, reference_timeNone): results client.search( queryquery, user_iduser_id, top_ktop_k, reference_timereference_time ) ...并在process_user中通过reference_timequestion_date完成传递。MemOS Cloud在线版目前不支持在搜索时提供问题日期因此在在线平台上运行 LongMemEval 的得分可能与完全遵循规范的结果存在差异。如果希望得到可比较的数值建议使用开源的本地 MemOS 服务器评估 LongMemEval。七、PrefEval 评估偏好记忆的三阶段流水线7.1 数据集准备PrefEval 数据集来自 Amazon Science 的 PrefEval benchmark需要下载benchmark_dataset/filtered_inter_turns.json并保存为./data/prefeval/filtered_inter_turns.json。7.2 运行与流水线# 编辑 evaluation/scripts/run_prefeval_eval.sh 中的配置 # 指定要使用的模型和记忆后端例如 mem0、zep 等 evaluation/scripts/run_prefeval_eval.shrun_prefeval_eval.sh 是各数据集中最完整的三阶段流水线示例preprocessprefeval_preprocess.py将原始数据整理为data/prefeval/pref_processed.jsonladd摄入pref_{lib}.py add将对话写入记忆后端并生成user_id映射--add-turn参数控制追加的上下文轮数可选0、10、300search检索pref_{lib}.py search基于user_id检索 Top-K 记忆TOP_K10response回答pref_{lib}.py response基于检索结果生成答案eval评判pref_eval.py对答案进行评判打分。脚本会根据LIB自动映射到对应的实现脚本如memos→pref_memos.py、mem0→pref_mem0.py结果按后端隔离存放在results/prefeval/{lib}_{version}/目录。PrefEval 的WORKERS默认 20并同时控制摄入与评判的并发度。八、PersonaMem 评估用户画像记忆PersonaMem 数据集需从 Hugging Face 获取questions_32k.csv与shared_contexts_32k.jsonl保存到data/personamem/目录。随后运行# 编辑 evaluation/scripts/run_pm_eval.sh 中的配置 # 指定要使用的模型和记忆后端例如 mem0、zep 等 # 如需使用 MIRIX请编辑 evaluation/scripts/personamem/config.yaml 中的配置 evaluation/scripts/run_pm_eval.shrun_pm_eval.sh 针对zep后端走独立的pm_ingestion_zep.py/pm_search_zep.py分支利用 Zep 的图谱语义其他后端则统一走pm_ingestion.py → pm_search.py → pm_responses.py → pm_metric.py的主干流程默认参数为WORKERS10、TOPK20。九、扩展评估OpenAI Memory 在 LoCoMo 上的手动评测除上述基于 API 的自动化评估外仓库还提供了针对 OpenAI Memory 的手动评估指南docs/cn/open_source/evaluation/openai_memory_locomo_eval_guide.md。由于 OpenAI Memory 没有公开 API整个流程需要人工介入适合作为“闭源记忆系统”对照实验的参考方案生成记忆提取输入运行文档提供的 Python 脚本把 LoCoMo 每个会话格式化为带时间戳的对话历史 提取提示输出为openai_inputs/下的.txt文件如0-D9.txt在 ChatGPT 中逐会话提取记忆开启 Settings → Personalization → Memory处理前先清除已有记忆以 GPT-4o 模型粘贴输入确认出现“Memory updated”后从记忆管理页把每条记忆复制到与输入同名的本地.txt文件中每条一行完成一个对话后务必再次清除全部记忆保证下一个对话从干净状态开始合并记忆将同一对话的所有会话记忆合并为一个conversation_0_memories.txt自动化评估运行evaluation/scripts/run_openai_eval.sh其内部调用locomo_openai.py基于合并后的记忆生成答案随后复用 LoCoMo 的locomo_eval.py与locomo_metric.py完成打分与指标聚合。文档特别提示两点注意事项免费账号与 Plus 账号在上下文长度与可存记忆数量上可能存在差异记忆提取应按会话粒度进行一次性把整段长对话丢给模型通常效果不佳容易忽略重要细节。十、结果解读与对照实验建议各数据集完成后locomo_metric.pyLoCoMo等指标聚合脚本会输出结构化 JSON 与 Excel 报告核心关注点如下LLM-as-a-Judge 分数均值 ± 标准差主指标--num_runs次独立评判的稳定性由标准差体现LoCoMo 默认 3 次分类得分LoCoMo 区分 single hop / multi hop / temporal reasoning / open domainLongMemEval 则按问题类型分类统计帮助定位记忆检索的短板例如时间推理类得分偏低往往与reference_time支持有关词法与语义指标作为 LLM 裁判的补充F1/ROUGE/BLEU/METEOR 与语义相似度/BERTScore 可以反映答案的表述贴合度耗时指标search_duration_ms、response_duration_ms的均值与 P50/P95 可用于评估记忆系统的检索时延。如需与“不依赖记忆系统”的基线对比仓库还提供 RAG 全上下文对照脚本 evaluation/scripts/run_rag_eval.sh它通过locomo_rag.py把原始对话按CHUNK_SIZE切块并拼接为完整上下文直接送入 LLM 生成答案再用同一套 eval/metric 流程打分结果存放于results/locomo/rag-{chunk}-{num_chunks}/。这组对照可以清晰说明“加入记忆检索后相比全量上下文带来的增益例如上下文 token 压缩与得分保持程度”。结语MemOS 的记忆评估框架把“记忆能力”从定性描述变成了一套可复现、可对比、可定位问题的量化流程以 LoCoMo、LongMemEval、PrefEval、PersonaMem 覆盖长期对话、时间敏感、偏好与画像四类记忆场景以统一的 ingestion/search/response/eval/metric 流水线屏蔽了后端差异并以 LLM-as-a-Judge 加词法/语义指标双通道度量答案质量。无论是验证 MemOS 自身的检索质量还是横向对比主流记忆框架这套框架都提供了可以直接落地的实验入口——相关实现与配置全部可以在 evaluation/ 目录中查阅与复现。赞分享人工智能大模型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点击查看免费下载相关推荐Hindsight Benchmarks 完整指南用 LoComo、LongMemEval 与性能测试套件评估 Agent 记忆系统Hindsight Benchmarks 完整指南用 LoComo、LongMemEval 与性能测试套件评估 Agent 记忆系统 Hindsight 是一人工智能AI AgentAgent 记忆MCP 服务Authelia 深度解析storage migrate list-up 命令与数据库 Schema 迁移预览机制Authelia 深度解析storage migrate list up 命令与数据库 Schema 迁移预览机制 本文以 authelia storage人工智能AI AgentAgent 记忆RAGMCP 服务OpenViking 记忆评测体系基于 Supermemory 与 OpenClaw 的 LoCoMo 长时对话记忆评测指南OpenViking 记忆评测体系基于 Supermemory 与 OpenClaw 的 LoCoMo 长时对话记忆评测指南 本文围绕仓库 benchmark人工智能AI AgentAgent 记忆RAG后端数据库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考