memobase
首个用户画像驱动的 LLM 长期记忆系统,让 AI 记住「用户是谁」而非「任务是什么」
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
首个用户画像驱动的 LLM 长期记忆系统,让 AI 记住「用户是谁」而非「任务是什么」
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
bashpip install memobase核心使用流程极为简洁:pythonfrom memobase import Memobase, User# 初始化客户端client = Memobase(api_key="your-key", base_url="https://api.memobase.dev")# 创建用户user = client.create_user(user_id="alice-001")# 插入对话记录(Memobase 自动提取关键信息构建用户画像)user.insert(ChatBlob(content="今天学习了 Python 编程,用的是 PyCharm IDE"))# 获取完整用户画像(包含基本信息、兴趣、教育背景等)profile = user.get_profile()# → {'basic_info': {'language_spoken': ['中文']}, 'interest': {'programming': 'Python'}, ...}开发者无需手工提取实体,Memobase 内置 LLM 驱动的信息抽取管线,自动将对话内容转化为结构化的用户画像字段。这大大降低了接入成本——你只需要灌入原始对话文本,剩下的交给 Memobase。### MCP 模式:让 AI Agent 拥有记忆Memobase 还提供了 MCP Server(Model Context Protocol 服务器),这是面向 AI Agent 的核心亮点。MCP 是 Anthropic 主导的 AI 工具调用协议,主流 AI Coding 助手(如 Claude Desktop)均已支持。通过 MCP Server,AI Agent 可以直接调用三个工具:- save_memory: 将信息存入长期记忆- get_user_profiles: 获取用户完整画像- search_memories: 语义检索相关记忆对于 AI Coding 助手来说,这意味着它可以在多个会话中「记住」你项目的技术栈、架构偏好、之前的 bug 修复记录,不再每次都从头解释上下文。---## 技术架构与代码分析### 多层模块化架构Memobase 源码按职责分为三大模块:| 模块 | 路径 | 说明 ||------|------|------|| Client SDK | src/client/ | 多语言 SDK(Python/TS/Go),封装 API 调用 || MCP Server | src/mcp/ | Model Context Protocol 服务器,Docker 容器化 || Backend Server | src/server/ | 完整后端服务,含 API + 数据库 + 缓存 |Python Client 核心依赖:- pydantic: 数据模型验证(User、ChatBlob、SummaryBlob 等均有 Pydantic 模型)- httpx: 异步 HTTP 客户端(支持异步编程)- openai: LLM 调用(支持 OpenAI 兼容接口,可接入 vLLM、Ollama 等)Backend Server 技术栈:- FastAPI: 高性能 Python Web 框架,支撑 REST API- PostgreSQL + pgvector: 关系型数据库 + 向量检索,存储用户记忆并支持语义相似度搜索- Redis: 缓存层,降低数据库压力,提升读取性能MCP Server 基于 mcp[cli]>=1.3.0 构建,符合 Anthropic MCP 规范,支持 SSE 和 stdio 两种传输协议,可灵活对接不同 AI 客户端。### LLM 驱动的记忆生成管线Memobase 的核心技术亮点在于其自动用户画像生成管线。当用户输入一段对话时,后端流程如下:1. 事件抽取(Event Extraction):调用 LLM 从原始对话中提取关键事件实体(人名、地点、工具、话题等)2. 画像更新(Profile Update):基于新事件,更新用户画像的对应字段(兴趣、教育、工作等)3. 摘要生成(Summary):定期调用 LLM 生成记忆摘要,供快速读取v0.0.40 版本对该管线进行了重大优化,将单次运行中 LLM 调用次数从 3-10 次降低到固定的 3 次,Token 消耗降低 40-50%,显著控制了使用成本。### 性能设计:100ms 内响应记忆请求传统 RAG 系统需要每次从向量数据库中检索相关内容,再注入到 Prompt 中,延迟较高。Memobase 的设计思路更接近 ChatGPT 的记忆系统:为每个用户预先生成并维护一套结构化的用户画像,使用时只需执行少量 SQL 查询即可,线上延迟可控制在 100ms 以内。在 LOCOMO Benchmark(长期记忆评测基准)上,Memobase 达到了 SOTA(State-of-the-Art) 性能。---## 部署方式与门槛### 快速上手(推荐)方式一:Python SDK(适合应用集成)bashpip install memobase无额外依赖,注册 memobase.io 获取 API Key 即可使用云端服务。开发环境零配置。方式二:Docker Compose 完整部署(适合私有化)bashcd src/servercp .env.example .envdocker compose up -d一键启动 PostgreSQL(pgvector)+ Redis + Memobase API 完整服务栈。方式三:MCP Server Docker 部署(适合 AI Agent)bashcd src/mcpdocker build -t memobase-mcp .docker run -p 8050:8050 memobase-mcp### 环境要求| 资源 | 要求 ||------|------|| GPU | ❌ 不需要 || 内存 | 建议 2GB+ || 磁盘 | 2GB+(含数据库) || 必需 | Docker & Docker Compose |LLM API Key 是必须的——Memobase Server 需要 LLM 来驱动记忆生成管线,支持 OpenAI API Key 或任何 OpenAI-SDK-兼容服务(vLLM、Ollama 等)。Embedding API 可选,禁用后使用关键词检索替代语义搜索。---## 局限性与挑战1. LLM 成本不可忽视Memobase Server 每次记忆更新都需要调用 LLM API。在高频对话场景下,Token 消耗会逐步累积。虽然 v0.0.40 优化了 40-50% 成本,但长期运营仍需关注 API 费用。2. 对话上下文管理由应用负责Memobase 负责的是「记忆存储」,而非「对话管理」。你需要自行决定何时调用 insert() 灌入对话内容,以及如何将记忆融入 Prompt 中。Memobase 提供了 context API 支持自定义 Prompt 模板,这是连接记忆和 LLM 的关键桥梁。3. Embedding API 的取舍关闭 Embedding 后,Memobase 退化为纯关键词检索,对于语义相似但表述不同的问题(如「我昨天学的编程语言」vs.「Python」)检索效果会显著下降。生产环境建议开启 Embedding,这又是一笔额外成本。4. 数据隐私Memobase 的定位是「纯本地存储」(用户数据与 Memobase 自身隔离),但实际数据由你自己(或你的服务提供商)托管。如果使用云端服务,需确认数据合规要求。---## 行业意义与趋势Memobase 所在的赛道是 LLM Memory(长期记忆),这是大模型应用从「工具」走向「伴侣」的关键基础设施。当前主流解决方案包括:| 方案 | 特点 | Memobase 优势 ||------|------|----------------|| Mem0 | 通用记忆,强调 Agent 记忆 | 专注用户画像,性能更好 || GPTs / Assistant API | 官方方案,封闭 | 开放可控,支持私有部署 || RAG | 通用检索增强 | 开箱即用,但延迟高 || Memobase | 用户画像 + 低延迟 + 多语言 | 专为用户场景优化 |Memobase 的增长势头值得关注:上线不到一年已获 2700+ GitHub Stars,Discord 社区活跃,官网提供 Playground 演示。在 GitHub Trending 上多次上榜,被 Threads、LinkedIn 等平台 AI 账号持续关注。从技术趋势看,AI 应用的记忆层正成为标配能力。OpenAI 在 Assistant API 中内置 Memory,Anthropic 通过 MCP 协议开放记忆工具接口,Memobase 作为独立开源方案填补了「用户画像记忆」这一细分场景的空缺。其多语言 SDK 策略(Python/TS/Go)降低了不同技术栈团队的接入门槛,MCP 集成则使其天然适配 AI Agent 时代。---本报告基于 GitHub 仓库源码、README 文档及官方资讯生成。图片在当前网络环境下无法验证,暂不附图。