最近deepseek超火,但是deepseek的服务器总是访问失败,自己也想尝试下本地部署deepseek建自己的知识库以后工作也能用到。但是实在小白,之前的很多研发知识也忘了,研究好几天踩了好多坑,所以记录下帮助和我一样的小白。
本机配置:win10专业版系统
所有涉及的软件:Docker、Ollama、Dify、Deepseek
链接: https://pan.baidu.com/s/1Ebx0JJrPYnhCb8PHXYglkQ?pwd=9gkr 提取码: 9gkr
1、安装docker
1.1 下载docker
此处建议安装旧版本的docker,最新版安装一直报错,网盘链接里面有。
docker官网:https://www.docker.com/
1.2 开启虚拟化
(1) 检查虚拟化是否开启
右键任务栏打开任务管理器
选择【性能】-【CPU】-【虚拟化】 查看是否启用
(2) 开启虚拟化(若第一步查看已开启可以跳过)
以我自己的电脑为例(联想T14,其他电脑怎么进可以百度下)进入BIOS模式
重启电脑,在电脑展示红色联想标志时,按回车,之后按F1。
选择安全性【Security】-【Virtualization】-【Intel (R) Virtualization Technology】开启
1.3 启用或关闭Windows功能
(1) 搜索栏中搜索“功能”,打开【启用或关闭Windows功能】
(2) 开启相应功能
【Hyper-V】、【适用Linux的Windows子系统】、【虚拟机平台】
开启完成后重启电脑
1.4 打开安装包进行安装
安装完成的主页面
安装报错
1、Installation failed: one prerequisite is not fulfilled.
查了下网上这个报错的都是由于系统不是专业版,但是我这是专业版呀,找了很多教程又是升级系统又是要改注册表的挨个试了一遍都不好使,不知道是之前系统更新的有问题还是改注册表改出问题了,电脑的windows更新啥的都没有了,还重做了一遍系统,建议所有小白改注册表的不要轻易尝试。
解决办法
1、在命令行运行 cmd ,输入命令 services.msc 并回车
2、在弹出的窗口中查找并选中 Server, 双击,将 Server 的 服务状态 设置为 “启动”
如果Server的状态为禁用,要先右键改为手动,再选择启动
2、Docker Desktop - WSL update failed
这个报错是WSL未升级到最新版,按照网上的操作升级了WSL还设置了默认版本2,还是报错,后来重新安装了旧版本的docker就没问题了。
解决办法
安装旧版本的docker,会自动安装一个wsl2,如果还报错执行下wsl更新命令,我这个最开始是到官网安装的最新版。
2、安装Dify
2.1 下载Dify
登录网址 https://github.com/langgenius/dify
点击Dnowload ZIP。下载到本地并解压。注意: 在本地的保存路径不要有中文字符。否则后续运行会失败
2.2 docker下载Dify
(1) 打开windows管理员进入powershell(不是CMD)
(2) 进入dify解压路径中的docker文件夹
(3) 执行命令
cp .env.example .env
docker compose up -d
(4) 重启docker
(5)【Containers】下如果有这个Image则则证明Dify下载成功
报错
1、docker compose up -d命令报错:error during connect: in the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect....
由于Docker Desktop软件未开启
解决办法
开启Docker Desktop软件
2、docker compose up -d命令报错:Get “https://registry-1.docker.io/v2/”: dial tcp 128.242.250.155:443: i/o timeout
这个是因为DNS出了问题,需要新增DNS。
解决办法
手动配置DNS
(1) 网络和Internet
(2) 更改适配器选项
(3) 选择连接的网络 -【更改此链接的设置】
(4) Internet协议版本4
(5) 手动配置DNS
3、docker compose up -d命令报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
这个是因为源的问题,使用国内的镜像源。
解决办法
配置docker镜像
(1) 编辑docker daemon.json文件 路径:C:\Users\XXX\.docker
如果路径下没有这个文件可以手动新建
(2) 增加镜像源配置
{
"registry-mirrors": [
"https://docker.211678.top",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.m.daocloud.io",
"https://do.nark.eu.org",
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.awsl9527.cn"
]
}
(3) 重新启动docker
(4) 重新执行docker compose up -d
3、安装Ollama
3.1 下载Ollama
Ollama官网:https://ollama.com/
3.2 配置环境变量(可跳过)
模型一般都比较大,Ollama的默认下载路径是在C盘,建议配置环境默认下载环境到其他盘。
(1) 在其他盘新建文件夹存储模型,记住路径地址,我这里是建到了D:\Code\ollama\models
(2) 右键【此电脑】,打开【属性】
(3) 高级系统设置
(4) 环境变量
(5) 新增系统环境变量
(6) 创建 OLLAMA_MODELS环境变量
变量值填第一步创建的文件路径
4、部署deepseek
4.1 拉取deepseek模型
(1) 点击启动Ollama
有Ollama图标则启动成功
(2) 打开命令行
win+R 输入cmd
(3) 拉取deepseek
执行命令
ollama run deepseek-r1
我这拉取的是7b版本的deepseek,太高版本怕电脑带不动,要是电脑配置高的话可以考虑部署更高版本的deepseek会更智能一些。
ollama中搜索deepseek
选择相应版本的deepseek,之后粘贴右侧的语句到命令行执行。
报错
1、运行模型后问答没反应
Ollama版本问题
解决办法
安装网盘链接里的Ollama,或安装其他最新版本的Ollama,Ollama安装旧版本容易出现这种问题。
5、Dify配置大模型
5.1 登录Dify
(1) 第一次登陆需要设置管理员账号
5.2 添加模型
(1) 进入设置
(2) 添加模型
(3) 添加模型配置
模型名称:4.1(3)中拉取的模型名称 我这里拉取的是deepseek-r1
基础URL:http://host.docker.internal:11434
(如果自行配置过端口,修改对应的URL)
(4) 查看已添加的模型
5.3 搭建知识库
(1) 创建知识库
(2) 上传文档
(3) 使用默认分段配置
5.4 创建应用
(1) 工作室中创建空白应用
(2) 选择聊天助手
(3) 添加知识库
(4) 添加模型
选择deepseek模型,点击发布。
报错
1、添加模型报错:An error occurred during credentials validation: API request failed with status code 404: {"error":"model \"deepseek-r1:7b\" not found, try pulling it first"}
因为Dify目前是配置到Docker容器中的,而Ollama是在主机上,由于 Docker 容器无法直接访问主机服务导致报错。
解决办法
新建系统变量(参考3.2),配置Ollama监听地址为0.0.0.0
OLLAMA_HOST=0.0.0.0:11434
2、添加模型报错:An error occurred during credentials validation: No connection adapters were found for '\u200bhttp:/host.docker.internal:11434\u200b
基础URL填写不对,URL 中可能包含不可见的 Unicode 字符(如 \u200b
,即零宽空格)
解决办法
注意空格问题,重新填写,基础URL:http://host.docker.internal:11434
3、添加模型报错:An error occurred during credentials validation: API request failed with status code 404: {"error":"model \"deepseek-r1:7b\" not found, try pulling it first"}
这个报错是由于我添加模型时,填的模型名称和拉取时的模型不一致导致。
解决办法
查看ollama拉取的模型,这里填写的模型名称要和拉取的保持一致
(1) 使用命令行查看ollama拉取的模型
ollama list
(2) 重新输入正确的模型名称
4、创建应用报错:Application error: a client-side exception has occurred(see the browser console for more infomation)
这个报错看着是dify前端文件报的,但是我重新拉了代码也不行,最后从头重新部署的dify,怀疑是用docker下载dify的时候网络有问题丢东西了。如果有大佬有别的解决办法,麻烦评论区告诉我。
解决办法
(1) 删除docker容器
(2) 删除镜像
(3) 重新安装dify(参考步骤2、5)
5、添加模型报错:An error occurred during credentials validation:HTTPConnectionPool(host='host.docker.intern:port=11434):Max retries exceeded with url: /a!(Caused byNewConnectionErrer("<urllib3.connection.HTTPobject at 0x7f556b207050>: Failed to establishconnection: [Errno 111] Connection refused'))
这个报错是连接ollama超时,经检查是后台没开ollama。
解决办法
开启ollama,开始菜单有ollama的图标。(4.1(1)有开启方法)
6、运行
现在就可以和你的专属知识库沟通啦!希望这篇文章可以帮助和我一样的小白,如果有其他问题欢迎在评论区一起沟通,有其他的报错也可以一起交流,我会更新到文章上供大家一起参考。