无标离线也能丝滑对话!借助 Docker 三分钟极速部署私有化大模型矩阵(Ollama/vLLM 实战)题
2026/9/4 19:50:55 网站建设 项目流程

最近几年,大模型越来越强,但企业真正开始把 AI 接入业务之后,很多团队马上遇到了一个现实问题:

数据到底能不能放心交给公网大模型?

代码、客户资料、内部技术文档、业务数据库、运维日志……

这些数据一旦上传到第三方 AI 服务,就会产生新的安全风险。

尤其是企业内部的:

源代码 数据库结构 客户信息 API Key 服务器配置 技术文档 内部聊天记录 业务数据

这些内容并不适合无脑发送到公网。

所以越来越多企业开始考虑:

私有化部署大模型。

简单来说,就是:

传统方案: 用户 ↓ 公网 API ↓ 第三方大模型 ↓ 返回结果

变成:

私有化方案: 用户 ↓ 企业内网 ↓ 本地服务器 ↓ 本地大模型 ↓ 返回结果

数据不需要离开自己的服务器。

今天就不讲复杂的理论,直接上实战。

我们使用 Docker 快速部署两种目前非常常见的本地大模型推理方案:

Ollama vLLM

一、先搞清楚:Ollama 和 vLLM 是干什么的?

在部署之前,先把两者的定位搞清楚。

1. Ollama

Ollama 最大的特点就是:

简单。

非常适合:

个人开发 本地测试 AI 应用开发 快速体验模型 小规模内部服务

你甚至可以直接:

ollama run qwen3

然后开始和模型聊天。

整个过程非常简单。


2. vLLM

vLLM 更偏向:

生产环境的大模型推理服务。

它重点解决:

高并发 GPU 利用率 批量请求 吞吐量 推理性能 API 服务

如果你准备搭建:

企业 AI 服务 内部大模型 API RAG 后端 Agent 后端 多人同时访问

那么 vLLM 更值得研究。

简单理解:

Ollama = 好用、简单、快速上手 vLLM = 高性能、服务化、适合生产

二、部署前先检查服务器

先不要急着 Docker Compose。

第一步:

docker --version

然后:

docker compose version

如果都能正常返回版本号,说明 Docker 环境基本没问题。


三、如果使用 NVIDIA GPU,检查驱动

执行:

nvidia-smi

如果能够看到:

NVIDIA-SMI Driver Version CUDA Version GPU Memory

说明 NVIDIA 驱动基本正常。

例如:

+------------------------------------------------------+ | NVIDIA-SMI | +------------------------------------------------------+ | GPU Name Memory-Usage | | RTX 4090 1024MiB / 24564MiB | +------------------------------------------------------+

注意:

GPU 显存是部署大模型最关键的硬件指标之一。

不要看到:

GPU

就以为所有模型都能跑。

例如:

7B 模型 14B 模型 32B 模型 70B 模型

对显存的需求完全不同。


四、第一种方案:Docker 部署 Ollama

如果你的目标是:

先把本地大模型跑起来。

我建议优先选择 Ollama。

创建目录:

mkdir -p ~/ollama cd ~/ollama

创建:

docker-compose.yml

写入:

services: ollama: image: ollama/ollama:latest container_name: ollama restart: unless-stopped ports: - "11434:11434" volumes: - ollama_data:/root/.ollama environment: - OLLAMA_HOST=0.0.0.0:11434 deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] volumes: ollama_data:

这里最关键的是:

volumes: - ollama_data:/root/.ollama

为什么要挂载 Volume?

因为模型文件非常大。

如果不持久化:

删除容器 ↓ 模型可能丢失

挂载之后:

Container │ ▼ /root/.ollama │ ▼ Docker Volume

即使重新创建容器,模型数据仍然可以保留。


五、启动 Ollama

直接执行:

docker compose up -d

查看:

docker compose ps

应该可以看到:

ollama running

然后查看日志:

docker compose logs -f ollama

如果没有明显报错,说明服务基本启动成功。


六、下载第一个本地模型

进入容器:

docker exec -it ollama bash

然后:

ollama pull qwen3

下载完成之后:

ollama list

应该能看到对应模型。

运行:

ollama run qwen3

然后直接输入:

你好,请介绍一下你自己。

如果模型开始回答:

