DeepSeek 这真的是太惊艳了,发布出来的模型这么能打,在线的版本使用起来也是丝滑连招,感觉效果比起之前一直用智谱 chatglm4 更好用,想着本地化部署一下。
本来以为,会和之前在开发测试 transformers 的模型和代码一样,需要自己去配置写 langchain 和 streamlit 的,但是看下来,实际上最简单并且家用的方法。
可以直接 Windows 装 Ollama ,Docker 化部署 OpenWebUI,就能够本地局域网使用了,于是开始配置部署,并进行下记录。
这份记录可能会随着本地配置的内容,调整一些细节,供各位看官参考。
CUDA
好久没有用自己的台式机显卡去做一些开发了,之前还是在用的CUDA11.0,担心是不是需要升级下,配合新的系统,所以直接下了12.6的CUDA包,安装并清理了历史CUDA环境
Ollama
ollama官网下载,window基本上是傻瓜式的
默认安装完了,在 C:\Users{your_user_name}\AppData\Local\Programs\Ollama下面,磁盘不够可以拷贝到其他盘,然后链接回来
mklink /D "C:\Users\{your_user_name}\AppData\Local\Programs\Ollama" "D:\software\Ollama"
打开一个命令窗口,输入ollama能看到帮助命令使用方式
我本地有一个2080TI的卡,Deepseek能跑到14b的模型
命令行输入
第一次开始时,会先去下载14b模型,稍微会慢一些
C盘空间不够,可以迁移走模型到其他盘,然后还是使用 mklink /D "C:\Users\{your_user_name}\.ollama" "{new_model_dir}"
这种启动下的 Ollama 对应的模型,会被加载到内存或者GPU中,退出后一定时间会自动回收资源,有自身的管理机制,这块可以再探索下;
这种命令行的交互方式肯定不是很爽,家庭用又没有可能无时无刻不命令窗进行,所以往下去部署 OpenWebUI
Docker Desktop
部署 OpenWebUI 有不少方法,有本地编译,python服务,容器化等,我这里用的是 docker 容器化的方法
需要先在 windows 中安装上 docker 环境
在 Docker Desktop 文档中去下载
下载完了 Docker Desktop Installer.exe 后,一路傻瓜式安装过去就行,最后启动的时候,可能会有各种问题,建议在网上找下资料确认下
我这里走的是把 wsl 升级到 wsl2 的路径,然后默认启动方式启动的
wsl --set-default-version 2
wsl --set-version Ubuntu-24.04 2
启动完成后,可以到命令行中,拉去 OpenWebUI 的镜像了
OpenWebUI
这个镜像,官网的文档在 github OpenWebUI 上面
明确的指出了,对于 Ollama 安装在本机时,用
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
这个命令启动就够了
Ollama 和 OpenWebUI 靠的是 add host 关联的,在 OpenWebUI 的管理界面我们能看到相应的 Ollama 关联地址(如果你没有配置,你也可以手动去调整)
这里我顺手把 OpenAI API 关掉了,在其他所有内容都靠科学上网解决后,这里关掉 CloseAI 的 API,免得它还去调用
这样下来,我们想到于有了个管理用户,用户历史对话,模型权限等等的前后台服务界面,还能够基于自建的知识库去查询,省事了,就是不知道里面调整一些内容麻不麻烦(如联网查询等,TODO)
这之下,我们就能在家里面,基于本地部署的地址,去在同一个局域网(如同一WIFI)中,从各种终端的 Web 进入,本地化使用了
test 统信
这个纯粹试一下玩玩
找了台统信的电脑试了一下(4核32G),类似的本地已经预先安装了docker环境
就用了上面两个镜像
先启动 ollama
docker run -d -v /home/lenovo/volumes/ollama:/root/.ollama -p 11434:11434 --name ollama alpine/ollama
启动好了之后,进入容器,去执行 ollama run deepseek-r1:1.5b
这里我先预先下载了模型了
然后启动 open-webui
docker run -d -p 13000:8080 -v /home/lenovo/volumes/openwebui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
这里映射到了13000上,查看对应容器的ip
可以登录 172.17.0.6:13000,初始化 admin 用户了
初始化完之后,上右上角点用户头像,进入管理员面板,配置下ollama 的连接(这里没固定ollama的docker ip,感兴趣可以去尝试下)
按照实际ip情况改一下ollama的连接
这样就能够看到模型了
直接CPU推理总体的性能不是很好,一个简单的推理耗时了7分钟