正在打开工具详情…
正在打开工具详情…
给 AI 应用加记忆层:分 User / Session / Agent 三级记住偏好,跨会话检索。适合做长期陪伴型助手与客服;代价是默认依赖 OpenAI 做抽取与嵌入,且自托管现已默认开启鉴权。
做客服机器人、个人助理、长期陪伴型应用的人:需要跨会话记住用户偏好与历史,而不是每次从零开始。
只需要单次会话内上下文的应用——加一层记忆只是增加延迟与成本;也不适合完全不接受 OpenAI 默认依赖、又不愿自配 LLM 与嵌入模型的团队。
mem0 做的是记忆这一层:把 User / Session / Agent 三级状态分开存,做自适应个性化,跨会话检索。用法分三种——库(pip install mem0ai)、自托管服务端(cd server && make bootstrap 或 docker compose up -d)、云平台(app.mem0.ai 注册即用)。代码层面就是 add 与 search 两个动作:检索相关记忆拼进 system prompt,再把这轮对话 add 回去。
2026 年 4 月它换了新的记忆算法,README 把变化讲得很具体:单次 LLM 调用的 ADD-only 抽取(不再 UPDATE / DELETE,记忆只增不覆盖)、agent 生成的确认为一等公民、实体链接、语义 + BM25 关键词 + 实体匹配的多信号融合检索、以及时间感知排序。官方给的分数是 LoCoMo 92.5、LongMemEval 94.4、BEAM(1M) 64.1,p50 延迟 1 秒左右,但那是托管平台的成绩,含开源 SDK 没有的优化,开源用户应预期方向一致但数字不同。
两个坑。一是默认依赖 OpenAI:默认 LLM 是 gpt-5-mini、默认嵌入是 text-embedding-3-small,要换得查 Supported LLMs / Embeddings 文档;自托管想用混合检索(语义 + 关键词 + 实体)官方建议至少 Qwen 600M 级别的嵌入模型,装法是 pip install mem0ai[nlp] 加 python -m spacy download en_core_web_sm。二是自托管现在默认开启鉴权:从无鉴权的旧版升级要设 ADMIN_API_KEY、通过向导注册管理员,或用 AUTH_DISABLED=true(仅限本地开发)。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次接入会卡在哪讲:三种形态怎么选、最小可用代码长什么样、默认模型怎么换、以及自托管升级后那个鉴权开关。
| 形态 | 怎么用 | 适合 |
|---|---|---|
| 库 | pip install mem0ai | 先试、做原型 |
| 自托管服务端 | cd server && make bootstrap | 团队,跑在自己基础设施上 |
| 云平台 | 到 app.mem0.ai 注册 | 零运维的生产使用 |
只有库形态没有 dashboard,也没有鉴权与 API key;这两样从自托管开始才有。
pythonfrom openai import OpenAI
from mem0 import Memory
openai_client = OpenAI()
memory = Memory()
def chat_with_memories(message: str, user_id: str = "default_user") -> str:
relevant = memory.search(query=message, filters={"user_id": user_id}, top_k=3)
memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant["results"])
system_prompt = f"You are a helpful AI. Answer based on query and memories.\nUser Memories:\n{memories_str}"
messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]
response = openai_client.chat.completions.create(model="gpt-5-mini", messages=messages)
assistant_response = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_response})
memory.add(messages, user_id=user_id)
return assistant_response就两个动作:检索 → 拼进 system prompt → 把本轮 add 回去。
gpt-5-minitext-embedding-3-small换模型看官方的 Supported LLMs / Embeddings 文档。想要混合检索(语义 + 关键词 + 实体提升),官方建议至少 Qwen 600M 级别的嵌入模型,并安装 NLP 支持:
bashpip install mem0ai[nlp]
python -m spacy download en_core_web_sm这是升级时最容易踩的一条。自托管默认开启鉴权,从无鉴权的旧构建升上来要三选一:
ADMIN_API_KEYAUTH_DISABLED=truebashcd server && make bootstrap # 推荐:起栈 + 建管理员 + 发第一个 key
cd server && docker compose up -d # 手动:起栈后走浏览器向导2026 年 4 月后:单次 LLM 调用的 ADD-only 抽取,记忆只增不覆盖。好处是少了 UPDATE / DELETE 的额外调用;代价是纠错只能靠新增记忆去覆盖语义,旧条目仍在库里。做合规删除需求时要自己补一层。
官方分数(LoCoMo 92.5 等)来自托管平台,含开源 SDK 没有的优化,开源部署请按「方向一致、数字不同」来预期。