Files
AIRegulation-Deployment/00_整体部署规划.md

278 lines
12 KiB
Markdown
Raw Permalink Normal View History

2026-04-23 09:58:47 +08:00
# AI合规智能中枢 — 整体部署规划
> **版本:** 调研版 v1.0 | **日期:** 2026.04 | **团队:** T-Systems AI Regulations Team
---
## 一、项目背景
AI+合规智能中枢面向车企与工厂,是一个全链路合规智能平台。主要解决以下痛点:
| 痛点 | 说明 |
|------|------|
| 法规来源复杂 | GB、MIIT、UN-ECE、IATF 16949、ISO 45001 等多源并行 |
| 更新频率高 | 新能源、数据安全、碳排放法规频繁变动 |
| 跨语言要求 | 中英德法多语言法规并存 |
| 文档管理分散 | 内部文档与外部法规割裂,难以统一检索 |
| 被动识别隐患 | EHS 合规靠人工排查,效率低下 |
**调研目标:** 以最小资源投入Docker Compose 单机)验证三条核心业务闭环的技术可行性。
---
## 二、部署架构概览
```
┌─────────────────────────────────────────────────────────────────┐
│ 单台服务器 │
│ ┌──────────────┐ ┌──────────────────────────────────────┐ │
│ │ API 网关 │ │ Docker Compose │ │
│ │ Nginx :80 │───▶│ │ │
│ └──────────────┘ │ ┌──────────────────────────────┐ │ │
│ │ │ 业务服务层 │ │ │
│ │ │ compliance-backend :8000 │ │ │
│ │ │ celery-worker │ │ │
│ │ │ celery-beat │ │ │
│ │ └──────────┬───────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────────▼───────────────────┐ │ │
│ │ │ AI 模型层 │ │ │
│ │ │ embedding-service :8010 │ │ │
│ │ │ mcp-server(MinerU) :8011 │ │ │
│ │ │ LLM → DeepSeek API (云端) │ │ │
│ │ └──────────┬───────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────────▼───────────────────┐ │ │
│ │ │ 数据层 │ │ │
│ │ │ PostgreSQL :5432 │ │ │
│ │ │ Redis :6379 │ │ │
│ │ │ Milvus :19530 │ │ │
│ │ │ Neo4j :7474/:7687 │ │ │
│ │ │ MinIO (Milvus内置) │ │ │
│ │ └──────────────────────────────┘ │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
┌─────────▼──────────┐
│ DeepSeek API │
│ (云端 LLM) │
└────────────────────┘
```
---
## 三、原方案 vs 调研方案对比
| 维度 | 原方案(生产级)| 调研方案 | 降级理由 |
|------|--------------|---------|---------|
| 编排 | Kubernetes 1.36 + Helm | **Docker Compose** | 无需集群管理,`up -d` 一键启动 |
| LLM | vLLM + DeepSeek-V34×A100| **DeepSeek/Qwen 云端 API** | 无 GPU 依赖,秒级就绪 |
| 嵌入模型 | BGE-M3 GPU 服务 | **BGE-M3 CPU 容器** | 调研数据量小CPU 够用 |
| Milvus | 分布式集群 + MinIO | **Milvus Standalone**(含内置 MinIO| 单容器,省去 MinIO 独立部署 |
| 消息队列 | Kafka 3 节点 | **Redis + Celery**(复用已有 Redis| 调研无需高吞吐,大幅简化 |
| 监控 | Prometheus + Grafana + ELK | **仅 Prometheus + Grafana**(可选)| 轻量,后期按需加 |
| 安全 | JWT + cert-manager + RBAC | **API Key 简单认证** | 调研期无需生产级安全 |
| CI/CD | GitLab CI 完整流水线 | **无**(手动部署)| 调研期直接 compose up |
---
## 四、硬件最低要求
| 资源 | 最低配置 | 推荐配置 | 说明 |
|------|---------|---------|------|
| CPU | 8 核 | 16 核+ | BGE-M3 CPU 模式需要较多核心 |
| 内存 | 32 GB | 64 GB | Milvus + BGE-M3 + Neo4j 内存消耗较大 |
| 存储 | 200 GB SSD | 500 GB SSD | 含模型文件(约 5GB+ 数据 |
| GPU | **无需** | 1× RTX 309024GB| 有 GPU 可加速嵌入/MinerU |
| 网络 | 能访问 DeepSeek API | — | LLM 完全在云端 |
| OS | Ubuntu 22.04 LTS | — | 或 Windows 11 + WSL2 |
**各组件内存估算:**
| 服务 | 内存占用 |
|------|---------|
| PostgreSQL | ~1 GB |
| Redis | ~512 MB |
| Milvus含 etcd/minio| ~4 GB |
| Neo4j | ~2 GB |
| BGE-M3CPU 模式)| ~6 GB |
| MinerUCPU 模式)| ~4 GB |
| compliance-backend | ~1 GB |
| celery-worker × 1 | ~1 GB |
| **合计** | **~20 GB** |
---
## 五、五阶段部署步骤(总览)
```
阶段一:宿主机环境准备
└─ 安装 Docker CE / Docker Desktop
└─ 配置 nvidia-container-toolkit有 GPU 时)
└─ 创建项目目录,配置 .env
阶段二:基础中间件启动
└─ PostgreSQL + Redis优先启动
└─ etcd + MinIOMilvus 依赖)
└─ Milvus Standalone向量检索核心
└─ Neo4j Community知识图谱
阶段三AI 模型服务构建与启动
└─ 构建 embedding-serviceBGE-M3 封装)
└─ 构建 mcp-serverMinerU 封装)
└─ 预下载模型BGE-M3 ~2.5GBMinerU ~2GB
阶段四:业务微服务启动
└─ compliance-backendFastAPI 主服务)
└─ celery-worker异步任务处理
└─ celery-beat定时任务调度
└─ nginxAPI 网关)
阶段五:验证与闭环测试
└─ 健康检查bash scripts/check_health.sh
└─ 端到端冒烟测试bash scripts/07_smoke_test.sh
└─ 三条业务闭环验证
```
---
## 六、三条核心业务闭环
### 闭环①:法规入库 → 检索问答
```
用户上传 PDF
API GatewayNginx
kbmp-service文件接收
│ 异步投递
Celery Worker
├─► parse-worker ──► mcp-serverMinerU 解析)
│ │ Markdown + 结构化文本
│ ▼
└─► vectorize-worker ──► embedding-serviceBGE-M3
│ 1024维向量
Milvus向量存储+ PostgreSQL元数据
用户提问
BM25 关键词检索 + BGE-M3 向量检索Milvus hybrid search
Cross-Encoder Reranker精排 Top-K
DeepSeek API引文锚定生成
返回答案(含原文引用 + 页码)
```
### 闭环②:文档上传 → 合规审查
```
上传供应商/内部文档
MinerU 解析 → 条款级分割
法规域匹配vehicle_safety / data_security / ehs
与法规库语义比对(向量相似度 + 关键字匹配)
DeepSeek API 风险评分(条款级分析)
生成 Markdown 审查报告(风险等级 + 整改建议)
```
### 闭环③:法规监控 → 变更推送
```
Celery Beat 定时触发(每天)
抓取监控源(国标委 / 工信部 / 应急管理部 / 生环部)
内容 Hash 比对(检测变更)
▼ [有变更]
NLP Diff 分析DeepSeek 提取新增/修订/废止条款)
增量入库MinerU 解析 → BGE-M3 → Milvus + PostgreSQL + Neo4j
差距分析(与企业现状比对)
推送通知Email / Webhook / 飞书 / 钉钉)
记录变更日志 → 触发整改任务
```
---
## 七、技术选型决策依据
| 组件 | 选型 | 决策依据 |
|------|------|---------|
| 向量数据库 | Milvus 2.4 | 支持 Dense+Sparse 混合检索BGE-M3 配套,生产可扩展 |
| 图数据库 | Neo4j 5.x | 法规实体关系建模成熟APOC 插件丰富Cypher 查询友好 |
| 嵌入模型 | BGE-M3 | 中英文双语,支持 dense+sparse+multi-vector8192 token 上下文 |
| LLM | DeepSeek API | 推理能力强成本低约¥1/百万 tokensOpenAI 兼容 |
| 文档解析 | MinerU | GPU 最快 0.21s/页,支持 109 种语言 OCR布局感知 |
| 任务队列 | Celery + Redis | 调研阶段够用,比 Kafka 轻量Redis 可复用 |
| API 框架 | FastAPI | 异步性能好OpenAPI 自动生成Pydantic 数据验证 |
| 关系数据库 | PostgreSQL + pgvector | 元数据存储 + 备用向量检索pgvector 镜像开箱即用 |
---
## 八、升级路径(调研 → 生产)
| 维度 | 升级内容 | 触发条件 |
|------|---------|---------|
| LLM | API → 本地 vLLM + DeepSeek-V3 | 数据安全要求/API成本超阈值 |
| Milvus | Standalone → 分布式集群 | 向量数据 > 1000 万条 |
| 消息队列 | Celery+Redis → Kafka | 并发任务 > 100/分钟 |
| 编排 | Docker Compose → Kubernetes | 多节点部署/弹性伸缩需求 |
| 安全 | API Key → JWT + RBAC | 对外提供服务/多租户 |
| 监控 | Grafana → Grafana + ELK | 日志量大/需要复杂分析 |
---
## 九、文件结构说明
```
Depolyment/
├── 00_整体部署规划.md ← 本文档
├── 01_技术架构详解.md ← 六层架构 + 六大微服务详细说明
├── 02_组件安装指南.md ← 每个组件的详细安装步骤
├── 03_业务闭环说明.md ← 三条闭环的数据流和接口规范
├── README.md ← 快速启动指南
├── docker-compose.yml ← 全服务编排
├── .env.example ← 环境变量模板
├── scripts/ ← 安装与运维脚本13 个)
├── services/ ← 服务源码
│ ├── embedding/ ← BGE-M3 嵌入服务
│ ├── mcp-server/ ← MinerU 文档解析服务
│ └── compliance-backend/ ← 核心业务后端
├── config/ ← Nginx、Prometheus 配置
├── init-sql/ ← PostgreSQL 初始化 SQL
├── data/ ← 运行时数据
├── logs/ ← 服务日志
└── models/ ← AI 模型缓存
```