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 │ │ │ │ Mem0 Core │────▶│ Qdrant │ │
│ │ (Python) │ │ (Vector DB)│ │ │ │ (Python) │ │ mem0_global_v4 │ │
│ └──────┬──────┘ └──────┬──────┘ │ │ └──────┬──────┘ │ (唯一全局 Collection) │ │
│ │ │ │ │ │ │ │ │
│ │ Embedding │ 1024 维度 │ │ │ Embedding │ ┌──────────────────┐ │ │
│ │ (DashScope) │ localhost:6333 │ │ │ v4 (1024) │ │ Payload Metadata │ │ │
│ ▼ ▼ │ │ ▼ │ │ ┌──────────────┐ │ │ │
│ ┌─────────────────────────────────────┐ │ │ ┌─────────────┐ │ │ │ agent_id │ │ │ │
│ │ MEMORY.md + memory/*.md │ │ │ │ DashScope │ │ │ │ - "main" │ │ │ │
│ │ (文本记忆 · Git 版本控制) │ │ │ │ Gemini Pro │ │ │ │ - "life" │ │ │ │
│ └─────────────────────────────────────┘ │ │ │ text-embed- │ │ │ │ user_id │ │ │ │
└──────────────────────────────────────────────────────┘ │ │ ding-v4 │ │ │ │ - "wang_..." │ │ │ │
│ └─────────────┘ │ │ └──────────────┘ │ │ │
│ │ └──────────────────┘ │ │
│ └─────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
``` ```
**配置:** **核心架构:**
- **Qdrant:** `localhost:6333` - **Qdrant:** `localhost:6333`
- **Embedding:** DashScope `text-embedding-v3` (1024 维度) - **Embedding:** Gemini Pro `text-embedding-v4` (1024 维度)
- **Collection:** `mem0_v4_main`, `mem0_v4_life` (隔离) - **Collection:** `mem0_global_v4` (**唯一全局 Collection**)
- **隔离方式:** 元数据标签软隔离 (`metadata.agent_id`)
- **更新频率:** 每 5 分钟自动同步 - **更新频率:** 每 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) ### 2. 系统服务 (Systemd Services)
@ -231,9 +260,21 @@
▼ ▼ ▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Session │ │ Session │ │ Session │ │ Session │ │ Session │ │ Session │
│ (main) │ │ (life) │ │ (new) │ │ (main) │ │ (life) │ │ Session │
│ Eason │ │ 张大师 │ │ 未来 │ │ Eason │ │ 张大师 │ │ (new) │
└──────────┘ └──────────┘ └──────────┘ │agent_id= │ │agent_id= │ │ 未来 │
│ "main" │ │ "life" │ │ │
└────┬─────┘ └────┬─────┘ └──────────┘
│ │
└──────┬───────┘
┌──────────────────────┐
│ mem0_global_v4 │
│ (唯一 Collection) │
│ metadata.agent_id │
│ 软隔离 │
└──────────────────────┘
``` ```
**关键特性:** **关键特性:**
@ -242,6 +283,7 @@
3. **共享技能** - skills/ 目录下的技能所有 Agent 可用 3. **共享技能** - skills/ 目录下的技能所有 Agent 可用
4. **独立配置** - 每个 Agent 有自己的 workspace 和配置 4. **独立配置** - 每个 Agent 有自己的 workspace 和配置
5. **统一管理** - Eason 负责所有 Agent 的部署和优化 5. **统一管理** - Eason 负责所有 Agent 的部署和优化
6. **单库融合** - 所有记忆写入唯一 Collection,通过 `metadata.agent_id` 隔离
--- ---

Loading…
Cancel
Save