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,对话内容永远不会泄露给第三方。

相关推荐
物联网IoT小易4 分钟前
AI企业园区技术架构思考:大模型如何进入物理世界运营场景?
人工智能·智慧园区·智慧园区解决方案·ai智慧园区·aiot平台·ai企业园区
陈天伟教授4 分钟前
图解人工智能(55)人工智能应用-机器翻译
人工智能·自然语言处理·机器翻译
watersink6 分钟前
PagedAttention论文深度解析
人工智能
羊羊一洋7 分钟前
对讲机核心技术解析:色码、亚音、脱网
人工智能·语音识别
OpenCSG8 分钟前
不止 AI 编程:CSGLite 在多应用场景中的效率提升案例分析
人工智能
实在智能RPA8 分钟前
航空维修知识库构建方法:从RAG到Agent-native的架构演进与全栈工程实践
人工智能·ai·架构
EdgeOne边缘安全加速平台13 分钟前
EdgeOne Web 防护×AI 升级:让 AI 既参与攻击识别,也参与误报纠错
前端·人工智能·腾讯云·edgeone
朱大喜20 分钟前
matplotlib/Plotly/ECharts 可视化看板设计:从图表选型到交互体验的工程化实践
人工智能
云烟成雨TD37 分钟前
Agent Scope Java 2.x 系列【3】从零构建 ReActAgent
java·人工智能·agent