【干货教程】在Windows计算机部署DeepSeek大模型,给在实验室无外网的同事们用(基于Ollama和OpenWebUI)
文章目录
- 一、前言
- 二、计算机准备
- 三、安装Ollama
- 3.1 访问Ollama官方网站
- 3.2 下载适用于Windows的安装包
- 3.3 安装Ollama安装包
- 3.4 指定Ollama安装目录
- 3.5 指定Ollama的大模型的存储目录
- 四、DeepSeek R1模型
- 4.1 选择DeepSeek R1模型
- 4.2 下载并运行DeepSeek R1模型
- 4.3 常见问题解答
- 五、Docker Desktop
- 5.1 下载Docker Desktop
- 5.2 安装Docker Desktop
- 5.3 配置Docker Desktop
- 5.4 运行Docker Desktop
- 六、Open WebUI
- 6.1 拉取Open WebUI镜像
- 6.2 运行Open WebUI容器
- 6.4 访问Open WebUI
- 6.5 配置Open WebUI
- 6.6 使用Open WebUI
- 6.7 停止Open WebUI
- 6.8 删除Open WebUI
- 七、开放给其他同事用
- 7.1 关闭防火墙
- 7.2 查询本地IP
- 7.3 创建用户账号
- 7.4 设置账号权限
- 7.5 添加模型到工作区
- 7.6 开放给其他同事用
- 八、总结
- 8.1 Ollama介绍
- 8.2 Open WebUI介绍
一、前言
清华大学新闻与传播学院沈阳团队出品的《DeepSeek:从入门到精通》104页PDF
关注【小康师兄】微信公众号,回复【清华大学DeepSeek:从入门到精通】即可获取下载链接。
在企业环境中,出于数据安全的考量,许多电脑被限制在局域网内使用,无法连接外部互联网。例如,生化实验室、物理实验室、射频实验室等关键科研场所。然而,这些实验室在进行深度推理和复杂逻辑分析时,往往需要借助DeepSeek R1的强大功能。
鉴于实验室电脑无法连接外部网络,我们计划在本地部署一个 DeepSeek 大模型,以便实验室的同事们在没有外部网络的情况下,也能够充分利用这一工具,提升工作效率和科研成果的质量。
二、计算机准备
电脑配置越高可以运行版本更高的DeepSeek R1模型。
DeepSeek R1模型版本越高,参数越多,模型越大,效果越好。
本示例电脑配置如下
- CPU:R7 5800
- 显卡:RTX3060 12G独显
- 内存:32G
- 网络:需要稳定的互联网连接以下载模型文件。
三、安装Ollama
3.1 访问Ollama官方网站
- Ollama官方网站:https://ollama.com/
3.2 下载适用于Windows的安装包
- 单击右上角“Download”按钮
- 如果嫌弃官网下载的慢,可以选择网盘下载,方法如下:
关注【小康师兄】微信公众号,回复【Ollama】即可获取下载链接。
3.3 安装Ollama安装包
- 双击安装包,按照安装向导的提示完成安装。
- 安装完成后,可以在开始菜单中找到Ollama。
- 不过这种方式只能安装在C盘(C:\Users\weijian\AppData\Local\Programs\Ollama)
- 这个安装包还不够完善,没有选择安装路径的选项。
3.4 指定Ollama安装目录
- 通过
0llamaSetup.exe /dir="D:\Program Files\0llama”
命令可以指定Ollama安装目录
C:\Users\weijian>d:
D:\>cd “Program Files"
D:\Program Files>0llamaSetup.exe /dir="D:\Program Files\0llama”
3.5 指定Ollama的大模型的存储目录
- 打开 “开始” 菜单,搜索 “环境变量”,点击 “编辑系统环境变量”。
- 在 “系统属性” 窗口中,点击 “环境变量” 按钮。
- 在 “用户变量” 下,点击 “新建”,输入变量名 “ollama_models”,变量值为你想要存储模型的目录路径,如 “D:\ollama_models”,点击 “确定” 保存更改。
- 若 Ollama 已经在运行,需先关闭托盘应用程序,然后从开始菜单重新启动,或在保存环境变量后启动新的终端。
四、DeepSeek R1模型
4.1 选择DeepSeek R1模型
- DeepSeek-R1有多种版本,适配不同的硬件配置(如下图)。
- 主要取决于GPU的显存大小。
- 注意:是GPU的显存,不是电脑的内存。
- 简单列举了几个高性能显卡的参数。
显卡 型号 | 性能评级 | 显存容量 | 显存类型 |
---|---|---|---|
RTX 4090 | S | 24GB | GDDR6X |
RX 7900 XTX | S | 24GB | GDDR6 |
RTX 4080 SUPER | A+ | 16GB | GDDR6X |
RX 7900 XT | A+ | 20GB | GDDR6 |
RTX 4070 Ti SUPER | A | 12GB | GDDR6X |
RX 7900 GRE | A | 16GB | GDDR6 |
RTX 3090 Ti | A | 24GB | GDDR6X |
RX 6950 XT | A | 16GB | GDDR6 |
RTX 4070 Ti | A | 12GB | GDDR6X |
RX 7800 XT | A- | 16GB | GDDR6 |
4.2 下载并运行DeepSeek R1模型
- 我的电脑配置可以选择:deepseek-r1:14b
- CPU:R7 5800
- 显卡:RTX3060 12G独显
- 内存:32G
- 打开 Windows PowerShell(管理员)或终端管理员。
- 输入以下命令下载并运行模型:
ollama run deepseek-r1:14b
- 需要根据自己的电脑配置选择不同的模型版本,比如
- deepseek-r1:1.5b
- deepseek-r1:7b
- deepseek-r1:8b
- deepseek-r1:14b
- deepseek-r1:32b
- 第一次运行
ollama run deepseek-r1:14b
的时候会下载模型,需要保持网络稳定,并等待比较久的时间。 - 我这是第二次运行
ollama run deepseek-r1:14b
,所以就直接启动了。如下图。
4.3 常见问题解答
- 模型加载时间过长:可能是由于硬件性能或网络速度限制。请确保系统满足模型的硬件要求,并检查网络连接。
- 内存不足错误:考虑使用较小的模型版本或升级硬件配置。
- 模型响应不准确:确保按照推荐的配置使用模型,例如将温度设置在 0.5-0.7 之间,并避免添加系统提示符。
- 启动Ollama报错:
Error: listen tcp 127.0.0.1:11434: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
netstat -aon | findstr 11434
:查找占用端口的进程。tasklist | findstr "6892"
:查看该进程的详细信息。taskkill /PID 6872 /F
:杀死该进程。
五、Docker Desktop
5.1 下载Docker Desktop
- Docker官网:https://www.docker.com/get-started/
5.2 安装Docker Desktop
- Docker desktop默认安装到C盘,且安装包无法指定安装目录,且占用将近8G的空间。
- 可以通过命令行的方式直接指定安装目录。
- 打开Powershell,cd到安装包目录,使用命令如下
"Docker Desktop Installer.exe" install -accept-license --installation-dir=D:\Programs\DockerDesktop
5.3 配置Docker Desktop
- 如果您使用的是 Windows 10 或更高版本,建议启用WSL 2 后端以提高性能。
- 打开 Docker Desktop,进入“Settings” -> “General”,勾选“Use the WSL 2 based engine”。
5.4 运行Docker Desktop
- DockerDesktop启动后,
Engine running
如下图。 - 如果出现
Engine Stopped
则是不对的,需要排查原因。
六、Open WebUI
6.1 拉取Open WebUI镜像
- 打开终端(如 PowerShell 或命令提示符),输入以下命令拉取Open WebUI镜像:
docker pull ghcr.io/open-webui/open-webui:main
6.2 运行Open WebUI容器
- 使用以下命令启动 Open WebUI 容器:
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
- 参数说明:
-d
:后台运行容器。-p 3000:8080
:将容器的 8080 端口映射到主机的 3000 端口。--add-host=host.docker.internal:host-gateway
:使容器能够访问主机服务。-v open-webui:/app/backend/data
:将 Open WebUI 的数据目录挂载到 Docker 卷 open-webui。--name open-webui
:为容器命名。--restart always
:设置容器始终自动重启。
6.4 访问Open WebUI
- 打开浏览器,访问http://localhost:3000。
- 如果看到 Open WebUI 的登录界面,说明运行成功。
6.5 配置Open WebUI
- 创建账户:首次访问时,需要创建一个管理员账户。
- 连接模型:在 Open WebUI 界面中,进入设置页面,配置模型运行器(如 Ollama)的 API URL。
6.6 使用Open WebUI
6.7 停止Open WebUI
- 停止容器:使用以下命令停止容器:
docker stop open-webui
6.8 删除Open WebUI
- 删除容器:使用以下命令删除容器:
docker rm open-webui
七、开放给其他同事用
7.1 关闭防火墙
- 进入“Windows安全中心”——>“防火墙和网络保护”。
- 将公用网络、专用网络和域网络的防火墙全部关闭。
- 当然,我这个方法比较极端,也可以通过设置防火墙,进行精细化管理。
7.2 查询本地IP
- 打开 Windows PowerShell(管理员)或终端管理员。
- 输入以下命令查询本机IP地址:
ipconfig
7.3 创建用户账号
- 单击左下角“用户名称”
- 单击“管理员面板”
- 用户概述界面,单击右上角“+”按钮。
- 添加用户
7.4 设置账号权限
- 用户权限组界面,编辑默认权限
- 勾选对应的权限
7.5 添加模型到工作区
7.6 开放给其他同事用
八、总结
- 主要使用三个开源软件,Ollama、Docker和Open WebUI才将DeepSeek R1大模型运行起来。
8.1 Ollama介绍
Ollama是一个开源的框架,主要用于在本地机器上便捷地部署和运行大型语言模型(LLM)。以下是关于 Ollama 的详细介绍:
- 简化部署:Ollama的设计目标是简化在Docker容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。
- 轻量级与可扩展:作为一个轻量级框架,Ollama保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。
- API 支持:Ollama提供了一个简洁的API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。
- 预构建模型库:Ollama包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。
- 模型导入与定制:Ollama支持从特定平台(如GGUF)或其他深度学习框架(如PyTorch或Safetensors)导入已有的大型语言模型,并允许用户为模型添加或修改提示(prompt engineering)
8.2 Open WebUI介绍
Open WebUI是一个开源的Web界面,用于与AI模型进行交互。以下是其简要介绍:
- 开源项目:Open WebUI是一个开源的Web用户界面框架,用于与生成式人工智能模型进行交互。
- 离线运行:它专为完全离线运行而设计,确保用户数据的隐私和安全。
- 多模型支持:支持多种大型语言模型(LLM)运行器,包括Ollama和兼容OpenAI的API。
- 丰富的交互功能:提供代码高亮、数学公式支持、网页浏览、预设提示词、本地RAG集成、对话标记、下载模型、聊天记录、语音支持等- 功能。
- 图像生成集成:支持与AUTOMATIC1111 API、ComfyUI(本地)以及OpenAI的DALL-E(外部)等图像生成模型的集成。
- 网络搜索集成:支持使用多种搜索引擎(如SearXNG、Google PSE等)进行网络搜索,并将结果直接注入聊天体验。
- 多语言支持:支持国际化(i18n),用户可以使用自己喜欢的语言体验Open WebUI。
- 基于角色的访问控制(RBAC):通过受限权限确保安全访问,只有授权人员才能访问特定的模型和功能。
- 易于部署:支持使用Docker或Kubernetes(通过kubectl、kustomize或helm工具)进行无缝安装。
- 插件支持:通过Pipelines插件框架扩展功能,允许用户添加自定义逻辑和Python库。
若觉得文章对你有帮助,随手『点赞』、『收藏』、『关注』,也是对我的支持。