# Gene Family RAG 系统建设总计划 > 版本: Master Plan v1.0 > 制定时间: 2026-03-31 > 目标: 构建世界一流的基因家族分析RAG系统 --- ## 🎯 系统愿景 ### 最终目标 构建一个**具备领域推理能力的基因家族分析虚拟合作者**,能够: 1. 理解复杂的基因家族分析问题 2. 自动从文献中提取结构化知识 3. 提供可溯源、可验证的专业回答 4. 支持多轮对话和深度推理 ### 核心能力 ``` 用户提问: "SPL基因家族在苦荞中的系统发育分组及其表达模式" ↓ ┌─────────────────────────────────────────┐ │ 意图识别 → 查询分解 → 多源检索 → 知识整合 │ │ ↓ ↓ ↓ ↓ │ │ 系统发育 表达数据 文献证据 综合分析 │ │ 分组信息 时空模式 实验方法 结论生成 │ └─────────────────────────────────────────┘ ↓ 回答: "苦荞SPL家族分为6组(24基因),其中Group_VI在花期高表达..." [引用: PMID:31286919 Fig.2, Table S1] ``` --- ## 🏗️ 总体架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 用户交互层 (Frontend) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ Web界面 │ │ API接口 │ │ 批量处理工具 │ │ │ │ (Vue3) │ │ (FastAPI) │ │ (CLI/GUI) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │ └─────────┼────────────────┼────────────────────┼─────────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 编排控制层 (Orchestrator) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 意图识别 │ │ 查询分解 │ │ 路由决策 │ │ │ │ Intent │ │ Query │ │ Router │ │ │ │ Classifier │ │ Decomposer │ │ (技能选择) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │ └─────────┼────────────────┼────────────────────┼─────────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 技能执行层 (Skills) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 文献检索 │ │ 系统发育 │ │ 表达分析 │ │ │ │ RAG Search │ │ Phylogeny │ │ Expression │ │ │ │ │ │ Extraction │ │ Analysis │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 基因结构 │ │ 共线性分析 │ │ 功能注释 │ │ │ │ Gene │ │ Synteny │ │ Functional │ │ │ │ Structure │ │ Analysis │ │ Annotation │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据获取层 (Data Fetcher) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 向量检索 │ │ 补充材料 │ │ 外部数据库 │ │ │ │ Vector │ │ Supplement │ │ External APIs │ │ │ │ Store │ │ Fetcher │ │ (NCBI/Ensembl) │ │ │ │ (Qdrant) │ │ (v5) │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 知识存储层 (Knowledge Base) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 向量数据库 │ │ 图数据库 │ │ 文档存储 │ │ │ │ Qdrant │ │ (可选) │ │ JSON/Excel │ │ │ │ (Embedding) │ │ │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ 实体数据库 │ │ 记忆存储 │ │ 缓存层 │ │ │ │ SQLite │ │ Mem0/SQLite │ │ Redis (可选) │ │ │ │ (Genes/Papers)│ │ (对话历史) │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 📅 完整建设计划 ### Phase 0: 基础设施 (已完成 ✅) | 模块 | 功能 | 状态 | 文件 | |:---|:---|:---|:---| | 向量存储 | FAISS/Qdrant索引 | ✅ | `src/rag/vector_store*.py` | | 嵌入模型 | BGE-M3本地模型 | ✅ | `src/rag/embeddings.py` | | LLM集成 | 多提供商支持 | ✅ | `src/llm/providers/` | | API框架 | FastAPI基础 | ✅ | `api/main.py` | | 基础检索 | 关键词+向量 | ✅ | `src/rag/hybrid_retriever.py` | --- ### Phase 1: 记忆与对话 (2026-03-19 已完成 ✅) | 模块 | 功能 | 状态 | 文件 | |:---|:---|:---|:---| | 对话记忆 | 跨对话上下文 | ✅ | `src/rag/memory/memory_manager.py` | | 会话存储 | SQLite持久化 | ✅ | `src/rag/memory/conversation_store.py` | | 查询增强 | 历史上下文注入 | ✅ | 已集成到orchestrator | | Qdrant迁移 | Docker持久化 | ✅ | `src/rag/vector_store_qdrant.py` | **交付物**: - 支持连续对话 - 自动上下文增强 - 生产级向量存储 --- ### Phase 2: 检索增强 (2026-03-19 部分完成 🔄) | 模块 | 功能 | 状态 | 优先级 | |:---|:---|:---|:---| | 引用数加权 | 高引论文优先 | ✅ | P1 | | 时效性排序 | 新论文优先 | ✅ | P1 | | 自我反思 | 检查缺失→二次检索 | ⏳ | P2 | | 外部API | Semantic Scholar | ⏳ | P2 | | 多跳推理 | 关联论文追踪 | ⏳ | P3 | **交付物**: - 更智能的排序算法 - 自动补全缺失信息 - 实时文献补充 --- ### Phase 3: 系统发育提取 (2026-03-30 已完成 ✅) | 模块 | 功能 | 状态 | 文件 | |:---|:---|:---|:---| | 基础提取 | PDF文本提取 | ✅ | `extract_phylogeny_v*.py` | | 补充材料获取 | Europe PMC API | ✅ | `universal_supplementary_fetcher.py` | | 多期刊支持 | 通用适配器架构 | ✅ | 适配器模式 | | Excel解析 | 自动分组提取 | ✅ | pandas集成 | | API集成 | 提取接口 | ✅ | `api/rag_routes.py` | **交付物**: - v5 Universal提取系统 - 支持所有PMC期刊 (60%覆盖率) - Confidence 100/100 --- ### Phase 4: 知识图谱构建 (计划 4月) | 模块 | 功能 | 状态 | 预计时间 | |:---|:---|:---|:---| | 实体识别 | 基因/物种/家族 | ⏳ | 3天 | | 关系抽取 | 基因-分组-表达 | ⏳ | 5天 | | 知识融合 | 多源数据对齐 | ⏳ | 3天 | | 图数据库 | Neo4j集成 (可选) | ⏳ | 5天 | | 可视化 | 知识图谱展示 | ⏳ | 3天 | **交付物**: - 基因家族知识图谱 - 实体关系数据库 - 可视化探索工具 --- ### Phase 5: 高级分析技能 (计划 4-5月) | 技能 | 功能 | 状态 | 预计时间 | |:---|:---|:---|:---| | 表达分析 | 时空表达模式 | ⏳ | 5天 | | 基因结构 | 内含子/外显子 | ⏳ | 3天 | | 启动子分析 | 顺式元件 | ⏳ | 5天 | | 共线性分析 | 基因组共线性 | ⏳ | 5天 | | 功能注释 | GO/KEGG富集 | ⏳ | 5天 | | 比较基因组 | 多物种比较 | ⏳ | 7天 | **交付物**: - 11个标准分析阶段全覆盖 - 自动从文献提取分析结果 - 支持跨文献比较 --- ### Phase 6: 智能推理 (计划 5-6月) | 模块 | 功能 | 状态 | 预计时间 | |:---|:---|:---|:---| | 假设生成 | 基于证据的推断 | ⏳ | 7天 | | 矛盾检测 | 识别文献冲突 | ⏳ | 5天 | | 证据综合 | 多源证据加权 | ⏳ | 5天 | | 不确定性量化 | 置信度评估 | ⏳ | 5天 | | 可解释性 | 推理路径展示 | ⏳ | 5天 | **交付物**: - 类人推理能力 - 可解释的回答 - 不确定性管理 --- ### Phase 7: 生产化 (计划 6月) | 模块 | 功能 | 状态 | 预计时间 | |:---|:---|:---|:---| | 性能优化 | 毫秒级响应 | ⏳ | 7天 | | 缓存系统 | Redis多层缓存 | ⏳ | 5天 | | 监控告警 | 全链路监控 | ⏳ | 5天 | | 自动化测试 | CI/CD集成 | ⏳ | 5天 | | 文档完善 | 完整技术文档 | ⏳ | 5天 | | 用户反馈 | 反馈收集迭代 | ⏳ | 持续 | **交付物**: - 生产级稳定系统 - 完整运维体系 - 持续迭代能力 --- ## 📊 数据资源规划 ### 文献数据 | 阶段 | 数量 | 来源 | 时间 | |:---|:---|:---|:---| | 当前 | 87篇 | 手动收集 | 已完成 | | 短期 | 1,000篇 | Q1期刊批量下载 | 4月 | | 中期 | 10,000篇 | 基因家族相关 | 5月 | | 长期 | 50,000篇 | 植物基因组全量 | 6月+ | ### 知识库规模 | 指标 | 当前 | 目标 | 存储 | |:---|:---|:---|:---| | Chunks | 5,107 | 500,000 | ~10GB | | Embeddings | 5,107 | 500,000 | ~20GB | | 实体 | ~1,000 | 1,000,000 | ~5GB | | 关系 | ~5,000 | 10,000,000 | ~50GB | --- ## 🛠️ 技术栈总览 ### 核心组件 | 层级 | 技术 | 用途 | |:---|:---|:---| | 前端 | Vue 3 + Element Plus | 用户界面 | | API | FastAPI | 后端服务 | | 编排 | 自研Orchestrator | 流程控制 | | 向量 | Qdrant + BGE-M3 | 语义检索 | | 图库 | Neo4j (可选) | 知识图谱 | | 缓存 | Redis (可选) | 性能优化 | | LLM | GLM/Kimi/Ollama | 文本生成 | | 部署 | Docker + Nginx | 生产部署 | ### 关键依赖 ```python # 核心 fastapi==0.104.1 qdrant-client==1.7.0 sentence-transformers==2.2.2 pandas==2.1.3 # LLM openai==1.3.0 httpx==0.25.2 # 数据处理 PyMuPDF==1.23.8 openpyxl==3.1.2 # 可选 redis==5.0.1 neo4j==5.14.0 ``` --- ## 📈 里程碑 | 日期 | 里程碑 | 交付物 | |:---|:---|:---| | 2026-03-31 | Phase 0-3 完成 | 系统发育提取v5上线 | | 2026-04-15 | Phase 4 完成 | 知识图谱v1.0 | | 2026-04-30 | Phase 5 完成 | 11个分析技能全量 | | 2026-05-15 | Phase 6 完成 | 智能推理v1.0 | | 2026-05-31 | Phase 7 完成 | 生产级系统 | | 2026-06-30 | v2.0 发布 | 完整产品 | --- ## 💰 资源需求 ### 计算资源 | 组件 | 配置 | 成本/月 | |:---|:---|:---| | API服务器 | 8核16GB | ¥500 | | GPU推理 | RTX 4090 | ¥1,500 | | 向量数据库 | 4核8GB | ¥300 | | 存储 | 500GB SSD | ¥200 | | **总计** | | **¥2,500/月** | ### ### 人力资源 | 角色 | 人数 | 投入时间 | |:---|:---|:---| | 系统架构师 | 1 | 全职 | | 后端工程师 | 1-2 | 全职 | | 算法工程师 | 1 | 兼职 | | 前端工程师 | 1 | 兼职 | | 测试工程师 | 1 | 兼职 | --- ## 🎯 关键成功指标 (KPI) ### 技术指标 | 指标 | 当前 | 目标 | 验收标准 | |:---|:---|:---|:---| | 检索准确率 | 60% | 90% | Top-5相关度 | | 回答置信度 | 40% | 85% | 人工评估 | | 响应时间 | 5s | <1s | P95延迟 | | 系统可用性 | 95% | 99.9% | 月度统计 | ### 业务指标 | 指标 | 当前 | 目标 | |:---|:---|:---| | 支持文献数 | 87 | 50,000 | | 覆盖基因家族 | 3 | 200+ | | 支持物种 | 5 | 100+ | | 日活跃用户 | 1 | 100+ | --- ## 🚀 立即行动项 ### 今天 (3月31日) - [ ] 启动API服务测试 - [ ] 验证v5集成接口 - [ ] 测试番茄P450提取 ### 本周 (3月31日-4月6日) - [ ] 前端集成v5提取 - [ ] 批量处理脚本 - [ ] 测试10篇论文 ### 本月 (4月) - [ ] Phase 4: 知识图谱 - [ ] 扩展期刊支持 (Springer/Elsevier) - [ ] 1,000篇文献索引 --- ## 📁 相关文档 ``` gene-family-mas-v2/ ├── RAG_MASTER_PLAN.md # 本总计划 ├── INTEGRATION_PLAN.md # v5集成计划 ├── memory/ # 历史记录 │ ├── 2026-03-19-v2-phase1-complete.md │ ├── 2026-03-19-v2-phase2-3-complete.md │ └── 2026-03-30.md ├── api/ # API层 │ └── rag_routes.py # ✅ 已集成v5 ├── src/ # 核心代码 │ ├── rag/ # RAG模块 │ └── llm/ # LLM模块 └── evaluation/ # 评估结果 └── auto_results/ # 提取结果 ``` --- ## 💡 核心设计原则 1. **技能化架构** - 每个分析阶段独立技能 2. **通用提取** - 支持所有期刊的补充材料 3. **可解释性** - 每个回答可溯源到文献 4. **持续学习** - 从用户反馈中改进 5. **生产优先** - 从设计之初考虑稳定性 --- *总计划制定: 2026-03-31* *版本: Master Plan v1.0* *下次评审: 2026-04-07*