Mem0 项目介绍
Mem0 项目介绍
项目定位
Mem0(“mem-zero”)是一个 AI 智能记忆层,为 AI Agent 与助手提供持久化、个性化的记忆能力。它让 AI 能够记住用户偏好、适应个体需求,并在对话中持续学习——适用于客服聊天机器人、AI 助手和自主系统。
一句话概括:Mem0 是 AI 应用的”长期记忆”中间件,解决 LLM Stateless 特性导致的上下文丢失问题。
核心能力
- LLM 驱动的记忆提取:通过精心设计的提示词,从对话中自动提取事实、偏好和关系,支持 ADD-Only 策略——记忆随时间累积而非覆盖
- 多信号混合检索:语义搜索(向量相似度)+ BM25 关键词匹配 + 实体提升(entity boosting),在 LoCoMo 和 LongMemEval 基准测试中分别达到 91.6 和 94.8 分
- 实体链接:从记忆中提取实体(人名、地点、组织),建立实体-记忆多对多关联,实现跨记忆的关联检索
- 三层作用域隔离:通过
user_id(用户级)、agent_id(Agent 级)、run_id(会话级)灵活隔离记忆 - 多 Provider 支持:24 种 LLM、30 种向量存储、15 种 Embedding 模型、5 种 Reranker——按需选择
- 自托管与云平台双模式:
pip install mem0ai快速原型,或 Docker 部署团队级服务
技术栈
| 层级 | 技术选型 |
|---|---|
| 核心 SDK | Python 3.9+(Pydantic v2、SQLite) |
| TypeScript SDK | Node 20+(tsup 构建、CJS+ESM) |
| 向量存储 | Qdrant(默认)、Pinecone、pgvector、FAISS 等 30+ Provider |
| LLM | OpenAI(默认)、Anthropic、AWS Bedrock、Gemini、Ollama 等 24+ Provider |
| Embedding | OpenAI(默认)、HuggingFace、FastEmbed 等 15+ Provider |
| 图数据库 | Neo4j(可选,用于实体链接) |
| 服务端 | FastAPI + PostgreSQL/pgvector + Neo4j(Docker Compose) |
| UI | Next.js 15 + React 19 + Radix UI(OpenMemory 平台) |
架构概览
快速体验
# 安装pip install mem0ai
# 使用示例(需要 OPENAI_API_KEY 环境变量)python -c "from mem0 import Memorym = Memory()m.add('我喜欢Python和机器学习', user_id='alice')results = m.search('编程偏好', user_id='alice')print(results['results'])"教程导读
本教程分为 AI 应用通用知识 和 编程核心技术 两部分:
AI 教程(/tutorials/mem0/ai/)
| 章节 | 主题 | 引用的 Common 教程 |
|---|---|---|
| 01 | ADD-Only 记忆提取模式 | 首次覆盖 |
| 02 | LLM 驱动的对话记忆提取 | LLM 结构化提取 |
| 03 | 多信号混合检索 | RAG 流水线 |
| 04 | 实体链接与知识图谱记忆 | GraphRAG |
| 05 | 三层记忆作用域 | 记忆系统设计 |
| 06 | 程序性记忆 | 记忆系统设计 |
Dev 教程(/tutorials/mem0/dev/)
| 章节 | 主题 |
|---|---|
| 01 | 多语言单体仓库架构 |
| 02 | Provider 工厂模式与可扩展架构 |
| 03 | Pydantic 配置系统 |
| 04 | SQLite 本地状态持久化 |
| 05 | 自托管 Server 架构 |
| 06 | OpenMemory 全栈记忆平台 |
| 07 | 测试策略与 CI/CD |