mem0ai/mem0 · 上手攻略
- 仓库:mem0ai/mem0
- 链接:https://github.com/mem0ai/mem0
- 分类:ai · agent-infra · memory
- 作者:Tom
- 更新:2026-07-07
这是什么
Mem0(发音 "mem-zero")是为大语言模型应用设计的通用记忆层,让 AI 记住用户偏好、对话历史和个人习惯,从而实现真正的个性化交互。与直接把历史对话塞进上下文不同,Mem0 会用 LLM 提取、理解和组织记忆,实现自我改进的长期记忆。
核心理念:Add-only(只新增,不覆盖)——记忆不断累积,Mem0 在检索时自动融合时间感知、实体链接和混合信号(语义 + BM25 + 实体匹配),召回最相关的那条记忆,而不是被动地塞入整段历史。
GitHub Stars 60,221,周增 +371,被 YC W25 孵化。
解决什么问题
- 上下文耗尽:LLM 上下文窗口有限,长期偏好无法全量放入,Mem0 做智能压缩与按需召回。
- 用户需重复说明偏好:普通 RAG 方案不懂"Alice 喜欢暗色主题",Mem0 能提取并存储为可推理的事实。
- 跨会话记忆缺失:Agent 每次重启都是从零开始,Mem0 让 Agent 拥有持久记忆。
快速安装
Python SDK(最常用)
pip install mem0ai
增强混合搜索(推荐):
pip install "mem0ai[nlp]"
python -m spacy download en_core_web_sm
依赖:需要设置
OPENAI_API_KEY环境变量(默认用gpt-5-mini+text-embedding-3-small)。支持 OpenAI、Groq、Azure、Gemini、MiniMax 等多种 LLM,以及 Qwen、HuggingFace embedding 模型。
Node.js SDK
npm install mem0ai
CLI(管理记忆)
npm install -g @mem0/cli # 或:pip install mem0-cli
mem0 init
mem0 add "Prefers dark mode" --user-id alice
mem0 search "What does Alice prefer?" --user-id alice
核心用法
基础 Python 示例
from mem0 import Memory
# 初始化(默认使用 OpenAI GPT-5-mini + text-embedding-3-small)
memory = Memory()
# 存储记忆
memory.add(
"Alice works at Google and prefers morning meetings",
user_id="alice"
)
# 检索最相关记忆
results = memory.search(
query="What are Alice's work preferences?",
user_id="alice",
top_k=3
)
for r in results["results"]:
print(f"- {r['memory']}")
多级记忆体系
Mem0 支持三层记忆,按场景选用:
# 1. User memory — 跨会话长期记忆
memory.add("...", user_id="alice")
# 2. Session memory — 单次对话内记忆
memory.add("...", session_id="session-123")
# 3. Agent memory — Agent 自身的状态/工具知识
memory.add("...", agent_id="my-agent")
配置自定义 LLM / Embedder
from mem0 import Memory
config = {
"llm": {
"provider": "openai",
"model": "gpt-4o",
"api_key": "sk-..."
},
"embedder": {
"provider": "openai",
"model": "text-embedding-3-small"
},
"vector_store": {
"provider": "qdrant",
"collection_name": "my_memories"
}
}
memory = Memory.from_config(config)
自托管服务器(Docker)
# 一键启动(创建 admin + 首个 API key)
cd server && make bootstrap
# 手动启动
cd server && docker compose up -d
# 访问 http://localhost:3000 完成初始化向导
硬件要求:文档未列出明确要求,自托管服务器需要 Docker 环境,默认使用 Qdrant(向量库)和 PostgreSQL(+ pgvector)存储记忆。
典型适用场景
| 场景 | 说明 |
|---|---|
| AI 助手/客服机器人 | 记住用户历史问题,提供连续对话体验 |
| Personal AI Companion | 长期学习用户偏好,主动适应个人风格 |
| Healthcare | 跟踪患者历史和偏好,生成个性化健康建议 |
| 游戏/生产力工具 | 根据用户行为自适应界面和流程 |
| 多 Agent 协作 | 多个 Agent 之间共享记忆上下文 |
坑与注意
- 默认依赖 OpenAI:开箱即用依赖
OPENAI_API_KEY,如使用自托管或本地模型需额外配置 embedding 和 LLM。自托管模式下若无 API Key 则不可用。 - v2 → v3 迁移:如果是从 v2 升级,存储格式有变化,需参考 官方迁移文档。v3 改为 ADD-only 模式,不再有 UPDATE/DELETE 操作。
- NLP 增强需额外安装:
pip install "mem0ai[nlp]"和 spacy 模型,否则混合搜索退化为纯语义搜索。 - Embedding 模型选择:官方推荐至少
Qwen 600M(gte-Qwen2-1.5B-instruct)级别的 embedding 才能发挥混合搜索优势,text-embedding-3-small偏弱。 - 自托管认证:默认开启自托管认证,生产环境需妥善管理
ADMIN_API_KEY;本地开发可设AUTH_DISABLED=true(仅供临时测试)。
与同类对比
| 方案 | 特点 | 适用场景 |
|---|---|---|
| Mem0 | ADD-only 理念、多级记忆(User/Session/Agent)、混合信号检索(含 BM25 + 实体链接 + 时间感知) | 需要长期个性化记忆的 AI 应用 |
| LangChain Memory | 与 LangChain 生态紧耦合,简单但功能有限 | 已在 LangChain 体系内的项目 |
| AutoGen AgentChat Memory | 面向多 Agent 协作场景,记忆机制偏薄 | 多 Agent 对话系统 |
| Plain RAG(向量数据库) | 直接存储历史对话,无需额外框架 | 简单上下文补充,记忆逻辑不复杂时 |
Mem0 的核心差异:专为 Agent 记忆设计,而非简单的对话历史存储。多级记忆体系 + 时间感知 + 自我改进的提取算法,是其他方案不具备的。
一句话推荐结论
如果你在做 AI 应用且需要让 Agent 记住用户、记住自己、记住世界——Mem0 是目前最专注、开箱体验最好的开源记忆层,上手门槛低,v3 性能大幅提升,值得优先集成。
来源
- GitHub README:https://github.com/mem0ai/mem0
- 官方文档:https://docs.mem0.ai/introduction
- Open Source 概述:https://docs.mem0.ai/open-source/overview
- Mem0 官方平台:https://app.mem0.ai
- 官方博客/研究:https://mem0.ai/research
- PyPI:https://pypi.org/project/mem0ai/
- npm:https://www.npmjs.com/package/mem0ai