Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 ABMemory

Production-ready Memory Layer for AI Applications

让 AI 拥有真正的长期记忆 — 智能存储、自适应检索、生命周期管理

Python FastAPI Docker License

快速开始 · 文档 · API 参考 · 报告 Bug


✨ 为什么选择 ABMemory?

传统的 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
Loading

🚀 快速开始

⚡️ 30 秒一键部署

无需复杂的环境配置,使用 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 重要度计算 $Important = Decay(t) \times Freq \times Type$ 确保重要信息不被时间冲淡
A3 检索与重排序 语义 + BM25 + 时间 + 图关系 提升 Context 相关性 40%+
A4 渐进式遗忘 降权 (90d) → 归档 (180d) → 删除 (365d) 模拟人脑遗忘机制,控制存储规模
A5 冲突检测 LLM 判定 "真冲突" vs "状态演化" 解决"我搬家了"导致的新旧地址冲突
A6 智能抽取 增量更新 + 实时/会话结束触发 避免重复信息堆积
A7 图增强检索 PageRank 中心度计算 发现非显性的关联记忆

⚙️ 自适应学习闭环

系统会根据用户的显性反馈(点赞/踩)和隐性行为自动调节参数:

  • 📉 自动降权: 经常被检索但未被引用的记忆。
  • 📈 参数微调: 动态调整 BETA_SIM (相似度阈值) 和 D1 (遗忘周期)。

🛠 技术栈

我们选用了经过大规模生产验证的组件。

组件 技术选型 作用
API FastAPI 高性能异步接口
Vector DB Elasticsearch 向量 + 倒排索引混合检索
Graph DB Neo4j 知识图谱存储
Cache Redis 热点记忆与锁管理
LLM OpenAI 语义理解与抽取 (DeepSeek/Qwen等)

📚 API 文档

服务启动后,访问 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!

  • 给项目点个 Star ⭐️
  • 加入我们的 [社区]

Built with ❤️ for the AI Community.

About

Production-ready Memory Layer for AI Applications - 为LLM提供上下文自适应的长期记忆能力,支持智能存储、检索优化、生命周期管理和冲突处理

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages