Files
AIclinicalresearch/docs/00-系统总体设计/01-系统架构分层设计.md
HaHafeng a79abf88db docs(platform): Complete platform infrastructure planning
- Create platform infrastructure planning core document (766 lines)
- Update architecture design to support cloud-native deployment
- Update development specs and operations documentation
- Simplify ASL module docs by removing duplicate implementations

New Documents:
- Platform Infrastructure Planning (04-骞冲彴鍩虹璁炬柦瑙勫垝.md)
- Cloud-Native Development Standards (08-浜戝師鐢熷紑鍙戣鑼?md)
- Git Commit Standards (06-Git鎻愪氦瑙勮寖.md)
- Cloud-Native Deployment Guide (03-浜戝師鐢熼儴缃叉灦鏋勬寚鍗?md)
- Daily Summary (2025-11-16 work summary)

Updated Documents (11 files):
- System architecture design docs (3 files)
- Implementation and standards docs (4 files)
- Operations documentation (1 file)
- ASL module planning docs (3 files)

Key Achievements:
- Platform-level infrastructure architecture established
- Zero-code switching between local/cloud environments
- 100% support for 4 PRD deployment modes
- Support for modular product combinations
- 99% efficiency improvement for module development
- Net +1426 lines of quality documentation

Implementation: 2.5 days (20 hours) for 8 infrastructure modules
2025-11-16 21:36:57 +08:00

28 KiB
Raw Blame History

系统架构分层设计

文档版本: v1.0
创建日期: 2025-11-06
最后更新: 2025-11-06
文档状态: 架构设计中
作者: 技术架构师


📋 文档说明

本文档是壹证循AI科研平台的核心架构设计文档,定义了:

  1. 总体架构:平台级的基础设施和通用能力
  2. 业务模块:各个独立的产品模块
  3. 可复用能力:跨模块共享的技术能力
  4. 模块独立性:如何支持模块独立部署和销售

核心设计原则:

  • 总体与模块分离:平台基础设施与业务模块清晰分层
  • 能力可复用:通用能力在平台层统一提供
  • 模块可独立:任何模块都可以独立部署和销售
  • 架构可演进:从单体到微服务平滑演进

🏗️ 架构分层总览

三层架构

┌─────────────────────────────────────────────────────────────┐
│                      业务模块层Product Layer                │
│  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐   │
│  │  AIA   │ │  ASL   │ │  PKB   │ │  DC    │ │  SSA   │ … │
│  │智能问答│ │智能文献│ │知识库  │ │数据清洗│ │智能统计│   │
│  └────────┘ └────────┘ └────────┘ └────────┘ └────────┘   │
└─────────────────────────────────────────────────────────────┘
                              ↓ 依赖
┌─────────────────────────────────────────────────────────────┐
│                    通用能力层Capability Layer             │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │LLM网关  │ │文档处理 │ │RAG引擎  │ │数据ETL  │ …        │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
└─────────────────────────────────────────────────────────────┘
                              ↓ 依赖
┌─────────────────────────────────────────────────────────────┐
│                    平台基础层Platform Layer               │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐          │
│  │用户权限 │ │存储服务 │ │通知服务 │ │监控日志 │ …        │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘          │
└─────────────────────────────────────────────────────────────┘

📐 第一层平台基础层Platform Layer

定义

平台基础层是所有业务模块的地基,提供通用的基础设施能力。

核心特征

  • 全局唯一:整个平台只有一套
  • 业务无关:不涉及具体业务逻辑
  • 强依赖性:所有业务模块都必须依赖
  • 稳定性高:很少变动

包含的模块

1. 用户与权限中心UAM

职责:

  • 用户注册、登录、认证JWT
  • 用户信息管理
  • 角色与权限管理RBAC
  • 多租户管理SaaS版
  • Feature Flag控制版本权限

数据表:

// 平台层Schema: platform_schema
- users               // 用户基础信息
- roles               // 角色定义
- permissions         // 权限定义
- user_roles          // 用户-角色关联
- role_permissions    // 角色-权限关联
- tenants             // 租户SaaS多租户
- feature_flags       // Feature Flag配置

API示例

POST   /api/auth/register          // 注册
POST   /api/auth/login             // 登录
GET    /api/users/me               // 获取当前用户
PUT    /api/users/me               // 更新用户信息
GET    /api/users/permissions      // 获取用户权限
GET    /api/users/feature-flags    // 获取用户Feature Flag

