6.3 部署方式:Docker、私有化部署、本地部署

模型变成了服务,服务怎么交到用户手里?部署就是这最后一公里的问题。Docker 容器化、私有化部署满足安全合规要求、本地部署保护数据隐私——三种主流部署方式各有各的场景。

📑 目录

  • Docker:标准化的交付方式
  • 私有化部署:企业的刚需
  • 本地部署:隐私优先的选择
  • 三种部署方式对比
  • 部署架构推荐

Docker:标准化的交付方式

一句话定义

将 AI 应用及其所有依赖打包成一个标准化容器,保证「在我机器上能跑」等于「在任何地方都能跑」。

# 典型的 RAG 应用 Dockerfile FROM python:3.11-slim WORKDIR /app # 安装依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt \ && pip install torch --index-url <https://download.pytorch.org/whl/cpu> # 复制代码 COPY . . # 暴露端口 EXPOSE 8000 # 启动服务 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
# docker-compose.yml 一键编排全栈version:'3.8'services:rag-app:build:.ports:-"8000:8000"environment:-OPENAI_API_KEY=${OPENAI_API_KEY}-VECTOR_DB_HOST=vector-dbdepends_on:-vector-dbvector-db:image:milvusdb/milvus:latestvolumes:-milvus_data:/var/lib/milvusports:-"19530:19530"volumes:milv_data:

Docker 在 AI 部署中的坑

解决方案
镜像太大(模型文件)用多阶段构建,模型运行时挂载卷不打包进镜像
GPU 支持使用 NVIDIA Container Toolkit
内存不足限制容器内存 + OOM 处理策略
存储持久化数据库/向量库务必挂载 volume

私有化部署:企业的刚需

一句话定义

将整套 AI 系统部署在企业自己的服务器/云环境里,数据不出内网,满足安全合规要求。

为什么企业必须私有化部署?

公有云 API(如直接调 GPT-4)的问题: ✗ 数据发给 OpenAI → 可能泄露商业机密 ✗ 无法审计谁问了什么 → 合规风险 ✗ 依赖外网 → 网络不稳定影响业务 ✗ 费用不可控 → 大规模使用成本爆炸 ✗ 模型不可控 → 厂商随时可能调整/下线 私有化部署的优势: ✓ 数据完全在内网 → 安全合规有保障 ✓ 全量日志审计 → 谁用了、问什么、一清二楚 ✓ 无网络依赖 → 内网隔离环境也能用 ✓ 成本可控 → 一次投入,无限使用 ✓ 模型可控 → 可以微调定制,不怕厂商变卦

私有化部署架构

┌──────────────────────────────────────────┐ │ 企业内网环境 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │ │ 应用层 │ │ 服务层 │ │ 存储层 │ │ │ │ │ │ │ │ │ │ │ │ Web 前端 │ │ vLLM │ │ Milvus │ │ │ │ API网关 │ │ TGI │ │ PG+pgv │ │ │ │ 监控面板 │ │ FastAPI │ │ 文件存 │ │ │ └──────────┘ └──────────┘ └────────┘ │ │ │ │ │ │ │ └─────────────┼────────────┘ │ │ ↓ │ │ ┌──────────────┐ │ │ │ GPU 服务器群 │ │ │ │ (A100×4) │ │ │ └──────────────┘ │ │ │ │ 安全:内网隔离 + RBAC权限 + 操作审计 │ └──────────────────────────────────────────┘

本地部署:隐私优先的选择

一句话定义

在个人电脑上运行完整的 LLM 和 AI 应用,不需要联网,数据完全在本地。适合对隐私敏感的个人开发者和中小企业。

本地部署方案对比

方案硬件要求易用性适合谁
OllamaMac/Win/Linux⭐⭐⭐⭐⭐所有人(一键安装)
LM Studio有显卡更好⭐⭐⭐⭐⭐GUI 偏好者
llama.cpp任意设备⭐⭐⭐技术用户
GPT4All任意设备⭐⭐⭐⭐Windows 用户
LocalAI需要 GPU⭐⭐⭐替代 OpenAI API
# Ollama — 最简单的本地部署方案# 安装:brew install ollama (Mac) / 下载安装包 (Windows/Linux)# 运行模型ollama run llama3:8b# 对话模式ollama run qwen2.5:7b# 国产模型ollama run codellama:7b# 代码专用# 作为 API 服务使用(兼容 OpenAI API!)ollama serve# 然后你的代码只需要改 base_url:curl<http://localhost:11434/v1/chat/completions>\-d'{"model":"llama3","messages":[{"role":"user","content":"hi"}]}'# → 和调 OpenAI API 的代码几乎一模一样!只需改 base_url

三种部署方式对比

维度Docker 容器化私有化部署本地部署
目标用户DevOps/运维团队企业 IT个人/小团队
硬件需求服务器/GPU 云服务器集群个人电脑
安全性中等(取决于环境)最高(内网隔离)最高(离线)
维护成本低(标准化)高(需专业团队)
扩展性好(K8s 编排)最好(按需扩)差(单机)
典型场景SaaS 产品 / 微服务金融 / 政府 / 医疗开发测试 / 隐私敏感

部署架构推荐

根据你的阶段选方案: POC 验证期: → 本地部署(Ollama)+ 简单 Python 脚本 → 快速验证想法,成本 ≈ 0 内部试用期: → Docker Compose 编排(应用+向量库+vLLM) → 单机或多机部署在小团队服务器 生产发布期: → Kubernetes + 私有化部署 → GPU 节点池 + 弹性伸缩 + 监控告警 → SLA 保障 + 灾备方案 关键原则: 不要一步到位!先跑起来 → 再优化 → 再规模化

❌ 常见误区

  • ❌ Docker 就是部署的全部 — 生产环境还需要 CI/CD、监控、日志、备份等完整链路
  • ❌ 私有化部署 = 安全 — 还需要网络隔离、访问控制、审计日志等配套措施
  • ❌ 本地部署只能跑小模型 — M2 Max 128GB 可以流畅跑 70B 量化版