Dify,作为一款开源的LLM(大型语言模型)应用开发平台,以其直观的操作界面、强大的AI工作流程、全面的模型支持、以及丰富的RAG(检索增强生成)能力,正逐步成为开发者构建AI应用的首选工具。本文将详细指导您如何通过Docker和Docker Compose快速安装并初始化Dify,帮助您从原型快速迈向生产环境。
文章导航
1. Docker和Docker Compose安装
查询Docker版本
查询Docker Compose版本
1.1. 安装Docker Compose
- 下载
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- 改名
mv docker-compose-Linux-x86_64 docker-compose
- 修改文件权限
chmod +x /usr/local/bin/docker-compose
- 确认安装成功,查询版本信息
2. 部署Dify
2.1. 下载Dify
- 方式一:将Dify代码从github下载至服务器
git clone https://github.com/langgenius/dify.git
- 如果安装了git,但是一直克隆不下来,可以检查git的配置
- 可以使用 git init 命令重新初始化仓库
git init
- 方式二:通过http的方式下载Dify的代码的zip文件后,上传至服务器解压缩。
2.2. 编排Dify
cd dify/docker
cp .env.example .env
docker-compose up -d
2.3. 访问Dify
2.4. 更新Dify版本
进入 dify 源代码的 docker 目录,按顺序执行以下命令:
cd dify/docker
git pull
docker compose down
docker compose pull
docker compose up -d
2.5. 自定义配置
编辑 .env 文件中的环境变量值。然后,重新启动 Dify:
docker-compose down
docker-compose up -d
3. 遇到的问题
3.1. 拉取不到镜像
解决方案:
- 修改dns
vim /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 223.5.5.5
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
nameserver 10.0.0.166
search localdomain
- 修改镜像源
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://ghcr.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
],
"insecure-registries": ["192.168.200.100:5000"]
}
- 重加载
systemctl daemon-reload
- 重启docker
systemctl restart docker
3.2. localhost/install 页面不停转圈圈
初次启动后localhost/install 页面不停的转圈圈,无法输入admin管理员密码。
- 查询日志:
- 问题剖析
容器本身权限不足,需要被赋予更高权限
- 解决方案
在容器启动的时候添加特权模式,赋予容器更高的权限
特权模式:赋予容器几乎与主机相同的权限
privileged: true
- 修改docker-compose.yaml配置
- 重新启动 Dify
docker-compose down
docker-compose up -d
3.3. 聊天报错
添加模型后,正常使用
4. 踩坑记录
4.1. 日志报错,提示缺少环境
- 查询日志,发现存在以下报错
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
- 安装 TensorFlow
pip install --root-user-action=ignore tensorflow
- 安装 Flax
pip install --root-user-action=ignore flax
- 安装 PyTorch
- 先确认是否有NVIDIA的显卡!!
- PyTorch GPU安装需要 CUDA;CUDA安装需要NVIDIA的驱动,NVIDIA的驱动需要NVIDIA的显卡,所以如果没有NVIDIA的显卡,直接安装PyTorch CPU即可
- 安装PyTorch CPU
进入官网 https://pytorch.org/get-started/locally/ ,选择配置,执行对应的命令
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- 确认安装成功,查询结果
pip show torch
- 仍然报错,但是dify后台能正常使用。该报错可忽略
结语
至此,您已成功完成了Dify的安装与初始化过程。请确保检查系统配置,特别是环境变量和Docker Compose文件的设置,以避免潜在的坑。同时,关注Dify的GitHub仓库以获取最新更新和社区支持,这将帮助您更好地利用Dify构建和优化您的AI应用。
延展阅读:
如何在Golang中处理零值和nil?理解指针、接口及引用类型的默认行为
咨询方案 获取更多方案详情