2. 存储服务Storage Service

职责:

  • 文件上传、下载、删除
  • 支持本地开发和云端部署无缝切换
  • 统一的存储接口,业务模块无需关心底层实现

技术方案(云原生架构 - 适配器模式):

// 统一接口定义
interface StorageAdapter {
  upload(key: string, buffer: Buffer): Promise<string>
  download(key: string): Promise<Buffer>
  delete(key: string): Promise<void>
  getUrl(key: string): string
}

// 本地开发LocalAdapter
class LocalAdapter implements StorageAdapter {
  private uploadDir = './uploads'
  // 实现:保存到本地文件系统
}

// 生产环境OSSAdapter
class OSSAdapter implements StorageAdapter {
  private client: OSS
  // 实现上传到阿里云OSS
}

// 工厂类:自动切换
class StorageFactory {
  static create(): StorageAdapter {
    const type = process.env.STORAGE_TYPE || 'local'
    return type === 'oss' ? new OSSAdapter() : new LocalAdapter()
  }
}

// 业务模块使用
export const storage = StorageFactory.create()

部署架构:

环境 适配器 配置 说明
本地开发 LocalAdapter STORAGE_TYPE=local 文件存储到 ./uploads/
云端SaaS OSSAdapter STORAGE_TYPE=oss 文件存储到阿里云OSS
私有化部署 LocalAdapter STORAGE_TYPE=local 文件存储到服务器磁盘
单机版 LocalAdapter STORAGE_TYPE=local 文件存储到用户本地

业务模块使用:

// 所有业务模块ASL/AIA/PKB等统一使用
import { storage } from '@/common/storage'

// 上传不关心本地还是OSS
const url = await storage.upload('literature/123.pdf', pdfBuffer)

优势:

  • 业务代码零改动切换环境
  • 本地开发无需云服务
  • 生产环境一键切换
  • 所有模块复用同一套代码
  • 支持PRD定义的4种部署形态

实施文档: 平台基础设施规划


3. 通知服务Notification Service

职责:

  • 站内消息
  • 邮件通知
  • WebSocket实时推送

数据表:

// 平台层Schema: platform_schema
- notifications       // 通知记录
- notification_templates // 通知模板

API示例

GET    /api/notifications          // 获取通知列表
POST   /api/notifications/:id/read // 标记已读

4. 监控与日志Monitoring & Logging

职责:

  • 操作日志
  • 错误日志
  • 性能监控
  • 审计日志(合规要求)

数据表:

// 平台层Schema: platform_schema
- admin_logs          // 管理员操作日志
- error_logs          // 错误日志
- audit_logs          // 审计日志(合规)

5. 系统配置System Config

职责:

  • 系统级配置管理
  • 多环境配置(开发、测试、生产)
  • 动态配置更新

数据表:

// 平台层Schema: platform_schema
- system_configs      // 系统配置

🔧 第二层通用能力层Capability Layer

定义

通用能力层是跨业务模块共享的核心技术能力,是业务逻辑的基础。

核心特征

  • 可复用:多个业务模块共享
  • 业务相关:包含领域知识
  • 独立部署:可以独立为微服务
  • 高内聚:每个能力职责单一

包含的能力

1. LLM大模型网关LLM Gateway 核心

职责:

  • 统一管理所有LLM调用
  • 根据用户版本动态切换模型
  • 成本控制与限流
  • Token计数与计费

核心价值:

这是商业模式的技术保障:
- 基础版只能用DeepSeek-V3便宜
- 高级版可用DeepSeek + Qwen3
- 旗舰版可用DeepSeek + Qwen3 + Qwen-Long + Claude

成本控制:
- 统一监控所有LLM API调用
- 超出配额自动限流
- 按版本计费

技术架构:

// LLM Gateway统一入口
interface LLMGateway {
  // 调用LLM
  chat(params: {
    userId: string;
    modelType?: 'deepseek-v3' | 'qwen3' | 'qwen-long' | 'claude';
    messages: Message[];
    stream?: boolean;
  }): Promise<ChatResponse>;
  
  // 根据用户版本选择模型
  selectModel(userId: string, preferredModel?: string): string;
  
  // 检查配额
  checkQuota(userId: string): Promise<{ allowed: boolean; remaining: number }>;
  
  // Token计数
  countTokens(text: string): number;
}

数据表:

