基于DockerDeepSeekDify 搭建企业级本地私有化知识库超详细教程

119 阅读7分钟

基于DockerDeepSeekDify 搭建企业级本地私有化知识库超详细教程

基于DockerDeepSeekDify 搭建企业级本地私有化知识库超详细教程

下载安装Docker

Docker官网: www.docker.com/ ## 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MySoftware\Docker并将Docker安装包放在目录内,这里有个小细节, 安装包名称一定要改下 ,官网下载下来的名称叫:Docker Desktop Installer.exe,一定要修改一下,不能用这个名字,否则等下在CMD命令安装的时候就会报错说被资源占用,因为Docker在安装时会解压一个一模一样名称的exe程序,重名就会导致安装失败,所以一定要改下名字。 在文件路径输入cmd回车 输入: ```

."Docker.exe" install --installation-dir=E:\MySoftware\Docker

语法:.\”安装程序名称” install --installation-dir=指定Docker安装的路径

 安装完成后会提示Installation sueceeded 桌面会出现Docker图标 启动Docker这里很多人会报这个错,这个是因为电脑没有WSL导致无法启动Docker容器。 # 下载WSL
 进入微软官网按步骤执行即解决,几分钟完成。 [https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package](https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package) 用 管理员身份打开Powershell窗口 ,粘贴微软官网的命令执行下载即可 粘贴执行: ```
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

下载完后会启动一个这个页面,可以关闭。 注:完成内核更新包安装后需重启系统( 微软官方指南 ),再启动下Docker,出现这个界面就代表WSL和Docker都启动成功了。 ## Docker镜像存储迁移 这时进入Docker设置中,将Docker的镜像资源存放路径改一下,不然都会下载都C盘。 ## Docker镜像源加速配置 至关重要的地方来了 ,打开Docker的设置中的-->Docker Engine,然后把国内的镜像源复制进去保存,我这里提供一些,如果失效了就百度找新的。 ``` { "registry-mirrors": [ "docker.m.daocloud.io", "noohub.ru", "huecker.io", "dockerhub.timeweb.cloud", "0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com", "5tqw56kt.mirror.aliyuncs.com", "docker.1panel.live", "mirrors.ustc.edu.cn/", "mirror.azure.cn/", "hub.rat.dev/", "docker.ckyl.me/", "docker.chenby.cn", "docker.hpcloud.cloud", "docker.m.daocloud.io" ] }

 保存镜像源后就可以试一下拉取镜像,如果拉取不成功也可以重启下Docker,还是不行提示超时就说明镜像源失效了,就在网上搜索下新的镜像源。 ## 测试拉取镜像
 在cmd命令窗口输入: ```
docker pull hello-world

出现这个Status: Dowloaded newer image for hello-world:latest就代表镜像源没有问题。 # 安装Dify

下载Dify代码包

进入github下载Dify代码包:github.com/langgenius/… 解压代码包后,把压缩后的文件夹复制到自己想要安装的目录下,这里复制一下.env.example文件,然后重命名一下改成.env 在当前文件路径下输入CMD回车 ## 拉取Dify依赖镜像资源 粘贴以下命令回车,会自动下载一些依赖资源。如果你的下载失败就是镜像源失效了,换一个镜像源,重新拉取镜像。 ``` docker-compose up -d

 下载完成 回到Docker可以都看到已经下载好的镜像全部都显示了,并且都在运行。 ## 进入Dify后台
 输入http://127.0.0.1/会自动打开Dify的页面,有人会遇到这个Internal Server Error报错,这是因为镜像下载来后,有部分镜像还在启动中或未启动,这时候将所有镜像重启一次才可以。 重启所有镜像 ## 创建管理员用户
 重新进入Dify管理后台,首次进入需创建管理员用户。 创建管理员用户后,将进入登录界面。 登录成功 ## 添加AI模型
 点击右上角头像-设置 成员这里可以创建企业内成员进行登录使用。 选择模型供应商 这里我本地已经安装部署好了Ollama和Deepseek R1和BGE-M3模型,如果没有部署好的请看我这篇文章 : [本地电脑部署DeepSeek 大模型AI](https://www.cnblogs.com/LaiYun/p/18695293) 由于我本地已经安装好了Ollama,所以就找到Ollama,点击安装插件,其他供应商选择对应安装。下载可能稍慢,请耐心等待。 添加模型时,若不知模型名称,可在CMD中输入Ollama list查看本地模型名称并复制。 模型类型: 推理模型 → LLM 嵌入模型 → Text Embedding 模型名称就把刚刚复制下来的粘贴上去就可以了。 这里IP地址要注意了,由于我没有用Docker容器里部署Ollama,而是在本地电脑安装的Ollama,这里对IP就要进行特殊处理下了,需要改为:http://host.docker.internal:11434。 网络通信原理: host.docker.internal为Docker内置域名解析,实现容器与宿主机服务的桥接 。简单说就是Docker自己和我们电脑主机网络做了一个映射关系。 模型添加完成 ## 创建应用
 其实我也不太会使用,就简单粗糙的做个示范吧,要深入研究需要找下资料学习下。 这里我选择创建聊天助手(每个不同应用的作用不一样,选择与自己相符的就行) 添加一些提示词、变量、知识库、模型,设置好后在右边可以调试预览效果,调试完成后就可以发布应用了。 这里提一句,由于我自己的电脑资源很一般,所以每次一提问的时候资源就占比很高,不过等AI思考完毕后资源占用会下降。 测试结果,虽然回答是错误的。 # 知识库测试
 我这里测试了下知识库检索,上传了6个本地文档。 然后我简单的定义了提示词后,对模型提出问题:结合知识库帮我找出住在向XXX街道人员的电话和姓名。 然后真的回答对了,全体起立! 这是源文件里的内容。(虚拟信息,如有雷同纯属巧合) # WSL资源控制
 由于我是针对个人学习,在学习完后我发现我的电脑内存占比一直居高不下,在任务管理器查到了是一个Vmmem的进程占用,大概也知道应该是虚拟机类的占用。 搜索了下网上资源了解到vmmem是一个由WSL(Windows Subsystem for Linux)创建的虚拟进程,主要用于管理 [WSL2](https://so.csdn.net/so/search?q=WSL2&spm=1001.2101.3001.7020) 的内存和CPU资源。当WSL2运行时,Vmmem进程会占用大量的内存和CPU资源,以确保虚拟机的最佳性能。然而,这可能会导致主机系统的其他应用程序运行缓慢或无法正常运行‌。 ## 关闭WSL服务
 所以如果不用的时候可以关闭掉WSL服务。 在cmd里输入: ```
wsl --shutdown

关闭后电脑资源就回到正常状态了。 ## 启动WSL服务 那如果我们后再用的时候就重新启动WSL服务就可以。 在cmd输入: ``` wsl

 # 最后的最后
 关于Dify的作用文中提到的只是冰山一角,它真正的厉害之处是它的工作流,由于博主知识有限,只能教大家部署应用,具体的功能开发使用还要大家自行学习,后续博主也会去学习Dify的相关知识,有机会的话就再开一贴。如有讲的不对的地方,敬请指正。 附上Dify的官方操作手册地址:https://docs.dify.ai/zh-hans 这是我整个学习过程中遇到的问题,最后结合百度和AI最后都完成解决了。 总结几个小坑: 1、WSL2的安装。 2、Docker容器镜像源的设置。 3、Dify依赖镜像的拉取。 4、Dify添加模型时IP映射设置。 觉得不错的麻烦大家动动发财的小手点下推荐,谢谢!!!

> 原文链接: https://www.cnblogs.com/LaiYun/p/18808736