让 AI 拥有真正的长期记忆 — 智能存储、自适应检索、生命周期管理
传统的 RAG 只是简单的"搜索",ABMemory 是真正的"记忆"。
| 特性 | ABMemory | 传统 RAG / Vector DB |
|---|---|---|
| 检索策略 | 🎯 上下文自适应 (动态权重调整) | 静态权重 (固定 Top-K) |
| 记忆管理 | 🧠 完整生命周期 (自动遗忘/演化) | 只增不减 (导致上下文污染) |
| 冲突处理 | 🛡️ 智能冲突检测 (区分演化与错误) | 无 (新旧信息混杂) |
| 接入难度 | 🔌 30秒 REST API | 需要大量定制开发 |
| 延迟 | ⚡️ < 100ms (P95) | 依赖外部调用,延迟不定 |
graph TD
User[用户 Query] --> Intent{意图识别}
Intent -- 提问 --> Semantic[⬆️ 语义权重]
Intent -- 时间 --> Time[⬆️ 时间权重]
Intent -- 事实 --> Keyword[⬆️ BM25权重]
Semantic & Time & Keyword --> Rerank[综合重排序]
Rerank --> Result[最终记忆召回]
style User fill:#f9f,stroke:#333
style Result fill:#bbf,stroke:#333
style Intent fill:#ff9,stroke:#333
无需复杂的环境配置,使用 Docker Compose 瞬间启动。
# 1. 克隆项目
git clone [https://github.com/your-repo/ABMemory.git](https://github.com/your-repo/ABMemory.git) && cd ABMemory/docker
# 2. 配置 API Key (使用硅基流动或其他兼容 OpenAI 格式的 Key)
cp env.example .env && echo "SILICONFLOW_API_KEY=sk-xxxx" >> .env
# 3. 启动服务 (包含 API + PG + ES + Redis + Neo4j)
docker-compose up -d
# 4. 验证健康状态
curl http://localhost:8000/api/v1/health
# {"status": "healthy", "version": "1.0.0"}点击展开:存储与检索示例代码
# 1. 存储:告诉 AI 关于你的信息
curl -X POST http://localhost:8000/api/v1/memory/store \
-H "Content-Type: application/json" \
-d '{
"user_id": "user_001",
"messages": [{"role": "user", "content": "我是一名 Python 后端工程师,喜欢用 FastAPI"}],
"extract_immediately": true
}'
# 2. 检索:测试 AI 是否记住了
curl -X POST http://localhost:8000/api/v1/memory/retrieve \
-H "Content-Type: application/json" \
-d '{
"user_id": "user_001",
"query": "我的技术栈主要是什么?",
"max_results": 3
}'ABMemory 内置 7 大核心算法,接管记忆从产生到遗忘的全过程。
| 算法 ID | 名称 | 核心逻辑 | 作用 |
|---|---|---|---|
| A1 | 多维属性打分 | 10个维度 (fact, preference 等) |
区分事实与闲聊,精准分类 |
| A2 | 重要度计算 | 确保重要信息不被时间冲淡 | |
| A3 | 检索与重排序 | 语义 + BM25 + 时间 + 图关系 | 提升 Context 相关性 40%+ |
| A4 | 渐进式遗忘 | 降权 (90d) → 归档 (180d) → 删除 (365d) | 模拟人脑遗忘机制,控制存储规模 |
| A5 | 冲突检测 | LLM 判定 "真冲突" vs "状态演化" | 解决"我搬家了"导致的新旧地址冲突 |
| A6 | 智能抽取 | 增量更新 + 实时/会话结束触发 | 避免重复信息堆积 |
| A7 | 图增强检索 | PageRank 中心度计算 | 发现非显性的关联记忆 |
系统会根据用户的显性反馈(点赞/踩)和隐性行为自动调节参数:
- 📉 自动降权: 经常被检索但未被引用的记忆。
- 📈 参数微调: 动态调整
BETA_SIM(相似度阈值) 和D1(遗忘周期)。
我们选用了经过大规模生产验证的组件。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| API | 高性能异步接口 | |
| Vector DB | 向量 + 倒排索引混合检索 | |
| Graph DB | 知识图谱存储 | |
| Cache | 热点记忆与锁管理 | |
| LLM | 语义理解与抽取 (DeepSeek/Qwen等) |
服务启动后,访问 Swagger UI 获取交互式文档: 👉 http://localhost:8000/docs
主要 Endpoint 概览:
POST /memory/store- 存储: 输入对话,异步/同步提取记忆。POST /memory/retrieve- 回忆: 根据 Query 智能召回。POST /feedback- 强化: 告诉系统某条记忆是否准确。POST /session- 会话: 创建隔离的记忆空间。
- Phase 0: 核心基座 (存储、检索、生命周期算法)
- Phase 1: 交互层 (REST API、自适应反馈回路)
- Phase 2: 图谱增强 (Neo4j 集成、实体关系发现)
- Phase 3: 多模态记忆 (支持图片 Embedding、音频片段)
- Phase 4: 隐私计算 (基于用户 ID 的物理隔离、敏感信息加密)
- Phase 5: SDK 发布 (Python/Node.js/Go 客户端)
- 更多路线持续更新中......
欢迎提交 Pull Request 或 Issue!
Built with ❤️ for the AI Community.
