docs: 更新架构文档 - 单库融合记忆系统

- 修正 Embedding 模型:text-embedding-v3 → text-embedding-v4 (Gemini Pro)
- 修正 Collection 架构:多 Collection 物理隔离 → 单库融合 + metadata 软隔离
- 添加隔离机制代码示例
- 更新单一实体架构图(添加 agent_id 标注)
master
Eason (陈医生) 1 month ago
parent abaf1b5719
commit 5357a628f4
  1. 86
      docs/SYSTEM_ARCHITECTURE.md

@ -139,33 +139,62 @@
## 🔧 共享基础设施
### 1. 记忆系统 (Memory System)
### 1. 记忆系统 (Memory System) - 单库融合架构
```
┌──────────────────────────────────────────────────────┐
│ 记忆系统架构 │
├──────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ │
┌──────────────────────────────────────────────────────────────┐
│ 记忆系统架构 (单库融合) │
├──────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Mem0 Core │────▶│ Qdrant │ │
│ │ (Python) │ │ (Vector DB)│ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ │ Embedding │ 1024 维度 │
│ │ (DashScope) │ localhost:6333 │
│ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ MEMORY.md + memory/*.md │ │
│ │ (文本记忆 · Git 版本控制) │ │
│ └─────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
│ │ (Python) │ │ mem0_global_v4 │ │
│ └──────┬──────┘ │ (唯一全局 Collection) │ │
│ │ │ │ │
│ │ Embedding │ ┌──────────────────┐ │ │
│ │ v4 (1024) │ │ Payload Metadata │ │ │
│ ▼ │ │ ┌──────────────┐ │ │ │
│ ┌─────────────┐ │ │ │ agent_id │ │ │ │
│ │ DashScope │ │ │ │ - "main" │ │ │ │
│ │ Gemini Pro │ │ │ │ - "life" │ │ │ │
│ │ text-embed- │ │ │ │ user_id │ │ │ │
│ │ ding-v4 │ │ │ │ - "wang_..." │ │ │ │
│ └─────────────┘ │ │ └──────────────┘ │ │ │
│ │ └──────────────────┘ │ │
│ └─────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
```
**配置:**
**核心架构:**
- **Qdrant:** `localhost:6333`
- **Embedding:** DashScope `text-embedding-v3` (1024 维度)
- **Collection:** `mem0_v4_main`, `mem0_v4_life` (隔离)
- **Embedding:** Gemini Pro `text-embedding-v4` (1024 维度)
- **Collection:** `mem0_global_v4` (**唯一全局 Collection**)
- **隔离方式:** 元数据标签软隔离 (`metadata.agent_id`)
- **更新频率:** 每 5 分钟自动同步
**隔离机制:**
```python
# 写入时注入 agent_id
metadata = {
"agent_id": "main", # 或 "life"
"user_id": "wang_yuanzhang",
"source": "openclaw"
}
# 检索时使用 metadata 过滤
memories = memory.search(
query,
user_id="wang_yuanzhang",
filters={"agent_id": "main"} # 软隔离关键
)
```
**架构优势:**
- ✅ **维度统一** - 避免多 Collection 维度不一致导致的崩溃风险
- ✅ **运维简化** - 单一 Collection,降低管理复杂度
- ✅ **记忆共享** - 支持跨 Agent 记忆查询(可选)
- ✅ **最佳实践** - 符合 Mem0 官方推荐的元数据隔离模式
---
### 2. 系统服务 (Systemd Services)
@ -231,9 +260,21 @@
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Session │ │ Session │ │ Session │
│ (main) │ │ (life) │ │ (new) │
│ Eason │ │ 张大师 │ │ 未来 │
└──────────┘ └──────────┘ └──────────┘
│ (main) │ │ (life) │ │ Session │
│ Eason │ │ 张大师 │ │ (new) │
│agent_id= │ │agent_id= │ │ 未来 │
│ "main" │ │ "life" │ │ │
└────┬─────┘ └────┬─────┘ └──────────┘
│ │
└──────┬───────┘
┌──────────────────────┐
│ mem0_global_v4 │
│ (唯一 Collection) │
│ metadata.agent_id │
│ 软隔离 │
└──────────────────────┘
```
**关键特性:**
@ -242,6 +283,7 @@
3. **共享技能** - skills/ 目录下的技能所有 Agent 可用
4. **独立配置** - 每个 Agent 有自己的 workspace 和配置
5. **统一管理** - Eason 负责所有 Agent 的部署和优化
6. **单库融合** - 所有记忆写入唯一 Collection,通过 `metadata.agent_id` 隔离
---

Loading…
Cancel
Save