最近用 DeepSeek R1 频率超高,可总遇到系统繁忙的问题,就想着是不是本地能部署一个,说干就干!
我的系统是 Windows,性能较低:
• Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 2.00 GHz,英特尔第八代处理器 • 16.0 GB 内存
使用的软件:
• ollama:大模型推理框架 • Open WebUI:一个聊天机器人UI平台,内部可调用本地的 ollama,选择使用 Docker 部署,我本机有 Docker Desktop
1:先下载 windows 版的 ollama,安装后就启动了命令行管理界面。
需要选择一个合适的模型,考虑到机器性能问题,也没有 GPU,就选择在最小参数的 deepseek-r1:1.5b(https://ollama.com/library/deepseek-r1:1.5b)。
这个模型实际上是 DeepSeek R1 Distill Qwen 1.5B ,对 Qwen 蒸馏而来,如下图:

先下载这个模型,在命令行窗口中运行 ollama run deepseek-r1:1.5b
,如下图:

然后可以直接使用 ollama 进行推理,相对简陋一些!所以才推荐使用 Open WebUI。
2:接下去安装 Open WebUI
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
简单解释下,在 Windows 或 WSL2 下通过 OLLAMA_BASE_URL
可以找到宿主机的 ollama 服务,如果 OLLAMA_BASE_URL
配置的是 127.0.0.1,它只能访问容器的内部地址,而 ollama 在宿主机肯定访问不了。
如果遇到不能访问,还可以试下面的方法,ollama 默认启动的时候是绑定 127.0.0.1 地址,可以修改全局地址绑定:
ollama serve --host 0.0.0.0
然后 docker 修改 OLLAMA_BASE_URL 为宿主机 IP 就能解决问题!
还遇到问题也可以有一些调试手段,比如:
docker exec -it open-webui bin/sh
echo $OLLAMA_BASE_URL
docker 启动需要一些时间,docker ps
查看容器状态,状态 starting (health: starting) 变为 (healthy) 代表真的启动了。
也可以使用 Docker Desktop 观察容器状态包括日志:

3:使用Open WebUI
接下去访问 http://localhost:3000/ 就可以访问了,Open WebUI 相比命令行的 ollama 功能更多,比如可以进行对话管理、配置模型参数、内存管理等等。
下面是我的一个测试,大家感觉效果怎么样?

希望大家喜欢本文!




