最近带教导师让使用dify做一些工程项目,我在此之前没用过dify,也不知道怎么部署,便花了些时间研究了一下,这篇博客的主要目的是记录如何在windows10系统上使用docker部署dify,碰到了哪些问题以及解决方案。
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
关于Dify更详细的介绍可通过Dify的中文手册链接获悉:https://docs.dify.ai/v/zh-hans
可以看到如果要在windows系统上部署Dify的话要先准备Docker Desktop,而windows中的docker可以依赖两种环境,分别是Hyper-V(虚拟环境)和WSL(Linux子系统),上图给出的方案是后者,也就是windows的Linux子系统,这个需要在microsoft store上下载Linux的发行版本,但我的生产电脑不能用microsoft store下载,所以我这里使用基于Hyper-V环境的方法。
关于启用Hyper-V环境的方法,任选以下任何一种:
1、以管理员身份打开 PowerShell 控制台,运行以下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2、在左下角的搜索框搜“启用或关闭windows功能”->勾选“Hyper-V”,然后单击“确定”
安装完成后,需要重新启动计算机
重启之后就可以安装Docker Desktop,安装比较简单,可参考:Windows下安docker
使用git bash下载代码:git clone https://github.com/langgenius/dify.git
1、管理员身份打开 PowerShell 控制台,进入到dify项目的docker目录
2、使用docker-compose --version
查看自己本地的Docker Compose版本
如果是是版本1就运行docker-compose up -d
,如果是版本2就运行docker compose up -d
3、执行命令后如果安装顺利没报错那么恭喜你(忘记截图了),部署基本成功了,但是我在这一步的时候报错了,主要有两个错误:
3.1、Get “https://registry-1.docker.io/v2/”: dial tcp 128.242.250.155:443: i/o timeout。这个是因为DNS出了问题,需要新增DNS。具体操作见博客windows10手动设置DNS地址,配置见下图
3.2、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) ,这个是因为源的问题,我们可以使用国内的镜像源。具体操作为:找到C:\Users\Administrator.docker\daemon.json文件,然后添加以下内容:
{
"registry-mirrors": ["https://docker.1panel.live"]
}
或者
{
"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"
]
}
或者
{
"registry-mirrors": ["https://docker.m.daocloud.io"]
}
如果.docker文件下没有daemon.json文件,就自己手动新增。保存后重启docker,重启操作为在打开docker Desktop的前提下,点击电脑右小角的小图标,点击“restart docker”
完成上述步骤的话应该就部署成功了
4、检查加载,如果能看到以下服务的话就说明加载成功了
或者可以通过命令查看容器中的镜像
docker compose ps
在浏览器中输入http://localhost就进入到了dify的登录界面,设置好邮箱、用户名和密码就可以登录进去了
如果到这一步的话说明就部署成功了~