大模型私有化部署实践:Ollama + Open WebUI 完整指南

随着 Llama、Qwen、DeepSeek 等开源模型的成熟,私有化部署大模型已经变得非常可行。本文介绍最简单的私有化方案。

为什么要私有化部署

  • 数据安全:敏感代码、内部文档不上传到第三方
  • 成本控制:高频使用场景下比 API 调用便宜
  • 低延迟:内网访问,无网络往返延迟
  • 离线可用:断网环境也能使用

硬件要求

模型规模最低显存推荐配置
7B8GB VRAMRTX 3080 / A10
13B16GB VRAMRTX 3090 / A100 40G
70B48GB VRAMA100 80G × 2
纯 CPU16GB 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 的服务器就能跑起来,非常适合团队内部知识库、代码审查、运维脚本生成等场景。

← 返回文章列表