人人都会AI编程

22.4 私有化部署方案:全链路离线部署、数据安全保障

更新时间:2026-07-12

在许多企业场景中,数据不能离开内网,甚至不能经过任何外部服务。金融、政务、军工、医疗等行业对数据主权和网络隔离有刚性要求。私有化部署的 RAG 方案必须做到全链路离线运行,同时确保数据在存储、传输、使用各环节的安全。本节介绍一套经过实践验证的部署架构与安全策略。

22.4.1 全链路离线部署的组件选型

要实现完全离线,RAG 技术栈中的每一个组件都必须有可本地部署、不依赖外部 API 的版本。

嵌入模型(Embedding Model)

  • 选型:使用开源嵌入模型,如 BGE(BAAI General Embedding)、M3E、text2vec 系列。这些模型在中文场景表现优秀,且支持本地部署。
  • 部署方式:通过 ONNX Runtime、TensorRT 或 vLLM 等推理框架加载模型,对外提供本地 API。模型文件只需在部署初期一次性下载,后续完全离线运行。

向量数据库

  • 选型:Milvus、Qdrant、Weaviate、Elasticsearch(8.x 以上原生支持向量)等均支持纯本地部署,无需云服务。
  • 部署方式:Docker Compose 或 Kubernetes 本地集群拉起,数据持久化到内网存储(NAS、本地磁盘阵列)。关闭遥测功能,确保无数据外传。

大语言模型(LLM)

  • 选型:使用可本地部署的开源大模型,如 Qwen(通义千问)、ChatGLM、Baichuan、Llama 系列等。根据硬件条件选择 7B、13B、70B 等尺寸。
  • 部署方式:vLLM、llama.cpp、Text Generation Inference 等框架均可本地部署,提供 OpenAI 兼容 API 接口。支持量化(INT4/INT8)以降低资源消耗。
  • 硬件:若选用 7B 量化模型,单张 A10/A100 或消费级 24GB 显存显卡即可,甚至可以在 CPU 上运行(速度较慢但满足低并发)。

文档解析与切片

  • 文档解析框架如 Unstructured、LangChain 的 Document Loaders、自研解析服务,全部在内网执行,文件不会离开服务器。

整体架构可以概括为:

用户浏览器/客户端(内网)
        │
        ▼
应用后端(内网服务器)
   ├──> 向量数据库(本地)
   ├──> 嵌入模型服务(本地 GPU/CPU)
   └──> LLM 推理服务(本地 GPU)

所有组件之间通过内网 HTTP/gRPC 通信,无需互联网连接。首次部署时,模型文件、依赖镜像可在安全环境中下载,校验后移入内网。

22.4.2 数据安全保障措施

私有化部署解决了网络链路问题,但数据安全还需要在多个层面加固。

1. 知识库文档的访问控制

原始文档往往包含敏感信息,不是所有用户都能查看所有文档。需要在 RAG 的检索阶段就嵌入权限过滤。

  • 做法:在向量入库时,为每个文本切片附加权限标签(如部门、密级、用户组)。检索时,根据当前用户的身份信息,在查询向量之外附加过滤条件,向量数据库只返回该用户有权访问的切片。
  • 实现:Milvus 支持标量过滤、Qdrant 支持 payload 过滤、Elasticsearch 支持布尔查询与向量混合检索。
  • 效果:即使两个用户提出完全相同的问题,他们看到的答案所依据的片段也不同,从数据源头上实现了细粒度权限隔离。

2. 传输与存储加密

  • 传输层:所有组件间通信强制使用 HTTPS/TLS,内网同样建议加密,防止旁路嗅探。
  • 存储层:向量数据库的持久化存储可使用磁盘加密(LUKS、自加密硬盘)。原始文档存储同样需要加密,建议使用对象存储(如 MinIO)开启服务端加密。

3. 日志与审计脱敏

  • 用户提问和生成的回答可能包含敏感信息,日志系统必须支持自动脱敏或选择性记录。
  • 可以保留检索片段 ID 和生成结果摘要用于质量监控,但避免明文记录完整问题和答案。审计日志的访问权限严格限定给安全管理员。

4. 模型安全

  • 本地部署的开源模型不会自动将数据外传,但仍需注意:关闭任何可能的上报或遥测功能(如部分框架的匿名统计)。
  • 模型文件本身经过完整性校验(SHA256),确保未遭篡改。

5. 网络完全隔离

  • 整个 RAG 服务集群部署在独立的安全域,通过防火墙策略完全阻断出站流量(除必要的内部服务通信)。
  • 运维时如需更新模型或知识库,通过专用物理介质或单向导入设备(如网闸、光闸)将经过安全扫描的数据移入。

22.4.3 典型部署规模的参考配置

下面给出小、中、大三种规模的参考配置,企业可根据实际请求量和预算选择。

| 规模 | 适用场景 | 嵌入模型 | LLM | 向量数据库 | 服务器配置举例 |
| -------------- | ---------------------- | --------------------- | ------------------- | -------------- | ----------------------------- |
| 小型(试点) | <50 并发,内部 POC | BGE-small(CPU 即可) | Qwen-7B(INT4量化) | Qdrant 单节点 | 一台服务器:2×24GB GPU + 64GB 内存 |
| 中型(部门级) | 50-200 并发,日常使用 | BGE-base(GPU) | Qwen-14B(INT8) | Milvus 集群 | 2-3 台 GPU 节点 + 1 台存储节点 |
| 大型(企业级) | >200 并发,多个业务线 | BGE-large(GPU) | Qwen-72B / 多模型组合| Milvus 分布式 | 10+ GPU 节点,高性能存储网络 |

22.4.4 高可用与灾备

  • 向量数据库配置副本,数据同步到不同物理节点或机架。
  • LLM 推理服务可做负载均衡,通过多个实例分担请求,单个实例故障不影响整体。
  • 定期备份向量数据和原始文档,备份数据加密后异地(不同机房或灾备中心)保存。
  • 制定回滚预案:当知识库更新引起回答质量下降时,可快速切换回上一版本索引。

22.4.5 实施步骤概览

  1. 环境准备:在内网准备好 Docker/Kubernetes 基础平台,确认 GPU 驱动和 CUDA 环境。
  2. 模型获取:在可信网络上下载开源模型,校验哈希后通过安全方式传输到内网。
  3. 部署基础组件:依次拉起向量数据库、嵌入模型服务、LLM 推理服务,验证连通性。
  4. 构建知识索引:将内部文档经加密链路导入,预处理、切片、向量化后存入数据库。
  5. 对接应用:开发或接入业务前端,实现权限过滤、问答接口、溯源展示。
  6. 安全校验:进行渗透测试,确认所有外联均已阻断,日志脱敏生效,权限过滤正确。
  7. 上线与监控:监控各组件资源使用率、检索延迟、生成质量,设置告警。

通过以上方案,企业可以在完全掌控的私有环境中运行 RAG 系统,既享受了检索增强生成带来的准确性和实时性,又确保了核心数据不出内网、不经过第三方,满足最严格的数据安全与合规要求。