// 通用能力Schema: capability_schema
- llm_usage_logs      // LLM使用日志
- llm_quotas          // 用户配额

为什么是通用能力?

  • AIA模块需要AI智能问答
  • ASL模块需要AI智能文献筛选
  • PKB模块需要知识库RAG问答
  • DC模块需要数据清洗NER提取
  • 审稿模块需要(稿件审查)

所有模块都依赖LLM Gateway


2. 文档处理引擎Document Processing Engine 核心

职责:

  • 多格式文档提取PDF/Docx/Txt/Excel
  • 文本清洗与预处理
  • OCR处理
  • 表格提取

技术架构:

// Python微服务已实现
interface DocumentProcessor {
  // 提取文本
  extract(file: File, method: 'pymupdf' | 'nougat' | 'mammoth'): Promise<{
    text: string;
    metadata: {
      charCount: number;
      language: string;
      quality: number;
    };
  }>;
  
  // 提取表格
  extractTables(file: File): Promise<Table[]>;
  
  // OCR处理
  ocr(image: Buffer): Promise<string>;
}

为什么是通用能力?

  • ASL模块需要文献PDF提取
  • PKB模块需要知识库文档上传
  • DC模块需要Excel/Docx数据导入
  • 审稿模块需要(稿件文档提取)

至少4个模块依赖文档处理引擎


3. RAG引擎RAG Engine 核心

职责:

  • 向量化存储Embedding
  • 语义检索Semantic Search
  • 检索增强生成RAG
  • Rerank重排序

技术架构:

// 基于Dify或自建向量数据库
interface RAGEngine {
  // 创建知识库
  createDataset(name: string, description?: string): Promise<string>;
  
  // 上传文档
  uploadDocument(datasetId: string, file: File): Promise<string>;
  
  // 语义检索
  search(datasetId: string, query: string, topK?: number): Promise<SearchResult[]>;
  
  // RAG问答
  chatWithRAG(datasetId: string, query: string, history?: Message[]): Promise<string>;
}

为什么是通用能力?

  • PKB模块需要个人知识库问答
  • ASL模块需要文献内容检索
  • AIA模块需要@知识库问答)

至少3个模块依赖RAG引擎


4. 数据ETL引擎Data ETL Engine 中等

职责:

  • Excel多表JOIN
  • 数据清洗
  • 数据转换
  • 数据验证

技术架构:

# Python微服务基于Polars
class ETLEngine:
    # 读取多个Excel
    def read_excel(self, files: List[File]) -> List[DataFrame]:
        pass
    
    # JOIN操作
    def join(self, dfs: List[DataFrame], keys: List[str]) -> DataFrame:
        pass
    
    # 数据清洗
    def clean(self, df: DataFrame, rules: Dict) -> DataFrame:
        pass
    
    # 导出
    def export(self, df: DataFrame, format: str) -> bytes:
        pass

为什么是通用能力?

  • DC模块需要数据清洗整理
  • SSA模块需要统计分析数据预处理

至少2个模块依赖ETL引擎


5. 医学NLP引擎Medical NLP Engine 中等

职责:

  • 医学实体识别NER
  • 医学术语标准化
  • 疾病/药物识别

技术架构:

# Python微服务基于spaCy + 医学模型)
class MedicalNLP:
    # 实体识别
    def extract_entities(self, text: str) -> List[Entity]:
        pass
    
    # 术语标准化
    def normalize(self, term: str) -> str:
        pass
    
    # 疾病识别
    def extract_diseases(self, text: str) -> List[str]:
        pass

为什么是通用能力?

  • DC模块需要病例数据NER提取
  • ASL模块可能需要文献关键词提取

🎨 第三层业务模块层Product Layer

定义

业务模块层是面向用户的产品功能,每个模块都是独立的产品单元。

核心特征

  • 独立部署:可以单独打包部署
  • 独立销售:可以单独售卖
  • 低耦合:模块间不直接依赖
  • 高内聚:模块内功能完整

模块清单

模块代号 模块名称 核心功能 商业价值 技术栈 依赖的通用能力
AIA AI智能问答 10+智能体 差异化 Node.js + Dify LLM网关、RAG引擎
ASL AI智能文献 文献筛选、提取 核心 Node.js + Python LLM网关、文档处理、RAG引擎
PKB 个人知识库 RAG问答 辅助 Node.js + Dify LLM网关、文档处理、RAG引擎
DC 数据清洗整理 自动ETL + NER 核心 Node.js + Python LLM网关、文档处理、ETL引擎、医学NLP
SSA 智能统计分析 3条分析路径 刚需 Node.js + R 文档处理、ETL引擎
ST 统计分析工具 100+小工具 高频 Node.js + R 文档处理
RVW 稿件审查系统 方法学评估 独立 Node.js + Python LLM网关、文档处理

