windows系统Dify本地化部署
Dify是一款开源的大语言模型应用开发平台。它融合了后端即服务(Ba
C++kend as Service)和 LLMOps 的理念,内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt编排界面、高质量的 RAG引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。使开发者可以快速搭建生产级的生成式 AI 应用。并且Dify支持本地私有化部署。本篇文章就详细讲解如何在windows
系统上实现Dify本地化部署。
一、 Docker DeskTop安装
1、下载-安装包
2、 安装docker desktop
2.1 默认安装,默认安装在C盘。
选中下载后的安装包,右键管理员运行(避免后面权限问题,导致docker启动不了)

点击ok

等待安装完成

点击关闭

2.2 C盘空间如果没有很大,可以按如下方式安装在其他盘。
以管理员身份打开windows命令提示符窗口

切换到下载安装包的目录位置

输入如下命令,回车
start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:\Program Files\Docker" --wsl-default-data-root="D:\Program Files\Docker\data" --windows-containers-default-data-root="D:\Program Files\Docker"
以上,第1个D:\Program Files\Docker 是Docker DeskTop的安装目录;D:\Program Files\Docker\data是Docker用于存储镜像、容器等数据的目录。最后1个D:Program Files\Docker,表示在Windows操作系统中,Docker程序将被安装在D盘的ProgramFiles文件夹内的一个名为Docker的子文件夹中。
注意:运行代码之前,提前创建好对应文件夹D:\Program Files\Docker、D:\Program Files\Docker\data,可能会报错
弹出窗口,选OK

等待安装完成

安装成功后,关闭

3、 启动docker desktop
关闭后,找到桌面已安装的Docker DeskTop,双击启动,自动弹出接受服务协议

点击完成

允许控制

不登录使用

跳过

找到桌面docker desktop应用,右键管理员运行启动。docker启动并进入docker desktop应用,左下角能看到 Engine running的状态。

4、 docker desktop配置国内镜像源
由于网络问题,在拉取镜像时,会出现timeout报错;导致后续dify安装不成功。可以在docker上配置下国内镜像源,解决这个问题。

"registry-mirrors":[
"http://mirrors.aliyun.com/pypi/simple/",
"https://docker.m.daocloud.io",
"https://docker.mirrors.tuna.tsinghua.edu.cn",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
二、Dify部署

1、下载Dify压缩包

按照readme文档进行操作

2、修改配置
2.1进入dify解压目录下的docker目录,修改.env.example为.env

补充:修改dify页面端口
原因:如果win系统上有服务占用80或443端口的话,那么这里注意下修改dify的端口,以免端口冲突。
打开.env配置文件,找到NGINX_PORT和NGINX_SSL_PORT配置项,默认的值是80和443,这两个配置项是dify在我们的docker内部的端口,这两个值可以考虑
不变,也可以同步调整。
继续找EXPOSE_NGINX_PORT和EXPOSE_NGINX_SSL_PORT配置项,默认值也是80和443,这两个配置项是dify对外映射的两个端口,这两个值必须更改,我这改成了8100和6443:

3、打开docker终端,安装dify
可以在windows的命令行窗口进行,或者docker客户终端进行。例如:在docker客户终端操作
3.1 切换到dify的docker目录

3.2 执行docker compose up -d

3.3 等待安装完成

4、访问dify
浏览器输入 localhost:端口号/install 即可访问。首次访问需要设置用户名密码。使用方式和官方提供的平台是一样的。