基于 Zep 三层子图模型的长期记忆系统,用于 AI Agent 的对话记忆管理。
- 三层记忆模型: Episode → Entity/Edge → Summary
- 向量检索: OpenSearch k-NN 实现语义相似度搜索
- 知识图谱: Neo4j 存储实体关系,支持图遍历
- LLM 驱动: 自动提取实体、关系,检测主题变化生成摘要
- 主题检测: 基于 TopicEmbedding 相似度检测话题变化
- 双协议支持: HTTP REST API 和 MCP Protocol
# OpenSearch
docker run -d --name opensearch \
-p 9200:9200 \
-e "discovery.type=single-node" \
-e "DISABLE_SECURITY_PLUGIN=true" \
opensearchproject/opensearch:2.11.0
# Neo4j
docker run -d --name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/YOUR_NEO4J_PASSWORD \
neo4j:5.15.0python3 scripts/cli.py initgo build -o bin/memory ./cmd/memory
./bin/memory -config configs/config.tomlcurl http://localhost:8080/health| 文档 | 说明 |
|---|---|
| 架构设计 | 三层模型原理、设计决策、数据流 |
| API 文档 | 接口规范、请求响应示例 |
| 部署运维 | 配置、初始化、测试、故障排查 |
memory/
├── cmd/memory/ # 主程序入口
├── configs/ # 配置文件
├── internal/
│ ├── action/ # Action Chain 处理逻辑
│ ├── api/ # HTTP/MCP API Handler
│ ├── domain/ # 领域模型
│ └── server/ # 服务启动
├── pkg/ # 公共包 (genkit, graph, storage)
├── scripts/
│ ├── cli.py # 统一 CLI 工具
│ └── lib/ # Python 库
├── data/ # 测试数据
└── docs/ # 文档
| 组件 | 技术 |
|---|---|
| 向量存储 | OpenSearch 2.x (k-NN) |
| 图存储 | Neo4j 5.x |
| LLM/Embedding | 可配置 (支持 Ark 等多厂商) |
| 框架 | Firebase Genkit |