适用场景:
1、商城的小机器人自动根据实际情况回复
2、需要7*24小时运行在线回复,如:在线购物、在线咨询、在线招生等
3、无人值守环境
2025年1月,DeepSeek 正式发布 DeepSeek-R1 推理大模型,DeepSeek-R1 成本价格低廉,性能卓越。
最近,DeepSeek的访问出现了不稳定的问题,一个有效的解决方案是进行本地化部署。本地化部署不仅可以避免网络波动带来的影响,还能提供更高的隐私保护和数据安全性。通过本地化部署,用户可以在自己的设备上运行DeepSeek模型,无需依赖外部网络连接,从而实现更稳定、更可靠的使用体验。
DeepSeek 提供了多种使用方式,满足不同用户的需求和场景。本地部署在数据安全、性能、定制化、成本、离线可用性和技术自主性方面具有显著优势。
接下来我详细讲解下基于Windows+Ollama+Docker Desktop+ RAGFlow 的本地化部署流程,并通过实例代码演示。
一、软硬件需求
1、 硬件需求
DeepSeek R1 本地部署的硬件需求如下:
(1)基本推荐配置:CPU: 8核或以上,内存: 32GB或以上,存储: 100GB SSD或以上。
(2)GPU: NVIDIA GTX2080或同等性能
(3)DeepSeek-7B 推荐配置:RTX3060 以上显卡 + 16G以上 内存 + 50G SSD 存储空间
(4)DeepSeek-70B 推荐配置:RTX4060 以上显卡 + 32G以上 内存 + 200G SSD 存储空间
(5)本教程使用的硬件配置为:
CPU: Intel xeon E5 2683 v3
内存: 24GB
存储: 500GB 7个机械Raid5的虚拟化ESXi底层
GPU: NVIDIA GTX 3060。
2、软件依赖
(1)DeepSeek R1 本地部署的软件依赖包括操作系统、容器化工具、编程语言、深度学习框架、数据库、消息队列、Web 服务器、GPU 加速工具、版本控制、包管理工具、监控与日志工具以及安全工具。
(2)本教程采用 Windows10 19045版本、Ollama 0.5.12、docker 4.38.0、 RAGFlow。
二、安装ollama、git、docker desktop过程
(一)Ollama 下载与安装
1、 Ollama 的下载
Ollama 是一个开源的本地模型运行工具,可以方便地下载和运行各种开源模型,如 Llama、Qwen、DeepSeek 等。
Ollama 提供高效、灵活的大模型部署和管理解决方案,可以简化模型的部署流程。支持macOS、Linux、Windows 操作系统。
官网地址:https://ollama.com/
下载地址:https://ollama.com/download
本教程选择 Ollama Windows 版本下载。
2、 Ollama 的安装
(1)下载完成后直接点击 OllamaSetup.exe 进行安装。
(2)安装完成后,cmd 打开命令行窗口,输入 “ollama -v” 测试,显示 ollama 的版本为 “0.5.12”,表明安装成功。
3、配置环境变量:
(1)新建用户的环境变量后,注意大写与名称,重启,如下图:
配置OLLAMA_HOST环境变量的作用是让虚拟机里的RAGFlow能够访问到本机上的Ollama,因为这里RAGFlow要通过Docker部署,默认情况下ollama只能允许本机访问的。默认情况下Ollama监听的是localhost:11434。通过设置成0.0.0.0,这样Ollama就可以监听到本机所有的ip,这样虚拟机就可以访问到本机上的Ollama了。
(2)重启系统后,使用set命令查看设置的环境变量是否生效:
4、 Ollama 的运行
Ollama 没有用户界面,在后台会自动运行,重启电脑也会自动启动。
打开浏览器,输入 :
“http://localhost:11434/”,
显示 “Ollama is running”。
(二) deepseek-r1 模型安装
1、Ollama 安装 deepseek-r1 模型
(1)从 ollama 官网 查找 deepseek-r1 模型。
下载地址:https://ollama.com/download
(2)点击进入 deepseek-r1 模型,可以选择不同版本的模型(1.5b/7b/14b/32b/70b/671b)。
2、deepseek-r1 提供多个版本,参数量越大,模型的性能越强大,但也需要更多的存储和计算资源。
(1)1.5b 模型参数为15亿/1.1GB,
(2)7b 模型参数约为 70亿/4.7GB,
(3)14b 模型参数约为 140亿/9GB。
3、deepseek-r1 不同版本模型的执行命令不同:
(1)1.5b 的命令为:“ollama run deepseek-r1:1.5b”
(2)7b 的命令为:“ollama run deepseek-r1:7b”
(3)14b 的命令为:“ollama run deepseek-r1:14b”
推荐大家先下载较小的 1.5b 模型,把本教程的安装程序跑通,再根据自己的硬件配置和需求安装适当的版本。
(4)本教程选择选择 1.5b 模型,在命令行窗口运行安装命令 “ollama run deepseek-r1:1.5b”,程序会自动下载和安装运行,如下图:
4、ollama默认安装地址是 “C:\Users%username%.ollama\models”。如果要修改模型的保存地址,可以新建一个文件夹如 “C:\Model”,然后在系统环境变量添加系统变量:
(1)“变量名:OLLAMA_MODELS,
(2)变量值:C:\Model”。
(4)安装完成后显示 “success”,表明安装成功。
(三)使用 deepseek-r1 模型
1、在命令行窗口运行命令 “ollama run deepseek-r1:1.5b”,就可以在提示行输入,与 deepseek-r1 进行聊天。
2、输入 “/?”,可以获得帮助。
通过本地命令行窗口可以使用 deepseek-r1,但这让人回到了 DOS 年代,交互体验很差。接下来我们安装Docker 和 RAGFlow。
(四)通过git工具下载RAGFlow源代码
1、建议通过git克隆仓库的方式下载RAGflow, windows系统默认没有git工具,所以先下载git工具
git工具下载地址:
https://git-scm.com/downloads/win
2、在win10中安装git工具
(1)执行Gitinstaller.exe,进入安装向导,如下图:
(2)指定安装的路径,如下图:
(3)勾选on the desktop,安装完成后,在图标显示git图标,如下图:
(4)添加到开始菜单的程序组名称,默认使用Git,如下图:
(5)选择Git的编辑器,默认选择,也可选择自己常用的编辑器,如下图:
(6)调整新存储库中初始分支的名称您希望Git在“Git init”之后为初始分支命名什么?
默认是让git决定,也可选择覆盖新存储库的默认分支名称;新命名:常见的选择是“main”、“trunk”和“development”,指定初始分支应使用的名称“git init”:
(7)调整PATH环境,您希望如何从命令行使用Git?
仅使用Git Bash中的Git,这是最谨慎的选择,因为您的PATH根本不会被修改,您只能使用Git Bash中的Git命令行工具。
默认第三方软件(推荐)此选项仅向PATH添加一些最小的Git包装器,以避免使用可选的Unix工具来占用您的环境。您将能够使用Git Bash、命令提示符和WindowsPowerShell,以及在PATH中查找Git的任何第三方软件。
我们使用Prompt命令中的Git和可选Unix工具Git和可选Unix工具都将添加到您的PATH中。警告:这将覆盖Windows工具,如“fnd”和“sort”。只有当你理解其含义时,才使用此选项。
(8)选择使用哪个版本的ssh,使用git 自带的开放SSH,或使用外部的SSH,默认选择自带的SSH,如下图:
(9)选择HTTP传输后端,您希望Git使用哪个SSL/LLS库进行HTTPs连接?默认即可,如下图:
(10)配置行尾转换Git应该如何处理文本中的行尾?选择默认,如下图:
(11)配置终端模拟器以与Git Bash一起使用您想与Git Bash一起使用哪个终端模拟器?选择default缺省,如下图:
(12)选择git pull的缺省行为,默认情况下应该做什么?选择默认,如图:
(13)选择凭证助手,应该配置哪个凭据助手?如下图:
(14)打开系统缓存,如下图:
(15)配置实验选项,这些功能正在积极开发中,您想尝试一下吗?默认不勾选,如下图:
(16)开始安装,等待进度完成,如下图:
(17)点击finish完成安装,如下图:
2、打开CMD命令容器,执行命令完成git克隆仓库,命令如下:
git clone https://github.com/infiniflow/ragflow.git
图中完成done到100%时,说明克隆下载完成
3、找到下载的RAGflow压缩包,放到D盘根目录下,解压RAGflow压缩包后,解压后文件夹的大小如图:
说明:若直接从官网下载的zip文件解压,解压后的文件夹大概69MB,是最小的运行环境。本例未采用。
(五)下载与安装docker
1、下载docker
Docker是一种虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
下载地址:https://www.docker.com/
2、 检查安装环境
(1)在 Windows 任务管理器中,检查系统是否开启虚拟化。
打开任务管理器(Ctrl+Alt+Delete),选择:性能 - CPU - 虚拟化,确认“虚拟化”已启用。
(2)如果windows 10是物理机,未开启虚拟化,则要开机重启按并按(F1/F2/DEL键,电脑品牌不同按键有差异)进入BIOS 进行设置:在 BIOS 选择:Advanced(高级)-- CPU Configuration – Secure Virtual Machine,设置为:Enabled(启用)。
(3)如果运行的windows 10是虚拟化环境,开启虚拟化如下图:
(4)在 “控制面板” 打开 “程序”,然后点击 “启用或关闭 Windows 功能”,勾选 “Hyper-V 管理工具” 和 “Hyper-V 平台”。
(5)以管理员身份打开命令行窗口,输入 “wsl --set-default-version 2”,将默认设置为 WSL 2。如果此处报错,进入第(7)步
通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版,并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改。
(6)命令行窗口,输入 “wsl --update --web-download”,更新安装 wsl。
(7)通过deepseek查看安装的条件要求,docker的要求如下:
(8)查看本机现运行的win10版本, 16299版本低于19041版本,如下图:
(9)此时需要对windows 10系统进行更新,如下图:
(10)更新完成后执行命令systeminfo查看系统的版本,如下图
(11)若不对windows进行系统补丁的更新,安装时会提示安装失败,win10专业版需要19044以上的版本,如下图:
3、开始安装 Docker Desktop,注:在更新完成win10系统的补丁后
Docker Desktop 是 Docker 官方提供的桌面应用程序,旨在让开发者能够在 Windows 和 macOS 系统上轻松地构建、运行和共享容器化应用程序。Docker Desktop 提供了一个方便的工具集,使用户能够快速部署容器化应用程序,同时还包括了一些强大的功能和工具,如 Docker Engine、Docker CLI、Docker Compose 等。
(1)准备好下载的docker desktop安装程序docker Desktop installer.exe、安装执行的批处理文件a.bat、安装的空目录结构,如下图:
(2)上图中,安装docker desktop的批处理文件a.bat的内容如下(多行是1条命令):
start /w “” “Docker_Desktop_Installer.exe” install -accept-license --installation-dir=“D:\SoftWare\Docker\install” --wsl-default-data-root=“D:\SoftWare\Docker\install\Data” --windows-containers-default-data-root=“D:\SoftWare\Docker\install”
(3)Docker在运行的过程中,需要较大的磁盘空间,对容器、卷、镜像包等进行存放,运行的镜像包还会涉及到deepseek模型,所以我们安装的过程中,将路径指定到非系统盘中,具体需要创建的空文件夹结构如下图(对照a.bat中的目录结构即可):
(4)准备好上面的3步后,双击a.bat执行安装docker desktop的过程,本例的docker desktop版本是4.38.0,如下图:
(5)当出现对话框时,勾选以下2个选项,使用WSL 2代替Hyper-v,添加快捷方式到桌面,如下图:
(6)解压安装包,注意此时使用的是虚拟安卓环境,所以在电脑上执行pak的安装程序包,如下图:
(7)当安装完成后,命令窗口会出现succeeded成功,如下图:
(8)安装完成后,出现窗口,点close and restart重启系统,如下图:
4、检查验证docker desktop的版本及docker帐号初始化
(1)重启后,出现下图所示的画面,点击accept接受,如下图:
(2)此时通过cmd窗口执行docker version查看docker的版本信息时,版本为27.5.1,表明安装成功。如下图:
(3)选择use recommended settings(requires administrator password)使用推荐的设置(需要管理员密码),finish完成
(4)根据提示登录账号,如使用 GitHub 账号登录。
(5)进入欢迎界面,选择行业
(6)选择使用docker的应用方向
(7)进入到docker desktop的主界面,如下图:
三、配置docker desktop、加载RAGflow镜像
(一)配置docker desktop
1、当设置docker setting设置报错时,如下图:
2、上图中报错的处理方式,以cmd管理员模式运行以下命令,如下图:
bcdedit /set hypervisorlaunchtype auto
重启电脑后,以管理员身份运行Docker Desktop再点击设置就不会报错了。
3、ragflow默认下载的是瘦身版本,没有embedding模型,所以使用命令docker compose -f docker/docker-compose.yml up -d,加载模型,在加载过程中报错,如下图:
4、镜像下载不了,解决方法是在docker desktop中设置国内镜像源:
(1)Docker中国区官方镜像
https://registry.docker-cn.com
(2)中科大
https://docker.mirrors.ustc.edu.cn/
(3)网易
http://hub-mirror.c.163.com/
(4)腾讯
https://mirror.ccs.tencentyun.com
(5)毫秒镜像:
https:// docker.1ms.run
(6)开源社镜像站点
https://mirror.azure.cn/
5、本例在docker Desktop中settings项docker Engine中,添加了2项国内的镜像站点,修改内容如下(注意符号用半角,括号有2种):
{
“builder”: {
“gc”: {
“defaultKeepStorage”: “20GB”,
“enabled”: true
}
},
“experimental”: false,
“registry-mirrors”: [
“https://docker.1ms.run”,
“https://mirror.azure.cn”
]
}
6、设置docker Engine具体修改内容后,如下图所示:
7、将默认为 v0.17.0-slim 版本,即未嵌入模型的 RAGFlow Docker 镜像,改成嵌入模型镜像,修改.env文件,具体修改如下图:
.env文件的路径在d:\ragflow\docker下
(二)加载ragflow镜像:
1、之前执行命令时,镜像下载不了,修改.env文件及设置后,再次执行命令docker compose –f docker/docker-compose.yml up –d 下载ragflow,执行cmd命令前,注意当前目录,如下图:
2、执行命令的过程中,如下图:
3、执行命令结束后,提示mysql不健康,暂时不处理,如下图:
(1)Minio:Minio 是高性能分布式对象存储存储系统,属于开源软件,文件上传到此文件服务器。
(2)Redis:是一个开源的、高性能的键值存储数据库,文件解析的时候需要使用redis消息队列进行暂存,方便异步执行。
(3)Elastic search:能够处理大量的数据并提供实时的搜索和分析能力,存储向量数据、任务信息。
(4)MySql:存储用户信息、系统配置信息(比如配置知识库名称)、任务定义、执行状态、结果等。
(三)启动RAGflow
1、启动前,我们先检查各已经安装的软件工具版本
(1)ollama版本号
(2)docker desktop版本号
(3)wsl的版本号
2、启动ragflow(注:本例第2次安装时,把ragflow的目录,调整到了d:\)
(1)打开cmd窗口后,依次使用命令:
d:
cd \ragflow\docker
docker compose up -d
(2)注意看到有Running时,说明正在运行,如下图:
(3)当所有中间件(mysql、minio、redis、Elastic search)显示状态为Running时,说明都运行正常
3、当启动结束后,出现cmd命令提示符,此时执行命令检查服务器状态,命令如下,执行如图:
docker logs -f ragflow-server
4、当cmd窗口中出现有RAGFlow的图形标识时,说明启动成功了,如下图:
5、在启动信息的最后,有RAGFlow服务器运行的ip地址与端口号:
(四)注册登录到RAGflow
1、查看当前的ragflow端口号80是否开启,打开cmd窗口后,执行命令telnet <docker主机ip> 80 ,如下图:
2、当窗口左上角出现闪烁的光标,说明对应ip地址的80端口已开启,如下图:
3、从浏览器地址栏输入http://192.168.0.63回车后可打开fagflow窗口
(1)登录界面,如下图:
(2)创建账户界面,如下图:
(3)注册成功界面,创建账户时,输入Email地址,密码,点Sign in,注册成功后,屏幕中间出现Rigistered,即注册成功,如下图:
4、登录到RAGFlow服务器:
至此deepseek的本地安装部署结束,后面开始创建知识库,让deepseek开始学习。
四、deepseek创建知识库完成训练
1、点击个人中心-》模型提供商-》在此设置模型参数
2、添加系统模型,我们安装的是ollama,找到ollama图标后,点添加模型,如下图:
3、添加好系统模型后,会显示在添加了的模型区域中,然后这个模型就可以使用了,如下图:
4、在上方点聊天,新建助理,如下图:
5、再点聊天,+,输入想提问的问题,此时提示知识库中没有相关内容,因为我们尚未建立知识库,所以接下来需要建立知识库给deepseek,让知识库解析成块,就可以回答相关的问题了。
说明:几种不同模型的差异:嵌入模型提供数据表示,Img2txt和Sequence2txt模型生成文本,Rerank模型优化结果,聊天模型生成最终回复,TTS模型将文本转为语音。
6、新建知识库,如下图:
7、配置知识库模型
(1)知识库的名称、语言、权限、嵌入模型、解析方法
(2)配置创建好的知识库模型,下拉到保存,如下图:
8、上传文件如下图:
8、解析知识库的内容
9、解析时,对硬件的资源要求高:
(1)解析时对磁盘的使用率百分比,所以需要用速率高的磁盘,比如:SSD
(2)解析时,对CPU的要求高
(3)解析需要一定的时长,如下图:
11、检索回答,需要先将文件解析成块后才能问答,
12、聊天助手知识问题,添加聊天助手做知识问答。
13、检索对磁盘的运行速度要求高,如下图:
五、验证结果:
1、从搜索框中搜索,与知识库匹配,如下图:
2、通过聊天框,可以搜索到知识库中相关的内容,如下图:
成功搜索到知识库的内容,也是基于创建知识库的应答,本文至此结束。通过使用Windows+Ollama+Docker Desktop+ RAGFlow,完成了deepseek_r1 1:1.5b模型的安装、运行测试。