docs: complete documentation system (250+ files)

- System architecture and design documentation
- Business module docs (ASL/AIA/PKB/RVW/DC/SSA/ST)
- ASL module complete design (quality assurance, tech selection)
- Platform layer and common capabilities docs
- Development standards and API specifications
- Deployment and operations guides
- Project management and milestone tracking
- Architecture implementation reports
- Documentation templates and guides
This commit is contained in:
2025-11-16 15:43:55 +08:00
parent 0fe6821a89
commit e52020409c
173 changed files with 46227 additions and 11964 deletions

View File

@@ -0,0 +1,939 @@
# 系统架构分层设计
> **文档版本:** 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控制版本权限
**数据表:**
```typescript
// 平台层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
**职责:**
- 文件上传、下载、删除
- 对象存储OSS/S3
- 本地文件系统(单机版)
- 文件权限控制
**技术方案:**
```typescript
// 云端版MinIO/阿里云OSS
// 单机版:本地文件系统
interface StorageService {
upload(file: File, path: string): Promise<string>; // 上传返回URL
download(url: string): Promise<Buffer>; // 下载
delete(url: string): Promise<void>; // 删除
getSignedUrl(url: string, expiresIn: number): string; // 获取临时访问URL
}
```
---
#### 3. 通知服务Notification Service
**职责:**
- 站内消息
- 邮件通知
- WebSocket实时推送
**数据表:**
```typescript
// 平台层Schema: platform_schema
- notifications // 通知记录
- notification_templates // 通知模板
```
**API示例**
```
GET /api/notifications // 获取通知列表
POST /api/notifications/:id/read // 标记已读
```
---
#### 4. 监控与日志Monitoring & Logging
**职责:**
- 操作日志
- 错误日志
- 性能监控
- 审计日志(合规要求)
**数据表:**
```typescript
// 平台层Schema: platform_schema
- admin_logs // 管理员操作日志
- error_logs // 错误日志
- audit_logs // 审计日志(合规)
```
---
#### 5. 系统配置System Config
**职责:**
- 系统级配置管理
- 多环境配置(开发、测试、生产)
- 动态配置更新
**数据表:**
```typescript
// 平台层Schema: platform_schema
- system_configs // 系统配置
```
---
## 🔧 第二层通用能力层Capability Layer
### 定义
**通用能力层是跨业务模块共享的核心技术能力,是业务逻辑的基础。**
### 核心特征
-**可复用**:多个业务模块共享
-**业务相关**:包含领域知识
-**独立部署**:可以独立为微服务
-**高内聚**:每个能力职责单一
### 包含的能力
#### 1. LLM大模型网关LLM Gateway⭐⭐⭐⭐⭐ **核心**
**职责:**
- 统一管理所有LLM调用
- 根据用户版本动态切换模型
- 成本控制与限流
- Token计数与计费
**核心价值:**
```
这是商业模式的技术保障:
- 基础版只能用DeepSeek-V3便宜
- 高级版可用DeepSeek + Qwen3
- 旗舰版可用DeepSeek + Qwen3 + Qwen-Long + Claude
成本控制:
- 统一监控所有LLM API调用
- 超出配额自动限流
- 按版本计费
```
**技术架构:**
```typescript
// 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;
}
```
**数据表:**
```typescript
// 通用能力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处理
- 表格提取
**技术架构:**
```typescript
// 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重排序
**技术架构:**
```typescript
// 基于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
# 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
# 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**
```typescript
// 业务模块Schema: aia_schema
- projects // 项目
- conversations // 对话
- messages // 消息
- agents_config // 智能体配置
```
**独立部署能力:**
- ✅ 前端:可独立打包
- ✅ 后端可独立运行依赖LLM网关、RAG引擎
- ✅ 数据库独立Schema
- ⚠️ 需要:平台层(用户认证)
---
#### 2. ASL - AI智能文献模块 ⏳ **规划中**
**核心功能:**
1. 标题摘要初筛双模型AI判断
2. 全文复筛PDF全文分析
3. 全文解析与数据提取
4. 数据分析与报告生成
5. 系统评价与Meta分析
6. 文献管理
**数据Schema**
```typescript
// 业务模块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**
```typescript
// 业务模块Schema: pkb_schema
- knowledge_bases // 知识库
- documents // 文档
```
**独立部署能力:**
- ✅ 前端:可独立打包
- ✅ 后端:可独立运行
- ✅ 数据库独立Schema
- ✅ 依赖LLM网关、文档处理、RAG引擎
---
#### 4. DC - 数据清洗整理模块 ⏳ **规划中**
**核心功能:**
1. 多Excel文件导入
2. 自动JOIN和清洗
3. 医学NER实体提取
4. 数据质量报告
5. 导出标准化数据
**数据Schema**
```typescript
// 业务模块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**
```typescript
// 业务模块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**
```typescript
// 业务模块Schema: st_schema
- st_tool_usage // 工具使用记录
```
**独立部署能力:**
- ✅ 前端独立React应用
- ✅ 后端Node.js + R微服务
- ✅ 数据库独立Schema可选
- ✅ 依赖:文档处理
---
#### 7. RVW - 稿件审查系统 ⏳ **规划中(已有核心功能)**
**当前状态:**
- ✅ 文档上传
- ✅ 文本提取
- ✅ 稿约规范性评估editorial_review
- ✅ 方法学评估methodology_review
- ✅ 综合评分
**未来扩展:**
- ⚠️ 审稿人管理
- ⚠️ 审稿流程管理
- ⚠️ 多轮审稿
- ⚠️ 审稿意见模板
**数据Schema**
```typescript
// 业务模块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
- ❌ 未来微服务拆分困难
- ❌ 不支持模块独立部署
**目标架构:**
```sql
-- 平台层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数据清洗** - 商业价值高
---
**下一步:基于这个架构分层,重新组织文档结构。**