Deepseek R1 本地部署

前言

最近国产的大模型很火,所以想到搞一个玩一玩。

我使用了 Deepseek R1,Ollama,Open WebUI进行了本地部署。

不过我的电脑配置有限,使用了8b参数的版本。

准备工作

  • Ollama 0.5.13

  • Docker version 27.2.0, build 3ab4256

部署

安装 Ollama

1
OllamaSetup.exe /DIR=D:\Ollama

指定安装目录

环境变量 -> 系统变量 -> Path -> 添加 D:\Ollama
环境变量 -> 系统变量 -> 新建 OLLAMA_MODELS -> 值 D:\Ollama\models

配置环境变量,然后重启电脑

1
ollama run deepseek-r1:8b

运行 Deepseek R1

安装 Open WebUI docker ver

这里是使用了 Docker 进行部署,版本 v0.5.19

1
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

这个是使用了显卡的版本,如果没有英伟达显卡,运行 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

访问

打开浏览器,输入 http://localhost:3000,初始化账号密码,然后就可以使用了。

quickstart

为了快速使用,我提供了一个快速使用的脚本。

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
@echo off
set CONTAINER_ID=319bd612c784
title 本地AI快捷启动脚本
color 0a
mode con cols=80 lines=30
:menu
cls
echo ==================================================================
echo 本地 AI 快捷启动脚本
echo ==================================================================
echo 1. 运行 Deepseek7B Ⅱ 5. 停止 Deepseek7B
echo 2. 运行 Deepseek8B Ⅱ 6. 停止 Deepseek8B
echo 3. 运行 Open-WebUI Docker Ⅱ 7. 停止 Open-WebUI Docker
echo 4. 打开浏览器访问 Open-WebUI Ⅱ 8. 停止 Ollama
echo ==================================================================
echo a. 查看显卡状态 Ⅱ
echo b. 查看 Ollama 模型状态 Ⅱ d. 启动 Ollama
echo c. 查看 Docker 容器状态 Ⅱ e. 启动 Docker
echo ==================================================================
echo 0. 退出
echo.
set /p choice=请选择一个选项:

if "%choice%"=="" (
echo 未选择任何选项,请重新选择。
pause
goto menu
)

if "%choice%"=="1" goto runDeepseek7B
if "%choice%"=="2" goto runDeepseek8B
if "%choice%"=="3" goto runOpenWebUI
if "%choice%"=="4" goto openBrowser
if "%choice%"=="5" goto stopDeepseek7B
if "%choice%"=="6" goto stopDeepseek8B
if "%choice%"=="7" goto stopOpenWebUI
if "%choice%"=="8" goto stopOllama
if "%choice%"=="0" goto exit

if "%choice%"=="a" goto nvidia-smi
if "%choice%"=="b" goto model-status
if "%choice%"=="c" goto docker-ps
if "%choice%"=="d" goto startOllama
if "%choice%"=="e" goto startDocker

:runDeepseek7B
start cmd /c "ollama run deepseek-r1:7b"
echo 新窗口 Ctrl + D 退出
pause
goto menu

:runDeepseek8B
start cmd /c "ollama run deepseek-r1:8b"
echo 新窗口 Ctrl + D 退出
pause
goto menu

:runOpenWebUI
start cmd /c "docker start %CONTAINER_ID%"
echo 打开浏览器并访问 http://localhost:3000
pause
goto menu

:openBrowser
start cmd /c "start http://localhost:3000"
goto menu

:stopDeepseek7B
start cmd /c "ollama stop deepseek-r1:7b"
echo 停止 Deepseek7B
pause
goto menu

:stopDeepseek8B
start cmd /c "ollama stop deepseek-r1:8b"
echo 停止 Deepseek8B
pause
goto menu

:stopOpenWebUI
start cmd /c "docker kill %CONTAINER_ID%"
echo 停止 Open-WebUI
pause
goto menu

:stopOllama
start cmd /c "taskkill /f /t /im "ollama app.exe""
echo 停止 Ollama
pause
goto menu

:exit
exit

:nvidia-smi
nvidia-smi
pause
goto menu

:model-status
ollama ps
pause
goto menu

:docker-ps
docker ps -a
pause
goto menu

:startOllama
start cmd /c "D:\Ollama\ollama app.exe"
echo 启动 Ollama
pause
goto menu

:startDocker
start cmd /c "C:\Program Files\Docker\Docker\Docker Desktop.exe"
echo 启动 Docker
pause
goto menu

根据 Docker 容器 ID 修改 CONTAINER_ID 的值。

结语

大家都说 Deepseek R1 很强,但是在我这里并没有体现出来,可能是我的电脑配置太低了。

参考

Ollama
Open WebUI