业务模块详述

1. AIA - AI智能问答模块 已完成

当前状态:

  • 10个智能体已实现
  • 多轮对话
  • 流式输出
  • 模型切换
  • @知识库问答

数据Schema

// 业务模块Schema: aia_schema
- projects            // 项目
- conversations       // 对话
- messages            // 消息
- agents_config       // 智能体配置

独立部署能力:

  • 前端:可独立打包
  • 后端可独立运行依赖LLM网关、RAG引擎
  • 数据库独立Schema
  • ⚠️ 需要:平台层(用户认证)

2. ASL - AI智能文献模块 规划中

核心功能:

  1. 标题摘要初筛双模型AI判断
  2. 全文复筛PDF全文分析
  3. 全文解析与数据提取
  4. 数据分析与报告生成
  5. 系统评价与Meta分析
  6. 文献管理

数据Schema

// 业务模块Schema: asl_schema
- literature_projects         // 文献项目
- literature_items            // 文献条目
- pico_configs                // PICO(S)配置
- screening_results           // 筛选结果
- screening_history           // 筛选历史
- extraction_tasks            // 提取任务
- extraction_results          // 提取结果
- meta_analysis_tasks         // Meta分析任务

独立部署能力:

  • 前端独立React应用
  • 后端独立Node.js服务
  • 数据库独立Schema
  • 依赖LLM网关、文档处理、RAG引擎

独立销售价值: 非常高!

  • 可以作为独立产品"AI文献筛选系统"售卖
  • 目标客户:系统评价研究者、循证医学中心

3. PKB - 个人知识库模块 已完成

当前状态:

  • 知识库CRUD
  • 文档上传
  • RAG问答
  • @知识库引用

数据Schema

// 业务模块Schema: pkb_schema
- knowledge_bases     // 知识库
- documents           // 文档

独立部署能力:

  • 前端:可独立打包
  • 后端:可独立运行
  • 数据库独立Schema
  • 依赖LLM网关、文档处理、RAG引擎

4. DC - 数据清洗整理模块 规划中

核心功能:

  1. 多Excel文件导入
  2. 自动JOIN和清洗
  3. 医学NER实体提取
  4. 数据质量报告
  5. 导出标准化数据

数据Schema

// 业务模块Schema: dc_schema
- dc_projects         // 数据清洗项目
- dc_raw_files        // 原始文件
- dc_cleaned_data     // 清洗后数据
- dc_ner_results      // NER提取结果
- dc_quality_reports  // 质量报告

独立部署能力:

  • 前端独立React应用
  • 后端Node.js + Python微服务
  • 数据库独立SchemaSQLite for 单机版)
  • 依赖LLM网关、文档处理、ETL引擎、医学NLP

独立销售价值: 非常高!

  • 可以作为独立产品"医学数据清洗工具"售卖
  • 目标客户:临床科室、数据管理员

5. SSA - 智能统计分析模块 规划中

核心功能:

  1. 队列研究分析
  2. 预测模型构建
  3. RCT研究分析
  4. 数据质量核查
  5. 统计分析报告

数据Schema

// 业务模块Schema: ssa_schema
- ssa_projects        // 统计分析项目
- ssa_datasets        // 数据集
- ssa_analysis_tasks  // 分析任务
- ssa_results         // 分析结果
- ssa_reports         // 分析报告

独立部署能力:

  • 前端独立React应用
  • 后端Node.js + R微服务
  • 数据库独立Schema
  • 依赖文档处理、ETL引擎

独立销售价值: 非常高!

  • 可以作为独立产品"临床统计分析平台"售卖

6. ST - 统计分析工具模块 规划中

核心功能:

  • 100+小工具t检验、卡方检验、ROC曲线等

数据Schema

// 业务模块Schema: st_schema
- st_tool_usage       // 工具使用记录

独立部署能力:

  • 前端独立React应用
  • 后端Node.js + R微服务
  • 数据库独立Schema可选
  • 依赖:文档处理

7. RVW - 稿件审查系统 规划中(已有核心功能)

