Files
2026-07-10 17:59:59 +08:00

16 KiB
Executable File

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 生产部署

关键依赖

# 核心
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