278 lines
12 KiB
Markdown
278 lines
12 KiB
Markdown
|
|
# 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-V3(4×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 3090(24GB)| 有 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-M3(CPU 模式)| ~6 GB |
|
|||
|
|
| MinerU(CPU 模式)| ~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 + MinIO(Milvus 依赖)
|
|||
|
|
└─ Milvus Standalone(向量检索核心)
|
|||
|
|
└─ Neo4j Community(知识图谱)
|
|||
|
|
|
|||
|
|
阶段三:AI 模型服务构建与启动
|
|||
|
|
└─ 构建 embedding-service(BGE-M3 封装)
|
|||
|
|
└─ 构建 mcp-server(MinerU 封装)
|
|||
|
|
└─ 预下载模型(BGE-M3 ~2.5GB,MinerU ~2GB)
|
|||
|
|
|
|||
|
|
阶段四:业务微服务启动
|
|||
|
|
└─ compliance-backend(FastAPI 主服务)
|
|||
|
|
└─ celery-worker(异步任务处理)
|
|||
|
|
└─ celery-beat(定时任务调度)
|
|||
|
|
└─ nginx(API 网关)
|
|||
|
|
|
|||
|
|
阶段五:验证与闭环测试
|
|||
|
|
└─ 健康检查(bash scripts/check_health.sh)
|
|||
|
|
└─ 端到端冒烟测试(bash scripts/07_smoke_test.sh)
|
|||
|
|
└─ 三条业务闭环验证
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、三条核心业务闭环
|
|||
|
|
|
|||
|
|
### 闭环①:法规入库 → 检索问答
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
用户上传 PDF
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
API Gateway(Nginx)
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
kbmp-service(文件接收)
|
|||
|
|
│ 异步投递
|
|||
|
|
▼
|
|||
|
|
Celery Worker
|
|||
|
|
│
|
|||
|
|
├─► parse-worker ──► mcp-server(MinerU 解析)
|
|||
|
|
│ │ Markdown + 结构化文本
|
|||
|
|
│ ▼
|
|||
|
|
└─► vectorize-worker ──► embedding-service(BGE-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-vector,8192 token 上下文 |
|
|||
|
|
| LLM | DeepSeek API | 推理能力强,成本低(约¥1/百万 tokens),OpenAI 兼容 |
|
|||
|
|
| 文档解析 | 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 模型缓存
|
|||
|
|
```
|