恭喜,本地大模型已经跑起来了。


七、直接通过 API 调用 Ollama

Ollama 不只是聊天工具。

它本身还提供 API。

例如:

curl http://localhost:11434/api/generate \ -d '{ "model": "qwen3", "prompt": "什么是 RAG?", "stream": false }'

返回:

{ "model": "qwen3", "response": "RAG 是检索增强生成技术……" }

这意味着:

你的业务系统 ↓ Ollama API ↓ 本地大模型

因此可以直接把它接入:

RAG Agent 企业知识库 自动化系统 内部 AI 助手

八、Python 调用 Ollama

例如:

import requests url = "http://localhost:11434/api/generate" data = { "model": "qwen3", "prompt": "什么是向量数据库?", "stream": False } response = requests.post( url, json=data ) result = response.json() print(result["response"])

这时候:

Python ↓ HTTP API ↓ Ollama ↓ 本地模型

整个调用链已经打通。


九、第二种方案:Docker 部署 vLLM

如果你已经开始考虑:

高并发 API 服务 企业内部 AI 平台 RAG Agent

那么可以进一步尝试 vLLM。

创建:

mkdir -p ~/vllm cd ~/vllm

然后创建:

docker-compose.yml

示例:

services: vllm: image: vllm/vllm-openai:latest container_name: vllm restart: unless-stopped ports: - "8000:8000" ipc: host volumes: - ./models:/models command: - "--model" - "/models/Qwen" - "--host" - "0.0.0.0" - "--port" - "8000" deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu]

这里和 Ollama 最大的区别之一就是:

Ollama 自己负责模型管理 vLLM 通常需要你准备模型目录

例如:

models/ └── Qwen/ ├── config.json ├── tokenizer.json ├── tokenizer_config.json └── model files...

十、启动 vLLM

执行:

docker compose up -d

查看日志:

docker compose logs -f vllm

如果模型成功加载,一般可以看到服务监听:

0.0.0.0:8000

此时:

http://服务器IP:8000

就是 vLLM 的 API 服务入口。


十一、vLLM 为什么适合企业 API?

vLLM 可以提供兼容 OpenAI 风格的 API。

例如:

curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "/models/Qwen", "messages": [ { "role": "user", "content": "介绍一下 RAG" } ] }'

这种接口设计非常方便。

因为很多 AI 应用本身就是按照 OpenAI API 格式开发的。

因此可以做到:

原来: 业务系统 ↓ OpenAI API 现在: 业务系统 ↓ vLLM ↓ 企业本地模型

很多情况下,应用层甚至不需要进行大规模修改。


十二、Python 调用 vLLM

如果你的程序使用 OpenAI SDK,可以通过修改:

base_url

连接到自己的 vLLM。

示例:

from openai import OpenAI client = OpenAI( api_key="EMPTY", base_url="http://localhost:8000/v1" ) response = client.chat.completions.create( model="/models/Qwen", messages=[ { "role": "user", "content": "什么是向量数据库?" } ] ) print( response.choices[0].message.content )

这样:

Python ↓ OpenAI SDK ↓ vLLM ↓ 本地 GPU ↓ 大模型

十三、Ollama 和 vLLM 到底怎么选?

直接给你一张表。

项目OllamavLLM
上手难度
本地体验非常适合适合
模型管理简单相对复杂
API 服务支持非常适合
高并发一般
推理性能较好很强
企业部署可以更适合
学习成本
快速 Demo推荐可以
生产推理服务视场景而定推荐

如果你是第一次接触本地大模型:

Ollama ↓ 先跑通 ↓ API ↓ RAG ↓ Agent

如果已经开始考虑:

多人访问 高并发 吞吐量 GPU 利用率

可以重点研究:

vLLM

十四、真正企业级部署不能只关注模型

很多新人部署本地大模型,只关注:

模型能不能运行?

但企业真正关心的是:

数据安全吗? 权限怎么控制? API 有没有认证? 日志怎么记录? 模型服务能不能扩展? GPU 资源怎么管理?

例如:

错误方案: 公网 ↓ 8000 ↓ vLLM

这相当于直接把模型 API 暴露在公网。

风险非常大。

更合理的结构应该是:

Internet │ ▼ Gateway │ Authentication │ ▼ AI Service │ ┌──────────┴──────────┐ │ │ RAG vLLM │ │ └──────────┬──────────┘ │ ▼ GPU

