本地部署DeepSeek
注意:文章是根据发表时的互联网公开知识背景所写,当前有可能部分内容已失效,请根据需要查阅相关资料。
基于WSL2 + Ubuntu24.04 + Ollama + DeepSeek + Open-WebUI进行本地大模型部署
安装WSL2和Ubuntu24.04
安装WSL2
使用PowerShell以管理员身份运行以下命令
1
2
3
4
5# 安装适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用“虚拟机平台”可选组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启电脑
使用PowerShell以管理员身份设置wsl版本为2
1
wsl --set-default-version 2
安装Ubuntu24.04
使用PowerShell以管理员身份运行以下命令
1
2
3
4
5
6
7
8# 查看可用Linux发行版列表
wsl --list --online
# 安装Ubuntu24.04
wsl --install -d Ubuntu-24.04
# 查看是否安装完成
wsl -l -v配置wsl网络类型
在windows系统的C:\Users\【用户名】
目录下新增.wslconfig
文件,输入以下内容并保存。1
2
3
4
5[wsl2]
networkingMode=mirrored
[experimental]
hostAddressLoopback=true启动Ubuntu并配置用户名和密码
1
wsl -d Ubuntu-24.04
迁移Ubuntu至其他磁盘
1
2
3
4
5
6
7
8
9
10
11#导出wsl实例
wsl --export Ubuntu-24.04 D:\WSL\ubuntu2404.tar
#注销当前wsl实例
wsl --unregister Ubuntu-24.04
#导入实例
wsl --import Ubuntu-24.04 D:\WSL\ubuntu2404\ D:\WSL\ubuntu2404.tar
#设置默认用户名,即配置Ubuntu时所使用的用户名
ubuntu2404.exe config --default-user 用户名 #某些情况下报错,不识别ubuntu2404命令,则跳过这条命令。Ubuntu配置国内镜像
1
2
3
4
5#备份当前镜像配置
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
#编辑镜像配置
sudo vim /etc/apt/sources.list.d/ubuntu.sources复制以下内容到
ubuntu.sources
文件保存,参考https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# Types: deb-src
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble noble-updates noble-backports
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# Types: deb-src
# URIs: http://security.ubuntu.com/ubuntu/
# Suites: noble-security
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# 预发布软件源,不建议启用
# Types: deb
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble-proposed
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# # Types: deb-src
# # URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# # Suites: noble-proposed
# # Components: main restricted universe multiverse
# # Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg更新镜像源
1
2sudo apt update
sudo apt full-upgrade -y
安装docker
安装步骤参考地址
1
https://docs.docker.com/engine/install/ubuntu/
- 配置docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 卸载旧版docker,可选操作
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
#如果报错,重新执行直到成功
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update - 安装docker
1
2
3
4
5sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#等待安装完成并查看是否安装成功
sudo docker --version
sudo docker images
安装cuda
安装步骤参考地址
1
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_local
Cuda Toolkit Installer
1
2
3
4
5
6
7wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-ubuntu2404-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8查看cuda信息
1
nvidia-smi
安装ollama
方法一:命令行方式安装,可能网速很慢
1
curl -fsSL https://ollama.com/install.sh | sh
方法二:压缩包安装,速度依然很慢
1
2curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz方法三:离线压缩包安装,速度较快,下载完成后注意校验压缩包的哈希值sha256
- 在sourceforge.net网站上搜索ollama下载压缩包,下载地址参考:
1
2https://liquidtelecom.dl.sourceforge.net/project/ollama.mirror/v0.5.7/ollama-linux-amd64.tgz?viasf=1
https://jaist.dl.sourceforge.net/project/ollama.mirror/v0.5.7/ollama-linux-amd64.tgz?viasf=1 - 下载完成后的压缩包ollama-linux-amd64.tgz拷贝至ubuntu
~/home/用户
目录下。- 拷贝方法一:在windows11资源管理器Linux对应目录下,目录地址参考如
\\wsl.localhost\Ubuntu-24.04
- 拷贝方法二:使用
MobaXterm
、VSCode
等软件拷贝,参考windows和wsl资源如何共享。
- 拷贝方法一:在windows11资源管理器Linux对应目录下,目录地址参考如
- sourceforge.net网站上搜索ollama也可下载
OllamaSetup.exe
,用于在windows环境安装ollama,下载地址参考:1
2https://jaist.dl.sourceforge.net/project/ollama.mirror/v0.5.7/OllamaSetup.exe?viasf=1
https://liquidtelecom.dl.sourceforge.net/project/ollama.mirror/v0.5.7/OllamaSetup.exe?viasf=1 - 在wsl中使用离线包安装ollama
1
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
- 安装完成,查看ollama安装情况
1
2
3ollama serve
ollama ls
ollama ps
- 在sourceforge.net网站上搜索ollama下载压缩包,下载地址参考:
ollama拉取deepseek
- 根据硬件配置情况拉取deepseek模型
模型类型 最小GPU配置 CPU配置 内存要求 磁盘空间 R1-Zero全量版 RTX 4090(24GB) Xeon 8核+128GB 128GB 500GB R1蒸馏版-70B RTX 3090(24GB) i9-13900K+64GB 64GB 320GB R1蒸馏版-14B RTX 3060(12GB) Ryzen 7+32GB 32GB 80GB R1蒸馏版-1.5B GTX 1650(4GB) 任意四核处理器+8GB 8GB 12GB - ollama拉取deepseek-r1:1.5b
1
ollama run deepseek-r1:1.5b
- 等待拉取完成并测试
拉取速度在90%及以后很慢时,使用
Ctrl+C
停止拉取,重启执行ollama拉取deepseek命令,会继续拉取。
docker安装open-webui
使用官方镜像源速度较慢
1
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
使用第三方镜像源
1
2
3
4
5
6
7
8
9
10
11
12
13
14docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
#如果是先pull镜像再运行
docker run -d -p 3000:8000 --add-host=hosy.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
#启动镜像
docker start open-webui
#停止镜像
docker stop open-webui
#查看容器日志
docker logs open-webui使用open-webui
浏览器访问地址:http://127.0.0.1:3000docker中部署open-webui相关故障问题
参考地址:https://docs.openwebui.com/troubleshooting/connection-error/- open-webui无法关联ollama模型
报错信息1
1
ERROR [open_webui.routers.ollama] Connection error: Cannot connect to host host.docker.internal:11434 ssl:default [Connect call failed ('172.17.0.1', 11434)]
解决办法1
在open-webui网页设置-管理员设置-外部连接-Ollama API-管理Ollama API连接
将http://host.docker.internal:11434
修改为http://127.0.0.1:11434
并进行保存。报错信息2
1
ERROR [open_webui.routers.ollama] Connection error: Cannot connect to host 127.0.0.1:11434 ssl:default [Connect call failed ('127.0.0.1', 11434)]
解决办法2
重新创建运行docker镜像1
2
3
4
5#官方镜像源
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
#第三方镜像源
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
- open-webui无法关联ollama模型
pip安装open-webui
使用python pip方式进行安装
wsl查看python版本
1
python3 --version
wsl安装pip
1
2sudo apt update
sudo apt install python3-pip配置pip国内镜像,否则下载open-webui速度会很慢
1
2mkdir ~/.pip
sudo vim ~/.pip/pip.conf- 在
pip.conf
输入以下内容并保存1
2
3
4
5
6
7[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
extra-index-url =
https://mirrors.aliyun.com/pypi/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn - pip配置
1
2pip config list #查看配置
pip3 install --upgrade pip #更新pip索引
- 在
pip安装open-webui
1
2#ubuntu24.04需要使用--break-system-packages强制安装,否则报错
pip install open-webui --break-system-packages --ignore-installed启动open-webui
1
2
3
4open-webui serve
#指定端口启动
open-webui serve --port 8081浏览器查看open-webui进行测试
浏览地址:http://127.0.0.1:3000 (也可指定端口号启动open-webui)open-webui问题处理
- 启动报错
- 安装ffmpeg重新启动
1
sudo apt-get install ffmpeg
- 安装ffmpeg重新启动
- open-webui网页长时间白屏
等待一段时间,在设置-管理员设置-外部连接
,关闭OpenAI API。 - open-webui网页联网搜索
在设置-管理员设置-联网搜索
中选择duckduckgo
。
- 启动报错
open-webui更新
1
pip install --upgrade open-webui --break-system-packages