# 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 关键设计理念 1. **TagMemo 不是搜索引擎,是记忆联想引擎** - 模拟人类大脑的感知→编码→巩固→检索→重构 2. **动态适配** - 根据查询意图动态调整检索策略 3. **拓扑涌现** - 基于共现矩阵的脉冲扩散,产生非直观联想 --- ## 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. 本阶段产出要求 - [x] 团队对 Jarvis 当前 RAG 问题和目标方向达成一致 - [x] VCPToolBox 借鉴点已映射到具体 Phase - [x] 后续 phase 文档能够在这个认知基础上展开