也就是说:

不要直接把模型端口裸奔到公网。


十五、企业内部推荐的完整架构

如果进一步升级,可以设计成:

用户 │ ▼ Web UI │ ▼ Nginx │ ▼ API Gateway │ ┌─────────┴─────────┐ │ │ Auth RAG │ │ │ Vector DB │ │ └─────────┬─────────┘ │ ▼ AI Service │ ┌─────────┴─────────┐ │ │ Ollama vLLM │ │ └─────────┬─────────┘ │ ▼ GPU

这时候,本地大模型已经不再是一个简单的聊天程序。

而是变成:

企业内部 AI 基础设施。


十六、一个容易被忽略的问题:模型文件非常大

例如:

7B 14B 32B 70B

模型规模越大,对:

GPU 显存 磁盘空间 内存 CPU 网络

的要求越高。

因此部署之前,一定先确认:

free -h

查看内存。

df -h

查看磁盘。

如果使用 NVIDIA GPU:

nvidia-smi

查看显存。

不要出现这种情况:

模型下载 30GB 服务器磁盘只剩 15GB

最后才发现:

模型根本拉不下来。


十七、为什么 Docker 特别适合部署 AI 环境?

大模型环境最大的麻烦之一就是:

CUDA Python PyTorch 驱动 依赖 模型

不同版本之间很容易出现冲突。

例如:

Python 3.11 PyTorch A CUDA B 模型 C

换一台机器:

Python 3.12 PyTorch D CUDA E

然后:

环境炸了。

Docker 的作用就是把环境尽量封装起来:

宿主机 │ ▼ Docker │ ├── Python ├── PyTorch ├── CUDA Runtime ├── AI Service └── Dependencies

这样部署和迁移都会方便很多。


十八、Docker Compose 的真正价值

为什么这里一直使用:

docker-compose.yml

而不是直接:

docker run ...

因为 AI 项目最终很可能不是只有一个容器。

例如:

rag-api vllm qdrant redis postgres nginx frontend

如果全部使用docker run

命令越来越长 参数越来越多 维护越来越麻烦

而 Compose 可以直接描述整个系统:

docker-compose.yml │ ├── API ├── LLM ├── Vector DB ├── Redis └── Nginx

然后:

docker compose up -d

整个服务栈一起启动。

这才是 Docker Compose 在 AI 项目中的真正价值。


十九、从 Ollama 到企业 AI 平台

如果只是自己学习:

Ollama + 一个模型

已经够用了。

但如果继续往企业级发展,可以逐步升级:

阶段 1 Ollama ↓ 本地聊天 阶段 2 Ollama API ↓ 业务程序 阶段 3 RAG ↓ 企业知识库 阶段 4 Vector DB ↓ 语义检索 阶段 5 Agent ↓ 工具调用 阶段 6 vLLM ↓ 高性能推理 阶段 7 Gateway ↓ 权限认证 阶段 8 监控 ↓ Prometheus / Grafana

最后形成:

企业私有 AI 平台

二十、最后总结

本地私有化部署大模型并没有想象中那么复杂。

最简单的路线就是:

Docker ↓ Ollama ↓ 本地模型 ↓ API

想进一步提升:

Docker ↓ vLLM ↓ OpenAI Compatible API ↓ RAG ↓ Agent

整个技术体系就逐渐建立起来了。

而企业真正选择私有化部署,并不是为了“追热点”。

更重要的是:

数据控制权 隐私保护 内部知识利用 访问权限 成本控制 系统可定制性

如果你的企业准备把 AI 真正接入内部业务,那么:

本地大模型 + RAG + Agent + 权限体系

会是一个非常值得长期投入的技术方向。

最后给正在部署的朋友一个建议:

不要一上来就部署几十 B 的超大模型。

先从一个自己硬件能够稳定运行的小模型开始,把:

模型 ↓ API ↓ RAG ↓ Agent ↓ 业务系统

整个链路跑通。

等系统真正稳定之后,再考虑模型量化、GPU 并行、vLLM、批处理、高并发和多模型路由。

这样学习效率反而最高。

如果在拉取镜像时遇到网络报错,可以看主页简介获取我整理的国内加速源配置和自动化部署脚本。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询