
【Windows纯离线环境】下部署DeepSeek大模型+本地知识库实战指南——Ollama+RAGflow全流程解析
在大语言模型的发展如火如荼的今天,DeepSeek的开源发布使得个人,或者对于数据安全具有核心诉求的应用场景可以实现纯离线部署的方案,并可以通过与开源软件RAGflow的组合实现大模型+本地知识库的构建,并且可以支持进一步的私有化定制开发。
在数字化进程不断加速的今天,部分应用场景对于数据安全的重视程度达到前所未有的高度。在大语言模型的发展如火如荼的今天,DeepSeek的开源发布使得个人,或者对于数据安全具有核心诉求的应用场景可以实现纯离线部署的方案,并可以通过与开源软件RAGflow的组合实现大模型+本地知识库的构建,并且可以支持进一步的私有化定制开发。
一、离线部署的"三叉戟"架构
由Ollama提供基础模型服务,RAGflow构建知识检索增强框架,DeepSeek模型承担智能推理核心,这种"模型引擎+知识库+交互界面"的三层架构,犹如为离线环境量身定制的AI战车。Ollama的轻量化部署特性(仅需2GB内存即可运行7B模型)与RAGflow的文档解析能力(支持PDF/Word/Markdown等12种格式)形成完美互补。
二、离线部署前的环境搭建
-
OLLAMA离线安装包(官网https://ollama.com/ 下载对应OS版本):
-
模型预载:在联网环境中安装Ollama,命令提示符执行
ollama pull deepseek-chat
获取模型时,系统会生成本地的模型仓库,将此目录完整拷贝至离线环境下。上图以deepseek 1.5B的chat模型和nomic-embed-text的嵌入模型为例,在下载完成后,在本地C:\Users\用户名\.ollama\models 目录下会生成模型仓库,将该文件夹复制另存。
-
获取Linux内核的最新更新包wsl_update_x64.msi,请访问:https://learn.microsoft.com/zh-cn/windows/wsl/install-manualstep-3---enable-virtual-machine-feature 。开发人员现在能够在Windows环境下无缝接入Windows和Linux的高效能。借助Windows子系统for Linux (WSL),用户可以轻松安装各类Linux发行版(包括Ubuntu、OpenSUSE、Kali、Debian、Arch Linux等),并在Windows平台上直接运用Linux应用、工具及Bash命令行界面,无需进行复杂配置或承担传统虚拟化方案的成本。请注意,要使用这些功能,您的系统需至少为Windows 10版本2004(内部版本19041及以上)或Windows 11。
-
Docker Desktop的安装包(下载及系统要求详情请查阅:https://docker.github.net.cn/desktop/install/windows-install/)对于Windows 11 64位系统,需要家庭版或专业版的21H2版本或更高,或者企业版或教育版的21H2版本或更高。对于Windows 10 64位系统,推荐使用Home或Pro的22H2版本(内部版本19045)或更高,或者Enterprise或Education的22H2版本(内部版本19045)或更高。最低要求是Home或Pro的21H2版本(内部版本19044)或更高,或者Enterprise或Education的21H2版本(内部版本19044)或更高。
-
RAGFLOW程序下载(https://github.com/infiniflow/ragflow )。RAGFlow是一种基于深度文档理解构建的开源RAG(检索增强生成)引擎。它能够为不同规模的企业和个人提供一套简化的RAG工作流程,并结合大型语言模型(LLM)处理各种复杂格式的数据,以提供准确的问答和有根据的引用。该平台支持多种类型的文件,包括Word文档、PPT、Excel表格、txt文件、图片、PDF以及网页等异构数据源。
-
RAGFLOW运行需要的docker镜像离线包下载。
获取RAGFLOW运行所需的Docker镜像离线包有两种方法。
1) 一种是在已经安装好镜像的Docker程序上,通过打包工具将镜像文件打包后复制出来,这样可以获得完整的离线包供其他环境使用。图中显示为在互联网环境中已经下载好的RAGflow运行所需要的镜像文件。复制Image ID, 在命令行输入命令:docker save 镜像ID -o 镜像文件路径 镜像名称然后等待生成镜像,例如
-
docker save sha256:73f9f0b5b0151a396676738f17b2cedc15ac783a6bb6081622004476e5053db5 -o D:\TEST\quay_io.tar.gz quay.io/minio/minio
回车运行后,命令执行完成后即可在D:\TEST 文件夹下看到quay_io.tar.gz文件,将图示五个镜像文件全部打包后复制另存。
2)第二种是通过GitHub上的特定工作流在线下载所需镜像包,访问https://github.com/wukongdaily/DockerTarBuilder ,快速构建指定架构/平台的单个或多个docker镜像 并存储在Artifact文件或Release文件,具体操作流程可参考视频资源[1],目前该工作流仅支持5G大小以内的docker镜像下载,因此通过这个方法仅可以下载RAGflow的slim版本(即不集成嵌入模型的版本),需要在离线部署时手动部署嵌入模型。
-
资源整理。在进行完上述所有操作步骤之后,应当整理完成如下的资源列表。这些资源文件对于完成任务至关重要,包含了需要的大语言模型、软件工具、docker镜像包等关键元素。为了确保流程的顺利进行,应当提前检查这些资源的可用性和完整性。用户也可以通过后台私信分享所需的资源文件。
三、离线部署安装
-
Ollama安装:双击OllamaSetup.exe 文件执行Ollama安装。安装完成后,将移植到离线环境中的models文件夹替换掉本地的C:\Users\用户名\.ollama\models 文件夹,即可实现大语言模型的离线部署。之后打开“编辑系统环境变量”,选择“环境变量”,在系统变量下选择“新建系统变量”,设置“OLLAMA_HOST”的值为“0.0.0.0:11434”,确定后重启计算机。
-
启用适用于 Linux 的 Windows 子系统。以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
-
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
执行完成后重启计算机,运行WSL2更新包wsl_update_x64.msi 。(双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)
-
将 WSL 2 设置为默认版本。打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:wsl --set-default-version 2 。操作完成后重启计算机。
-
安装Docker Desktop的检查工作。在安装Docker前,需要检查离线计算机是否启动了虚拟化(Virtual Machine Platform Windows)功能,并确保在BIOS中启用了虚拟化。如果计算机未启用Hyper-V功能,可以新建一个文本文档Hyper.txt, 将如下指令复制后重命名该文件为Hyper.cmd,双击运行即可。这部分检查工作请参考资料[2]。
-
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
-
安装Docker Desktop。双击Docker Desktop Installer.exe 运行安装程序,配置页面建议勾选“Use WSL 2 instead of Hyper-V”选项,如果WSL 2的安装确实有问题,但是Hyper-V功能启动正常的,也可不勾选。
点击“OK”等待程序安装完成。完成后打开Docker Desktop,Docker Subscription Service Agreement 界面点击Accept(接受),跳过(skip)登录界面(Continue without signing in)即可进入docker程序主界面,新安装的Docker下面没有可用的镜像(image)文件。
-
安装Docker镜像包。需以管理员身份启动PowerShell,并运行以下指令:docker load -i “D:\path\to\镜像包文件名.tar.gz”。请将D:\path\to\替换为你的实际文件路径。例如,若实际文件路径为D:\TEST ,则指令为
-
docker load -i "D:\TEST\elasticsearch.tar.gz";
按下回车键后,Docker便会自动执行镜像加载程序,界面显示如下。接着,按照顺序执行五个离线镜像包的加载操作。需要注意的是,本文所使用的RAGflow镜像包集成了bge-large等系列中英文嵌入模型,因此其加载时间可能较长,需耐心等待。镜像包均加载完成后,docker镜像界面会显示本地的五个镜像。
-
启动RAGflow服务。在ragflow-main\docker文件夹中启动Powershell,如果使用本文使用的离线镜像包,需要将docker-compose.yml文件第9行改为 image: swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:nightly. docker-compose-base.yml文件第6行为image: elasticsearch:8.11.3。
修改完成后保存在powershell中输入指令
-
docker compose up -d
启动服务,最终五个Container显示如下时表明服务已启动。
-
服务器启动成功后再次确认服务器状态。使用docker logs -f ragflow-server 命令确定服务器状态。如果跳过这一步系统确认步骤就登录 RAGFlow,你的浏览器有可能会提示 network anormal 或 网络异常,因为 RAGFlow 可能并未完全启动成功。如果显示如下界面提示则说明服务器启动成功。具体RAGflow的安装问题和其他细节请参考资料[3]。
-
启动RAGflow。启动浏览器,输入http://本机IP地址:80,即可访问RAGflow。用户可以随意注册账户使用,因为有用户认证系统,可以使得在同一台电脑上不同用户可以建立完全独立的本地知识库而不用担心造成知识库的互相污染。
-
RAGflow的使用。注册成功后即可登录使用,首先点击个人头像,在模型供应商中选择使用Ollama本地的API服务。选择Ollama点击“添加模型”,模型类型选择“chat”,模型名称要和Ollama list 明显显示的名称保持完全一致。本文中使用的1.5b的模型为例。基础Url为本地IP地址,端口为11434。最大token数随便设置一个比较大的数值即可。添加模型后点击右上方“系统模型设置”,将chat模型设置为deepseek-r1:1.5b的模型即可。
-
建立本地知识库。点击页面上方“知识库”,点击创建知识库。输入想要建立的知识库名称,比如“小白的house”,即可进入知识库配置界面,可以选择知识库文档的主语言、访问权限、嵌入模型、解析方法等等,还可以开启诸如“使用召回增强PAPTOR策略”“提取知识图谱”等,相关功能笔者也还在进一步学习研究过程当中。
-
上传本地文件。在知识库/数据集下点击“新增文件”,选择本地文件,上传本地文件。示例中,虚拟塑造了野原新之助的哥哥(野原新之介)这么一个角色,将其输入word文档保存为本地文件,然后上传至本地知识库,解析成功后可以看到文档的分块数,点击文档可以看到具体的细节。之后可以在检索测试中进行测试,测试关键词的召回率。有关于大语言模型的各种参数的设置和调整,请移步参考资料[4]和[5],其中[5]把联网环境条件下的RAGflow的安装使用流程都讲的非常清楚了。
-
基于本地知识库的大语言模型应用。完成本地知识库搭建以后,新建聊天助手,加载本地知识库。即可和大模型进行基于本地知识库的问答。本例中也可以看到,大模型搜索到了野原新之助哥哥这个虚拟角色的关键信息。并且在回复中给出了正确的引用。但是似乎1.5B的模型还没有很精确地理解文字的逻辑关系。通过各种测试,建议本地部署的模型至少要32B以上,不同的模型测评请参考[6]。
四、总结。
RAGFlow的离线部署涉及获取Docker镜像、激活WSL2并安装Docker Desktop等环节。首先,要从官方或可靠来源获取必要的Docker镜像,这一步至关重要,因为合适的镜像能确保后续环境的稳定和兼容性。其次,激活WSL2是不可或缺的步骤,它是Windows Subsystem for Linux的一个版本,为Linux容器提供了一个轻量且高效的虚拟环境。通过激活WSL2,可以在Windows系统上更顺畅地运行Linux发行版,从而为大语言模型的本地运行打下坚实基础。然后,安装Docker Desktop也是必不可少的部分。Docker Desktop是一个强大的工具,它简化了容器化应用程序的开发、测试和部署过程。在安装过程中,需要严格按照官方指南操作,确保所有设置和配置都准确无误。这些文件的完整性和可用性直接影响整个部署流程的顺利进展。在准备这些资源文件时,需要进行详尽的检查和验证,以确保它们没有损坏、丢失或过时。此外,还需根据具体的大语言模型需求对这些文件进行适当的调整和优化,以保证模型能够高效运行于本地环境中。
参考资料:
[1].https://github.com/wukongdaily/DockerTarBuilder
快速构建指定架构/平台的单个或多个docker镜像 并存储在Artifact文件或Release文件
[2].https://learn.microsoft.com/zh-cn/windows/wsl/install
如何使用 WSL 在 Windows 上安装 Linux
[3].https://github.com/infiniflow/ragflow/blob/main/README_zh.md
[4].https://www.bilibili.com/video/BV1WiP2ezE5a/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=8ec6f0918a0f3d672ff4692205f374ae
DeepSeek + RAGFlow 构建个人知识库
[5].https://www.bilibili.com/video/BV1H2FWefEVq?spm_id_from=333.788.videopod.sections&vd_source=8ec6f0918a0f3d672ff4692205f374ae
DeepSeek R1 推理模型 完全本地部署 保姆级教程 断网运行 无惧隐私威胁 大语言模型推理时调参
[6].https://www.bilibili.com/video/BV1cjNPe7E31?spm_id_from=333.788.videopod.sections&vd_source=8ec6f0918a0f3d672ff4692205f374ae
本地大模型怎么选?
更多推荐
所有评论(0)