Ollama + Open WebUI 部署教程:本地运行大语言模型,自建私有 AI 助手

Ollama + Open WebUI 部署教程:本地运行大语言模型,自建私有 AI 助手

不想把对话内容发给 OpenAI?有私密需求或离线场景?Ollama 让你在自己的服务器上运行 Llama、Qwen、DeepSeek 等开源大语言模型,Open WebUI 提供和 ChatGPT 一样的聊天界面。这篇文章讲如何搭建一套完整的私有 AI 服务。

可以运行哪些模型

Ollama 支持的主流模型(2025 年):

模型 中文支持 最小显存/内存
Qwen2.5:7b ⭐ 优秀 8GB
DeepSeek-R1:7b ⭐ 优秀 8GB
Llama3.1:8b ✅ 一般 8GB
Qwen2.5:14b ⭐ 优秀 16GB
DeepSeek-R1:32b ⭐ 极佳 32GB

无 GPU 时使用 CPU 推理,速度较慢但可用。

服务器配置

CPU 推理(无 GPU)

  • 4 核 8GB 内存:可跑 7B 模型,生成速度约 2-5 token/s
  • 8 核 16GB 内存:可跑 14B 模型

有 NVIDIA GPU

  • 6GB 显存:7B 模型流畅运行(20+ token/s)
  • 16GB 显存:14B 模型流畅运行

我把服务部署在雨云服务器rainyun+com 的 8 核 16G 机型上,CPU 推理跑 Qwen2.5:7b 完全可用,对话响应速度可以接受。注册填优惠码 2026off 领 5 折优惠券,高内存机型价格实惠。

Docker 部署

bash 复制代码
mkdir -p ~/ai && cd ~/ai
yaml 复制代码
# docker-compose.yml
version: "3.8"

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "127.0.0.1:11434:11434"
    volumes:
      - ollama_data:/root/.ollama    # 模型存储(会很大)
    # 如果有 NVIDIA GPU,取消下面注释
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: 1
    #           capabilities: [gpu]
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "127.0.0.1:3000:8080"
    volumes:
      - webui_data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=替换为随机字符串
      # 允许注册(第一个注册的是管理员)
      - ENABLE_SIGNUP=true
      # 连接外部 OpenAI 兼容 API(可选)
      # - OPENAI_API_BASE_URL=https://api.openai.com/v1
      # - OPENAI_API_KEY=你的OpenAI密钥
    depends_on:
      - ollama
    restart: unless-stopped

  caddy:
    image: caddy:alpine
    container_name: caddy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    restart: unless-stopped

volumes:
  ollama_data:
  webui_data:
  caddy_data:
  caddy_config:
复制代码
# Caddyfile
ai.你的域名.com {
    reverse_proxy open-webui:8080
}
bash 复制代码
docker compose up -d

下载模型

bash 复制代码
# 下载 Qwen2.5 7B(推荐中文场景,约 4.7GB)
docker exec ollama ollama pull qwen2.5:7b

# 下载 DeepSeek-R1 7B(推理能力强,约 4.7GB)
docker exec ollama ollama pull deepseek-r1:7b

# 下载 Llama3.1 8B(英文能力强,约 4.9GB)
docker exec ollama ollama pull llama3.1:8b

# 查看已下载的模型
docker exec ollama ollama list

访问和初始配置

访问 https://ai.你的域名.com,第一个注册的账号自动成为管理员。

推荐的初始设置:

  1. 「管理员设置」→「用户」→ 关闭注册(只给自己和受信任的人用)
  2. 「模型」→ 选择下载的模型作为默认
  3. 「系统提示词」→ 设置全局 System Prompt(如:用中文回答)

通过 API 使用(兼容 OpenAI 格式)

Ollama 完全兼容 OpenAI API 格式,可以替换 SDK 里的 base_url:

python 复制代码
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": "你好!"}]
)
print(response.choices[0].message.content)
bash 复制代码
# curl 测试
curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5:7b",
  "messages": [{"role": "user", "content": "你好"}],
  "stream": false
}'

自定义模型配置(Modelfile)

bash 复制代码
# 创建带自定义系统提示词的模型
cat > ~/ai/my-assistant.modelfile << 'EOF'
FROM qwen2.5:7b

SYSTEM """
你是一个专业的 Linux 运维助手。
回答要简洁、准确,优先提供可直接使用的命令。
默认使用中文回复。
"""

PARAMETER temperature 0.7
PARAMETER num_ctx 4096
EOF

docker exec -i ollama ollama create my-assistant -f - < ~/ai/my-assistant.modelfile

性能优化

yaml 复制代码
# 在 docker-compose.yml 的 ollama 服务里添加
environment:
  - OLLAMA_NUM_PARALLEL=2      # 同时处理 2 个请求
  - OLLAMA_MAX_LOADED_MODELS=2  # 同时加载 2 个模型(需要内存够)
  - OLLAMA_FLASH_ATTENTION=1   # 开启 Flash Attention(更快)

查看资源占用

bash 复制代码
# 查看推理时的 CPU/内存占用
docker stats ollama

# 查看模型加载状态
docker exec ollama ollama ps

Ollama + Open WebUI 是目前最完整的本地 AI 部署方案,ChatGPT 的体验、完全本地的隐私。在雨云服务器rainyun+com 的 8 核 16G 机型上部署,Qwen2.5:7b 运行流畅,日常问答、写代码、总结文档都没问题,注册填优惠码 2026off 领 5 折优惠券,用自己的服务器跑 AI,对话内容永远不会泄露给第三方。

相关推荐
weixin_446260851 小时前
本地部署与实践指南:构建免费的AI开发助手系统(Claude Code + Ollama)
人工智能
南宫萧幕1 小时前
Simulink 从零搭建 HEV ECMS 环境:模块解析、排坑指南与智能算法接口预留
人工智能·算法·matlab·汽车·控制
YuanDaima20481 小时前
Docker 工程化安装与核心命令实战
运维·人工智能·docker·微服务·容器·bash
杰之行1 小时前
Fast-DDS 接收数据完整时序分析
c++·人工智能
闲人编程1 小时前
Agent的评估体系(AgentEval):如何判断一个Agent好坏?
大数据·人工智能·python·算法·agent·智能体·swe
hnult1 小时前
知识竞赛考试平台怎么选?2026 考试云全功能选型与实践指南
大数据·人工智能
tzc_fly1 小时前
Latent-Y:经实验室验证的从头药物设计自主智能体
人工智能
weixin_446260852 小时前
hermes agent的版本更新与web控制台
人工智能
瑞华丽PLM2 小时前
瑞华丽 AI 智能体研发数字化实战指南
人工智能·cae·工业软件·仿真软件·国产软件·瑞华丽plm·瑞华丽