大模型私有化部署实践:Ollama + Open WebUI 完整指南
随着 Llama、Qwen、DeepSeek 等开源模型的成熟,私有化部署大模型已经变得非常可行。本文介绍最简单的私有化方案。
为什么要私有化部署
- 数据安全:敏感代码、内部文档不上传到第三方
- 成本控制:高频使用场景下比 API 调用便宜
- 低延迟:内网访问,无网络往返延迟
- 离线可用:断网环境也能使用
硬件要求
| 模型规模 | 最低显存 | 推荐配置 |
|---|---|---|
| 7B | 8GB VRAM | RTX 3080 / A10 |
| 13B | 16GB VRAM | RTX 3090 / A100 40G |
| 70B | 48GB VRAM | A100 80G × 2 |
| 纯 CPU | 16GB RAM | 速度较慢,可用 |
安装 Ollama
# Linux/macOS 一键安装
curl -fsSL https://ollama.com/install.sh | sh
# 验证安装
ollama --version
# 启动服务(默认监听 11434)
ollama serve
Docker 部署(推荐生产环境)
# CPU 版本
docker run -d \
--name ollama \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama
# GPU 版本(需要 nvidia-container-toolkit)
docker run -d \
--name ollama \
--gpus all \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama
下载和管理模型
# 下载 Qwen2.5 7B(中文效果好)
ollama pull qwen2.5:7b
# 下载 DeepSeek-R1(推理能力强)
ollama pull deepseek-r1:7b
# 下载代码模型
ollama pull qwen2.5-coder:7b
# 列出已下载模型
ollama list
# 删除模型
ollama rm qwen2.5:7b
# 直接对话测试
ollama run qwen2.5:7b
部署 Open WebUI
Open WebUI 提供类 ChatGPT 的界面,支持多模型切换、对话历史、文件上传等功能。
docker run -d \
--name open-webui \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--add-host=host.docker.internal:host-gateway \
ghcr.io/open-webui/open-webui:main
访问 http://localhost:3000,首次登录创建管理员账号。
配置模型参数
在 Ollama 中可以自定义模型行为:
# 创建自定义 Modelfile
FROM qwen2.5:7b
SYSTEM """
你是一个专业的运维工程师助手,擅长 Linux 系统管理、Kubernetes、监控告警等领域。
回答要简洁准确,代码示例要可直接运行。
"""
PARAMETER temperature 0.7
PARAMETER num_ctx 8192
# 从 Modelfile 创建模型
ollama create ops-assistant -f Modelfile
# 使用自定义模型
ollama run ops-assistant
接入 API
Ollama 兼容 OpenAI API 格式,可以直接替换:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # 随意填写
)
response = client.chat.completions.create(
model="qwen2.5:7b",
messages=[
{"role": "user", "content": "帮我写一个检查磁盘使用率的 Shell 脚本"}
]
)
print(response.choices[0].message.content)
性能优化
# 设置并发请求数
OLLAMA_NUM_PARALLEL=4 ollama serve
# 设置模型常驻内存(避免重复加载)
OLLAMA_KEEP_ALIVE=24h ollama serve
# 限制显存使用
OLLAMA_MAX_VRAM=10GiB ollama serve
私有化部署大模型的门槛已经很低,一台带 GPU 的服务器就能跑起来,非常适合团队内部知识库、代码审查、运维脚本生成等场景。