当前状态:

  • 文档上传
  • 文本提取
  • 稿约规范性评估editorial_review
  • 方法学评估methodology_review
  • 综合评分

未来扩展:

  • ⚠️ 审稿人管理
  • ⚠️ 审稿流程管理
  • ⚠️ 多轮审稿
  • ⚠️ 审稿意见模板

数据Schema

// 业务模块Schema: review_schema
- review_tasks        // 审查任务(已有)
// 未来扩展:
- review_journals     // 期刊库
- review_reviewers    // 审稿人
- review_workflows    // 审稿流程
- review_comments     // 审稿意见

独立部署能力:

  • 前端独立React应用
  • 后端独立Node.js服务
  • 数据库独立Schema
  • 依赖LLM网关、文档处理

独立销售价值: 极高!

  • 可以作为完全独立的产品"AI辅助审稿系统"售卖
  • 目标客户:期刊编辑部、出版社、学会
  • 商业模式:按期刊订阅,或按稿件数量计费

为什么审稿系统适合独立?

  1. 用户群独立:期刊编辑部 vs 临床医生(完全不同)
  2. 业务逻辑独立:与其他模块无关联
  3. 部署场景独立:期刊编辑部有自己的部署需求
  4. 商业模式独立:可以按期刊订阅

🔗 模块间关系

依赖关系图

业务模块层
  ├── AIA (AI智能问答)
  │     └── 依赖LLM网关、RAG引擎
  │
  ├── ASL (AI智能文献)
  │     └── 依赖LLM网关、文档处理、RAG引擎
  │
  ├── PKB (个人知识库)
  │     └── 依赖LLM网关、文档处理、RAG引擎
  │
  ├── DC (数据清洗)
  │     └── 依赖LLM网关、文档处理、ETL引擎、医学NLP
  │
  ├── SSA (智能统计分析)
  │     └── 依赖文档处理、ETL引擎
  │
  ├── ST (统计分析工具)
  │     └── 依赖:文档处理
  │
  └── RVW (稿件审查)
        └── 依赖LLM网关、文档处理

通用能力层
  ├── LLM网关 ⭐ (所有AI模块依赖)
  ├── 文档处理引擎 ⭐ (所有文档模块依赖)
  ├── RAG引擎 (AIA、ASL、PKB依赖)
  ├── ETL引擎 (DC、SSA依赖)
  └── 医学NLP (DC依赖)

平台基础层
  ├── 用户与权限中心 ⭐ (所有模块依赖)
  ├── 存储服务 ⭐ (所有模块依赖)
  ├── 通知服务
  ├── 监控与日志
  └── 系统配置

关键洞察

1. LLM网关是核心中枢

依赖LLM网关的模块
- AIAAI智能问答
- ASLAI智能文献
- PKB个人知识库
- DC数据清洗
- RVW稿件审查

共计5个模块 / 7个模块 = 71%

结论LLM网关必须优先设计和实现

2. 文档处理引擎使用广泛

依赖文档处理的模块:
- ASL文献PDF提取
- PKB知识库文档
- DCExcel/Docx导入
- SSA数据导入
- ST数据导入
- RVW稿件提取

共计6个模块 / 7个模块 = 86%

结论:文档处理引擎已实现,需要继续增强!

3. 模块独立性分析

模块 独立性 原因
RVW审稿 极高 用户群、业务逻辑、部署场景都完全独立
ASL文献 极高 可作为独立产品售卖给系统评价研究者
DC数据清洗 极高 可作为独立产品售卖给数据管理员
SSA统计分析 可独立但与ST模块有协同效应
ST分析工具 可独立但与SSA模块有协同效应
AIAAI问答 可独立但与PKB有较强关联@知识库)
PKB知识库 可独立但与AIA有较强关联@知识库)

💾 数据库架构设计

Schema隔离策略

当前问题:

  • 所有表在同一Schemapublic
  • 未来微服务拆分困难
  • 不支持模块独立部署

目标架构:

-- 平台层Schema
CREATE SCHEMA platform_schema;
  - users
  - roles
  - permissions
  - user_roles
  - role_permissions
  - tenants
  - feature_flags
  - notifications
  - admin_logs
  - system_configs

-- 通用能力Schema
CREATE SCHEMA capability_schema;
  - llm_usage_logs
  - llm_quotas
  - document_processing_logs

