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 之间共享记忆上下文

坑与注意

  1. 默认依赖 OpenAI:开箱即用依赖 OPENAI_API_KEY,如使用自托管或本地模型需额外配置 embedding 和 LLM。自托管模式下若无 API Key 则不可用。
  2. v2 → v3 迁移:如果是从 v2 升级,存储格式有变化,需参考 官方迁移文档。v3 改为 ADD-only 模式,不再有 UPDATE/DELETE 操作。
  3. NLP 增强需额外安装pip install "mem0ai[nlp]" 和 spacy 模型,否则混合搜索退化为纯语义搜索。
  4. Embedding 模型选择:官方推荐至少 Qwen 600Mgte-Qwen2-1.5B-instruct)级别的 embedding 才能发挥混合搜索优势,text-embedding-3-small 偏弱。
  5. 自托管认证:默认开启自托管认证,生产环境需妥善管理 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