16 KiB
Executable File
16 KiB
Executable File
Gene Family RAG 系统建设总计划
版本: Master Plan v1.0 制定时间: 2026-03-31 目标: 构建世界一流的基因家族分析RAG系统
🎯 系统愿景
最终目标
构建一个具备领域推理能力的基因家族分析虚拟合作者,能够:
- 理解复杂的基因家族分析问题
- 自动从文献中提取结构化知识
- 提供可溯源、可验证的专业回答
- 支持多轮对话和深度推理
核心能力
用户提问: "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/ # 提取结果
💡 核心设计原则
- 技能化架构 - 每个分析阶段独立技能
- 通用提取 - 支持所有期刊的补充材料
- 可解释性 - 每个回答可溯源到文献
- 持续学习 - 从用户反馈中改进
- 生产优先 - 从设计之初考虑稳定性
总计划制定: 2026-03-31 版本: Master Plan v1.0 下次评审: 2026-04-07