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

相关推荐
长弓三石1 分钟前
Spring Boot 4.1 + AgentScope:企业级 Agent 平台的 MCP 双向集成实战
人工智能·spring boot·后端·harness·开源智能体
乌恩大侠1 小时前
从 5G 通信到厘米级感知:基于 NVIDIA Aerial、SRS 与 UL-TDOA 构建 6G 无线定位实验平台
人工智能·5g·电信大模型
云和数据.ChenGuang8 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构8 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
2601_965448879 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台9 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
HRaitest9 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科9 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
车软学堂9 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
海盗123410 小时前
AI 新闻日报 10-28:Atria Dawn 完整版开源、Cursor Agent SDK 转正、Genie 4 实时世界模型
人工智能·机器人·开源·人工智能aigc