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

相关推荐
神奇霸王龙7 小时前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
南讯股份Nascent7 小时前
洽洽全域会员项目启动会圆满召开
大数据·人工智能
大郭鹏宇7 小时前
基于 LangGraph 构建智能分诊系统(一):项目概述与环境搭建
大数据·人工智能·microsoft·langchain
小林ixn7 小时前
大模型的“高考成绩单”:读懂Benchmark,选对真·生产力模型
人工智能·llm·测试
冬奇Lab7 小时前
AI 评测系列(04):RAG 评测——RAGAS 四指标实战与一个反直觉发现
人工智能·llm·agent
三声三视7 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
fthux8 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
andxe8 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
计算机魔术师9 小时前
Karpathy:用语音与LLM长谈可提升理解效率
人工智能·ai编程
甲维斯9 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能