微信扫码
添加专属顾问
我要投稿
开源RAG引擎Memori为AI打造"持久记忆",解决LLM对话中的"失忆"难题,让AI真正记住用户需求。核心内容: 1. Memori如何解决RAG开发中的三大痛点 2. 项目的五大技术亮点与创新设计 3. 从架构层面解析"记忆"功能的实现原理
👆关注趣谈AI,后台回复“源码”获取源码实战
作者简介:
徐小夕,曾任职多家上市公司,多年架构经验,打造过上亿用户规模的产品,聚集于AI应用的实践落地。
最近推出了《架构师精选》专栏,会分享一线企业AI应用实践,并和大家拆解可视化搭建平台,AI产品,办公协同软件的源码实现。
最近发现了一个能解决 AI 开发核心痛点的工具 ——Memori。这个被称为 "AI 第二大脑" 的开源项目,正在用一种巧妙的方式解决 LLM 对话中 "记不住事" 的经典问题。
今天我们就来深度拆解这个项目,看看它到底有什么过人之处。
github地址:https://github.com/GibsonAI/memori
做 RAG 的朋友都知道:
向量数据库只存“外部知识”,对话一关就“失忆”;
提示词长度有限,历史记录一多就“断片”;
多租户场景下,用户隐私数据混在 prompt 里,极易泄露。
memori 把“会话级记忆”抽象成独立层,让大模型在每次请求时自动携带“相关往事”,既省 token 又合规。一句话:给 LLM 装上“私人日记本”,且日记本归用户自己保管。
会话持久化:自动分段、去重、加密落盘。
零配置召回:基于 Hybrid Retrieval(向量 + 关键词 + 时间衰减),Top-K 自动可插。
多租户隔离:Namespace + 端到端 AES, SaaS 直接抄作业。
生命周期管理:支持 TTL、手动遗忘、GDPR 一键导出。
边缘部署:50 MB 内存即可跑,树莓派当“记忆盒子”。
理解 Memori 的架构,关键要抓住 "拦截 - 处理 - 存储" 这个核心流程。下面我总结了一个它的架构总览图:
┌-------------------------┐│ Chat App / Agent │ <-- 任何 HTTP/gRPC 客户端└-----------┬-------------┘│JWT/API Key┌-----------┴-------------┐│ memori-server (TS) │ <-- 无状态,可横向扩│ ├─ REST / WebSocket ││ ├─ ACL 中间件 ││ └─ 记忆调度器 │└-----------┬-------------┘│gRPC┌-----------┴-------------┐│ memori-core (Python) │ <-- 有状态,负责召回 & 写入│ ├─ Embedding Router │ (支持 Ollama / OpenAI / Claude)│ ├─ Recall Service │ (Hybrid Retrieval)│ ├─ Memory Store │ (SQLite / PG / S3 插件)│ └─ Crypto Layer │ (AES-256-GCM,key 不归服务器)└-----------┬-------------┘│FFI┌-----------┴-------------┐│ memori-lite (Rust) │ <-- 边缘侧,50 MB 内存│ 嵌入式向量索引 │└-------------------------┘
我们可以把它拆成三个层面来看:
client.chat.completions.create()时,Memori 会先拦截请求,通过 Retrieval Agent(自动模式)或 Conscious Agent(手动模式)从数据库拉取相关记忆,悄悄塞到对话上下文里。从项目结构看,Memori 采用了高度模块化的设计:
memori/├── core/ # 核心模块:记忆接口、数据库管理│ ├── memory.py # 主类,控制双记忆模式│ ├── database.py # 数据库连接和操作├── agents/ # 智能处理代理│ ├── memory_agent.py # 提取和分类记忆│ ├── conscious_agent.py # 后台分析和优化│ └── retrieval_agent.py # 记忆检索引擎├── integrations/ # LLM适配器:OpenAI/Anthropic等├── database/ # 多数据库支持:连接和迁移工具└── tools/ # 记忆搜索工具,支持函数调用
这种设计的好处很明显:想加新数据库?改 database 模块;想支持新 LLM?加个 integration 适配器就行,核心逻辑不用动。
Memori 支持两种记忆模式,这点我认为特别贴心:
我总结了一下Memori 采用的技术方案,大家可以参考一下:
Memori 的适用范围比我想象的更广,举几个典型场景:
AI 伴侣
连续聊天 30 天不重复劝睡
法律助手
案件材料按小时增量更新,律师随时追问“上次提到第 3 条证据在哪”。
官方 demo 里的 "个人日记助手" 特别有意思,它能分析用户的情绪变化和生活规律,提供个性化建议 —— 这就是记忆能力带来的进阶体验。
想亲手试试?3 分钟就能跑起来:
pip install memorisdk# 如需PostgreSQL,额外安装:pip install psycopg2-binary
.env文件,填入 LLM 密钥(以 OpenAI 为例):OPENAI_API_KEY=sk-你的密钥test_memori.py:from memori import Memorifrom openai import OpenAI# 初始化记忆系统memori = Memori(conscious_ingest=True)memori.enable()# 初始化OpenAI客户端client = OpenAI()# 第一次对话:告诉AI你的信息client.chat.completions.create(model="gpt-4o-mini",messages=[{"role": "user", "content": "我在用Django开发博客"}])# 第二次对话:测试记忆效果response = client.chat.completions.create(model="gpt-4o-mini",messages=[{"role": "user", "content": "怎么给我的项目加评论功能?"}])print(response.choices[0].message.content)# 此时AI会自动关联"Django博客"的上下文,给出针对性建议
python test_memori.py运行后会生成memori.db(SQLite 数据库),所有记忆都存在这里,下次运行还能复用。
在 AI 应用从 "单次对话" 走向 "长期交互" 的趋势下,Memori 解决的 "记忆问题" 其实是个底层刚需。它的聪明之处在于:不用发明新的存储方案(直接用 SQL),不用复杂的集成步骤(一行代码搞定),却能实实在在降低 80% 以上的开发成本和 token 消耗。
对于开发者来说,这意味着我们能更专注于业务逻辑,不用重复造记忆系统的轮子;对于企业来说,数据存在自己的数据库里,既安全又灵活。
如果大家正在开发需要 "长期记忆" 的 AI 应用,或者受够了反复传递上下文的麻烦,不妨试试这个项目。开源社区也在快速成长,贡献代码或反馈问题,都是不错的参与方式。
关于架构专栏
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-11-17
4.5K Star!文档管理AI神器Paperless-AI:自动分类打标签,语义搜索秒找文件!
2025-11-17
最详细的 DeepAgents 实战拆解:一次看懂LangChain全新深度智能体框架
2025-11-17
让白宫“破防”的阿里千问,我替你们测了...
2025-11-15
N8N与Skyvern构建自主AI代理,实现个人秘书并不是梦想
2025-11-14
Mem0:为LLM API添加记忆功能
2025-11-13
CherryTree:开源笔记利器,助你构建知识体系
2025-11-13
从图片到结构化文本,Chandra开源OCR工具让文档处理效率翻倍
2025-11-12
我用Claude Code开发了个浏览器插件,解决看长视频的字幕定位问题(附教程)
2025-08-20
2025-09-07
2025-08-20
2025-08-26
2025-08-22
2025-09-06
2025-10-20
2025-08-22
2025-09-08
2025-10-27
2025-11-12
2025-11-10
2025-11-03
2025-10-29
2025-10-28
2025-10-13
2025-09-29
2025-09-17