5.9 KiB
5.9 KiB
Phase R.0:RAG 现状与目标
日期:2026-04-03 状态:已完成 借鉴来源:VCPToolBox TagMemo V6 架构
1. 本阶段目的
本文件用于统一背景认知,明确:
- Jarvis 当前 RAG 架构处于什么水平
- 主要短板是什么
- 为什么要升级
- 升级后的目标形态是什么
- VCPToolBox 给我们什么启发
2. 当前 Jarvis RAG 架构
2.1 核心流程
用户上传文档 → DocumentService (解析/分块) → ChromaDB (向量存储) → KnowledgeService (检索)
2.2 核心文件
| 文件 | 职责 |
|---|---|
backend/app/services/document_service.py |
文档上传/解析/分块 |
backend/app/services/knowledge_service.py |
ChromaDB 向量检索/混合检索 |
backend/app/models/document.py |
Document/DocumentChunk 数据模型 |
3. 当前能力矩阵
| 能力 | 状态 | 说明 |
|---|---|---|
| 多格式文档解析 | ✅ | PDF/MD/TXT/DOCX/CSV/XLSX |
| 结构化分块 | ✅ | 基于标题层级、表格、段落 |
| 向量检索 | ✅ | ChromaDB 语义相似度 |
| 关键词检索 | ✅ | SQL LIKE |
| 混合检索 | ✅ | 向量 + 关键词加权 |
| Rerank | ✅ | 语义分×0.7 + 关键词×0.2 + 标题×0.1 |
| 上下文丰富 | ✅ | 自动获取前/后 chunk |
4. 当前短板
| 短板 | 严重程度 | 影响 |
|---|---|---|
| 无重叠分块 | 🟡 中 | 跨块边界信息丢失 |
| 单索引架构 | 🟡 中 | 无法按知识类型/重要性分层 |
| 无动态权重 | 🟡 中 | 检索策略静态,不适配查询类型 |
| 无 Tag/标签系统 | 🟡 中 | 无法利用语义标签增强检索 |
| 无懒加载机制 | 🟢 低 | 大量文档时内存占用高 |
| 无遗忘机制 | 🟢 低 | 存储无限增长 |
5. VCPToolBox TagMemo V6 核心借鉴
5.1 核心架构
日记文件变化 → TextChunker(Token感知分块85%+10%重叠)
→ EmbeddingUtils(并发批量向量化)
→ SQLite(元数据) + VexusIndex(Rust HNSW向量索引)
5.2 TagMemo V6 检索流程
Query → EPA分析(逻辑深度L/共振R) → 残差金字塔 → TagBoost(β动态权重)
→ LIF脉冲扩散(2跳) → 向量融合 → VexusIndex搜索
5.3 核心模块
| 模块 | 功能 |
|---|---|
| TextChunker | Token 感知分块,85% 安全边界 + 10% 重叠 |
| EPA | 语义空间投影分析,识别逻辑深度和跨域共振 |
| Residual Pyramid | 残差金字塔,多级剥离捕获微弱信号 |
| TagBoost | 动态权重增强,根据查询特性调整 |
| LIF Spike | 脉冲扩散,2跳拓扑联想 |
| VexusIndex | Rust HNSW 向量索引,高性能检索 |
5.4 关键设计理念
- TagMemo 不是搜索引擎,是记忆联想引擎 - 模拟人类大脑的感知→编码→巩固→检索→重构
- 动态适配 - 根据查询意图动态调整检索策略
- 拓扑涌现 - 基于共现矩阵的脉冲扩散,产生非直观联想
6. 目标架构
┌─────────────────────────────────────────────────────────────┐
│ User Query │
└─────────────────────────┬───────────────────────────────────┘
│
┌───────────┴───────────┐
│ Query Analyzer │ ← R.3 新增
│ (查询特性分析) │
└───────────┬───────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌──────────────┐
│ Default │ │ Important │ │ Code/Meeting │
│ Collection│ │ Collection │ │ Collections │
└────┬─────┘ └─────┬─────┘ └──────┬───────┘
│ │ │
└──────────────────┼─────────────────┘
▼
┌───────────────────────────┐
│ Dynamic Reranker │ ← R.3 新增
│ (Core Tag Boost + 动态权重)│
└───────────────────────────┘
│
▼
┌───────────────┐
│ Search Result │
└───────────────┘
7. 借鉴点映射
| VCPToolBox 借鉴点 | Jarvis 实现位置 | 优先级 |
|---|---|---|
| Token 感知分块(85%+10% 重叠) | services/chunker.py |
🟢 高 |
| 多索引架构 | services/multi_index.py |
🟡 中 |
| 懒加载 + LRU TTL | services/multi_index.py |
🟡 中 |
| TagBoost 动态权重 | services/dynamic_reranker.py |
🟡 中 |
| 核心标签系统(1.33x 加权) | services/core_tag_search.py |
🟡 中 |
| 语义去重 | services/deduplicator.py |
🔴 低 |
| 语义分桶 | services/semantic_bucket.py |
🔴 低 |
| EPA 分析 | - | 🔴 探索 |
| LIF 脉冲扩散 | - | 🔴 探索 |
8. 本阶段产出要求
- 团队对 Jarvis 当前 RAG 问题和目标方向达成一致
- VCPToolBox 借鉴点已映射到具体 Phase
- 后续 phase 文档能够在这个认知基础上展开