-- 业务模块Schema
CREATE SCHEMA aia_schema;        -- AI智能问答
CREATE SCHEMA asl_schema;        -- AI智能文献
CREATE SCHEMA pkb_schema;        -- 个人知识库
CREATE SCHEMA dc_schema;         -- 数据清洗
CREATE SCHEMA ssa_schema;        -- 智能统计分析
CREATE SCHEMA st_schema;         -- 统计分析工具
CREATE SCHEMA review_schema;     -- 稿件审查

迁移策略

阶段一:逻辑隔离(当前阶段)

目标在代码层面按Schema组织但数据库还是public
方式Prisma中使用@@map指定表名前缀

例如:
@@map("aia_projects")     // AI问答的项目表
@@map("asl_projects")     // AI文献的项目表
@@map("dc_projects")      // 数据清洗的项目表

阶段二:物理隔离(微服务拆分时)

目标真正创建独立Schema
方式:
1. 创建新Schema
2. 迁移数据INSERT INTO new_schema.table SELECT * FROM public.old_table
3. 更新Prisma Schema
4. 测试验证

🎯 可复用能力总结

什么是可复用能力?

定义:

  • 被多个模块使用的技术能力
  • 可以独立为服务
  • 有明确的接口定义
  • 职责单一

核心可复用能力清单

能力 使用频率 复用模块 优先级 当前状态
LLM网关 71% (5/7) AIA、ASL、PKB、DC、RVW P0 未实现
文档处理引擎 86% (6/7) 所有模块 P0 已实现
RAG引擎 43% (3/7) AIA、ASL、PKB P1 已实现基于Dify
ETL引擎 29% (2/7) DC、SSA P2 未实现
医学NLP 14% (1/7) DC P2 未实现

立即行动

P0能力必须立即设计

  1. LLM网关 - 商业模式的基础5个模块依赖
  2. 文档处理引擎 - 已实现,需要增强(表格提取)

P1能力近期设计 3. RAG引擎 - 已实现,需要优化 4. ⚠️ ETL引擎 - DC模块开发时再设计

P2能力延后 5. ⚠️ 医学NLP - DC模块开发时再设计


🚀 架构演进路径

阶段一:模块化单体(当前 - 6个月

架构特点:

单一代码库,但严格按模块划分:
backend/
  ├── platform/           # 平台层
  │   ├── auth/
  │   ├── storage/
  │   └── notification/
  ├── capabilities/       # 通用能力层
  │   ├── llm-gateway/
  │   ├── document/
  │   └── rag/
  ├── modules/            # 业务模块层
  │   ├── aia/
  │   ├── asl/
  │   ├── pkb/
  │   ├── dc/
  │   ├── ssa/
  │   ├── st/
  │   └── review/
  └── shared/             # 共享工具

单一数据库,但逻辑隔离(表名前缀)

关键纪律:

  • 模块间不直接import只能通过接口调用
  • 每个模块有独立的路由、服务、数据访问层
  • 使用表名前缀逻辑Schema隔离

阶段二首次拆分6-18个月

触发条件:

  • 有客户要求私有化部署
  • 有客户要求单机版
  • 需要独立销售某个模块

拆分策略:

1. 优先拆分RVW审稿系统- 最独立
2. 其次拆分DC或ASL - 商业价值高
3. 引入API网关
4. 引入K8s可选私有化部署需要

架构:

API网关 (Kong/Traefik)
  ├── 平台服务 (UAM、Storage)
  ├── LLM网关服务
  ├── 文档处理服务 (Python微服务)
  ├── 审稿模块服务 (独立部署)
  └── 其他模块服务 (暂时仍为单体)

阶段三全面微服务18个月+

架构:

所有模块独立部署,支持灵活组合和模块化售卖

📊 总结

架构分层回答了您的关键问题

1. 哪些是总体的?

  • 平台基础层:用户权限、存储、通知、监控、配置

2. 哪些是通用的技术能力?

  • 通用能力层LLM网关、文档处理、RAG引擎、ETL引擎、医学NLP

3. 哪些是各子模块独立的功能?

  • 业务模块层AIA、ASL、PKB、DC、SSA、ST、RVW

4. 哪些能力是复用的?

  • LLM网关5个模块
  • 文档处理6个模块
  • RAG引擎3个模块

5. 哪些可以随时独立成系统?

  • RVW审稿系统 - 最适合独立
  • ASL智能文献 - 商业价值高
  • DC数据清洗 - 商业价值高

下一步:基于这个架构分层,重新组织文档结构。