离线部署大模型Ollama+DeepSeek+Open-WebUI 完整指南
·
离线部署大模型Ollama+DeepSeek+Open-WebUI 完整指南
一、整体架构与核心组件
1. 架构流程图
2. 核心组件说明
| 组件 | 作用 | 核心优势 |
|---|---|---|
| Ollama | 本地大模型运行框架 | 跨平台、部署简单、支持模型导入/管理/API调用 |
| DeepSeek-R1 | 高性能开源大模型(中英文支持) | 多参数版本、兼顾速度与精度、支持复杂任务 |
| Open-WebUI | 可视化 Web 界面 | 易用性强、支持 RAG 知识库、多模型切换 |
二、前置准备
1. 硬件要求(关键)
| DeepSeek-R1 版本 | 模型大小 | 建议 CPU | 建议内存 | 建议显存 | 适用场景 |
|---|---|---|---|---|---|
| 1.5B | 1.1GB | 4核 | 4~8G | 4GB | 轻量文本处理、快速响应 |
| 7B/8B | 4.7G/4.9G | 8核 | 16G | 14GB | 日常使用、平衡性能与硬件 |
| 14B | 9GB | 12核 | 32G | 26GB | 复杂推理、代码生成 |
| 32B | 20GB | 16核 | 64G | 48GB | 专业级高精度任务 |
| 70B+ | 43GB+ | 32核+ | 128G+ | 140GB+ | 大规模计算、超复杂任务 |
注意:纯 CPU 可运行但速度极慢,建议至少 4GB 显存的独立显卡;Mac M 芯片用户优先选择 Apple 原生版本。
2. 环境依赖
- 操作系统:Windows 10+/macOS 12+/Linux(Ubuntu 20.04+/CentOS 7+)
- Docker(可选,推荐用于容器化部署)
- 网络:在线安装需联网,离线部署需提前下载安装包与模型文件
三、Ollama 安装与配置
1. 在线安装(推荐)
| 系统 | 安装方式 |
|---|---|
| Windows/macOS | 1. 中文站:http://ollama.org.cn/download/ 2. 官方:https://ollama.com/download/ |
| Linux | 命令行:`curl -fsSL https://ollama.com/install.sh |
验证安装:
ollama --version显示版本信息即成功。
2. 离线安装(无网络环境)
(1)Windows/macOS
直接拷贝离线安装包(从联网环境下载)到目标机器,双击安装即可。
(2)Linux
# 1. 创建安装目录
mkdir -p /home/ollama && cd /home/ollama
# 2. 下载对应架构安装包(提前从 GitHub 下载)
# 架构查询:lscpu → x86_64 选 amd64,arm64 选 arm64
wget https://github.com/ollama/ollama/releases/download/v0.5.11/ollama-linux-amd64.tgz
# 3. 下载安装脚本
wget https://ollama.com/install.sh
# 4. 修改安装脚本(跳过在线下载)
tar -zxvf ollama-linux-amd64.tgz
chmod +x install.sh
# 编辑 install.sh:注释 curl 下载行,添加本地拷贝
# 原行:curl --fail --show-error ... -o $TEMP_DIR/ollama ...
# 新增:cp ./ollama-linux-amd64 $TEMP_DIR/ollama
# 5. 执行安装
./install.sh
3. 模型存储位置修改(可选)
默认存储目录可能占用系统盘,通过环境变量修改:
| 系统 | 操作命令 |
|---|---|
| Windows | setx OLLAMA_MODELS "D:\data\ollama\models"(命令提示符) |
| macOS/Linux | echo 'export OLLAMA_MODELS=/data/ollama/models' >> ~/.bashrc && source ~/.bashrc |
| Docker | 启动时挂载卷:-v /data/ollama:/root/.ollama(见下文 Docker 部署) |
4. Docker 部署 Ollama(推荐)
# docker-compose.yml
services:
ollama:
image: ollama/ollama
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434" # 默认端口
volumes:
- /data/ollama:/root/.ollama # 模型存储目录
environment:
- OLLAMA_HOST=0.0.0.0:11434 # 允许局域网访问
- OLLAMA_ORIGINS=* # 跨域允许(生产环境限制具体IP)
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu] # GPU 支持(需安装 NVIDIA Docker)
启动命令:docker-compose up -d
四、模型下载与导入(DeepSeek-R1 为例)
1. 在线下载(简单但依赖网络)
(1)官方源
# 下载并运行 8B 版本(平衡性能与硬件)
ollama run deepseek-r1:8b
# 仅下载不运行
ollama pull deepseek-r1:8b
(2)国内源(解决下载慢)
# 魔塔社区(ModelScope)
ollama run modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-8B-GGUF:Q4_K_M
# HF 镜像站(hf-mirror)
ollama run hf-mirror.com/unsloth/DeepSeek-R1-GGUF:deepseek-r1-8b-q4_k_m.gguf
2. 离线导入(推荐国内环境)
(1)下载模型文件
从第三方平台下载 GGUF 格式模型文件(如 DeepSeek-R1-8B.gguf):
- 夸克网盘:https://pan.quark.cn/s/7fa235cc64ef(提取码:wasX)
- 魔塔社区:https://modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-8B-GGUF
- HF 镜像:https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF
(2)导入 Ollama
# 1. 进入模型文件目录
cd /data/ollama/gguf
# 2. 创建 Modelfile(指定本地文件)
echo "From ./DeepSeek-R1-8B.gguf" > modelfile-deepseek-8b
# 3. 导入模型(命名为 deepseek-r1:8b)
ollama create deepseek-r1:8b -f modelfile-deepseek-8b
# 4. 验证导入
ollama list # 查看所有模型
ollama show deepseek-r1:8b # 查看模型详情
3. 模型管理常用命令
| 命令 | 作用 |
|---|---|
ollama list |
列出所有已下载模型 |
ollama run <模型名> |
启动模型交互 |
ollama stop <模型名> |
停止运行中的模型 |
ollama rm <模型名> |
删除模型(释放磁盘空间) |
ollama cp <源模型> <新模型> |
复制模型(用于自定义微调) |
五、Ollama 服务配置
1. 允许局域网访问
默认仅本机访问,修改环境变量开放局域网:
| 系统 | 配置命令 |
|---|---|
| Windows | setx OLLAMA_HOST "0.0.0.0:11434" && setx OLLAMA_ORIGINS "*" |
| macOS | launchctl setenv OLLAMA_HOST "0.0.0.0:11434" && launchctl setenv OLLAMA_ORIGINS "*" |
| Linux | echo 'export OLLAMA_HOST=0.0.0.0:11434' >> ~/.bashrc && source ~/.bashrc |
| Docker | 直接在 docker-compose.yml 中配置环境变量(见上文) |
注意:云服务器部署需关闭公网端口,仅开放局域网或通过 Nginx 代理保护。
2. API 调用示例
Ollama 提供 REST API,支持集成到自定义应用:
# 单次请求(非流式)
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:8b",
"prompt": "解释什么是大语言模型",
"stream": false
}'
# 流式响应(实时返回结果)
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:8b",
"prompt": "写一段 Python 代码实现快速排序",
"stream": true
}'
3. 安全防护(云服务器部署)
通过 Nginx 代理添加 API Key 保护:
server {
listen 8434; # 自定义公网端口
server_name your-domain.com;
location / {
# 验证 API Key(替换为自定义密钥)
if ($http_authorization != "Bearer your-api-key-123") {
return 403;
}
# 代理到 Ollama 服务
proxy_pass http://localhost:11434;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
调用时添加 Header:Authorization: Bearer your-api-key-123
六、Open-WebUI 集成(可视化界面)
1. Docker 部署 Open-WebUI
# docker-compose.yml(与 Ollama 同文件或单独创建)
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "8080:8080" # Web 访问端口
volumes:
- ./open-webui-data:/app/backend/data # 数据持久化
environment:
- OLLAMA_API_BASE_URL=http://ollama:11434/api # 连接 Ollama 服务
- HF_ENDPOINT=https://hf-mirror.com # 国内 HF 镜像
- ENABLE_OPENAI_API=false # 禁用 OpenAI API(避免白屏)
- DEFAULT_MODELS=deepseek-r1:8b # 默认模型
- RAG_EMBEDDING_MODEL=bge-m3 # 知识库嵌入模型(需提前 pull)
depends_on:
- ollama # 依赖 Ollama 服务
启动命令:docker-compose up -d
2. 初始化与使用
- 访问地址:
http://localhost:8080(或局域网 IP:8080) - 注册管理员账号(首次登录)
- 核心功能:
- 聊天交互:选择
deepseek-r1:8b模型直接对话 - 本地知识库:上传文档(PDF/Word/TXT),开启 RAG 增强
- 模型切换:在界面顶部选择已下载的模型
- 联网搜索:设置 → 联网搜索 → 启用(支持 Bing/博查,需 API Key)
- 聊天交互:选择
3. 镜像更新
# 拉取最新镜像
docker-compose pull open-webui
# 重启服务
docker-compose up -d --remove-orphans
# 清理旧镜像
docker image prune
七、常见问题解决
1. 模型下载慢/失败
- 方案 1:间隔重启下载(Windows PowerShell)
while ($true) { if (ollama list | Select-String "deepseek-r1:8b") { Write-Host "下载完成!" && break } Write-Host "重新下载..." $process = Start-Process -FilePath "ollama" -ArgumentList "run", "deepseek-r1:8b" -PassThru -NoNewWindow Start-Sleep -Seconds 60 Stop-Process -Id $process.Id -Force } - 方案 2:使用国内源(魔塔/HF 镜像)或离线导入
- 方案 3:关闭代理软件,直接连接网络
2. 服务无法访问
- 检查 Ollama 状态:
systemctl status ollama(Linux)或任务管理器(Windows) - 防火墙开放端口:11434(Ollama)、8080(Open-WebUI)
- 局域网访问时,确保客户端与服务器在同一网段,使用服务器内网 IP 访问
3. 模型运行卡顿
- 降低模型参数版本(如 14B → 8B)
- 关闭其他占用 CPU/显存的程序
- 确保模型存储在 SSD 中(提升加载速度)
- GPU 用户安装对应驱动(NVIDIA CUDA/AMD ROCm)
八、参考资料
| 资源名称 | 链接 |
|---|---|
| Ollama 官方文档 | https://ollama.readthedocs.io |
| Ollama 中文站 | https://ollama.org.cn |
| DeepSeek 模型 | https://huggingface.co/unsloth/DeepSeek-R1-GGUF |
| Open-WebUI 文档 | https://docs.openwebui.com |
| 魔塔社区 | https://modelscope.cn |
| HF 镜像站 | https://hf-mirror.com |
私有化部署简述
概述
本地私有化部署 ollama、DeepSeek 模型和 open-webui 可视化界面的完整流程,涵盖安装、配置、优化及问题解决方案。
1. ollama 介绍与安装
1.1 ollama 简介
ollama 是一个开源的本地大语言模型运行框架,提供简单便捷的方式在本地部署和运行大型语言模型,支持免费离线使用 LLM 能力,确保数据隐私和安全。
1.2 硬件要求
| 模型规模 | 建议 RAM | 建议显存 | 适用场景 |
|---|---|---|---|
| 1.5B | 4-8GB | 4GB | 轻量级,普通文本处理 |
| 7B/8B | 16GB | 14GB | 性能较好,日常使用 |
| 14B | 32GB | 26GB | 复杂任务、数学推理、代码生成 |
| 32B | 64GB | 48GB | 专业级高精度任务 |
| 70B | 128GB | 140GB | 大规模高复杂度任务 |
实测参考:Mac Studio 2023(M2 Max,32G内存)可流畅运行 deepseek-r1:32b 及以下模型。
1.3 系统安装
Windows/macOS
- 官方下载:https://ollama.com/download/
- 国内中文站:http://ollama.org.cn/download/
- GitHub Releases:https://github.com/ollama/ollama/releases/
Linux
curl -fsSL https://ollama.com/install.sh | bash
离线安装(Linux)
# 下载安装包和脚本
wget https://github.com/ollama/ollama/releases/download/v0.5.11/ollama-linux-amd64.tgz
wget https://ollama.com/install.sh
# 修改安装脚本,将curl下载行替换为本地文件
# 原始:curl --fail --show-error --location --progress-bar -o $TEMP_DIR/ollama "https://ollama.com/download/ollama-linux-${ARCH}${VER_PARAM}"
# 替换为:cp ./ollama-linux-amd64 $TEMP_DIR/ollama
# 执行安装
chmod +x install.sh
./install.sh
1.4 Docker 部署
# docker-compose.yml
services:
ollama:
image: ollama/ollama
container_name: ollama
restart: unless-stopped
ports:
- 11434:11434
volumes:
- /data/ollama:/root/.ollama
environment:
OLLAMA_HOST: 0.0.0.0:11434
OLLAMA_ORIGINS: "*"
1.5 修改模型存储位置
# Linux/macOS
echo 'export OLLAMA_MODELS=/data/ollama/models' >> ~/.bashrc
source ~/.bashrc
# Windows
setx OLLAMA_MODELS D:\data\ollama\models
2. 模型下载与运行
2.1 基本使用
# 下载并运行模型
ollama run deepseek-r1:1.5b
# 仅下载模型
ollama pull deepseek-r1:8b
2.2 模型来源
- 官方源:
ollama run deepseek-r1:8b - 魔塔社区:
ollama run modelscope.cn/Qwen/Qwen2.5-3B-Instruct-GGUF - HuggingFace:
ollama run hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q8_0 - HF镜像:
ollama run hf-mirror.com/unsloth/DeepSeek-R1-Distill-Qwen-7B-GGUF:Q4_K_M
2.3 离线导入模型
# 创建Modelfile
echo "FROM ./deepseek-r1-8b.gguf" > modelfile-deepseek-r1-8b
# 导入模型
ollama create deepseek-r1:8b -f modelfile-deepseek-r1-8b
# 验证
ollama list
ollama run deepseek-r1:8b
3. API 访问
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:8b",
"stream": false,
"prompt": "你是谁"
}'
4. 常见问题解决
4.1 下载速度慢
方法一:断点续传脚本
#!/bin/bash
while true; do
modelExists=$(ollama list | grep "deepseek-r1:7b")
if [ -n "$modelExists" ]; then
echo "模型已下载完成!"
break
fi
echo "开始下载模型..."
ollama run deepseek-r1:7b &
processId=$!
sleep 60
if kill -0 $processId 2>/dev/null; then
kill -9 $processId
echo "已中断本次下载,准备重新尝试..."
fi
done
方法二:离线下载
- 夸克网盘:https://pan.quark.cn/s/7fa235cc64ef(提取码:wasX)
- 魔塔社区:https://modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-7B-GGUF/files
4.2 局域网访问配置
# Windows
setx OLLAMA_HOST 0.0.0.0:11434
setx OLLAMA_ORIGINS "*"
# macOS/Linux
export OLLAMA_HOST="0.0.0.0:11434"
export OLLAMA_ORIGINS="*"
4.3 API 安全保护(nginx配置)
server {
listen 8434;
server_name your_domain.com;
location / {
if ($http_authorization != "Bearer your_api_key") {
return 403;
}
proxy_pass http://localhost:11434;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
5. Open WebUI 集成
5.1 部署准备
# 下载所需模型
ollama pull deepseek-r1:8b
ollama pull bge-m3 # RAG嵌入模型
5.2 Docker Compose 配置
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
environment:
- OLLAMA_API_BASE_URL=http://ollama:11434/api
- HF_ENDPOINT=https://hf-mirror.com
- WEBUI_NAME="私有化LLM服务"
- ENABLE_OPENAI_API=false # 避免请求超时
- CORS_ALLOW_ORIGIN=*
- ENABLE_IMAGE_GENERATION=true
- DEFAULT_MODELS=deepseek-r1:8b
- RAG_EMBEDDING_MODEL=bge-m3
ports:
- 8080:8080
volumes:
- ./open_webui_data:/app/backend/data
depends_on:
- ollama
5.3 启动服务
docker-compose up -d
访问地址:http://localhost:8080
5.4 联网搜索功能
- 设置路径:设置 → 联网搜索 → 启用联网搜索
- 支持搜索引擎:Bing、Bocha
- 注意事项:保护隐私数据请勿开启此功能
6. 常用命令参考
| 命令 | 功能 |
|---|---|
ollama --help |
查看帮助 |
ollama serve |
启动服务 |
ollama list |
列出所有模型 |
ollama ps |
列出运行中的模型 |
ollama show <model> |
显示模型信息 |
ollama rm <model> |
删除模型 |
ollama cp <source> <new> |
复制模型 |
ollama stop <model> |
停止运行模型 |
7. 资源参考
- ollama 官方:https://ollama.com
- ollama 中文站:https://ollama.org.cn
- ollama 文档:https://ollama.readthedocs.io
- 魔塔社区:https://modelscope.cn
- HF Mirror:https://hf-mirror.com
- Open WebUI 文档:https://docs.openwebui.com
总结
通过本文档的步骤,您可以成功搭建一个完整的本地私有化 AI 服务,包括:
- ollama 框架部署
- DeepSeek 模型加载
- Open WebUI 可视化界面
- 网络优化和安全配置
此方案确保了数据的完全本地化处理,适合对隐私安全有高要求的场景使用。
更多推荐

所有评论(0)