目录
一、什么是Dify?
Dify是一个开源的LLM应用开发平台,支持通过可视化编排快速构建AI工作流。其核心优势在于:
- 多模型支持:可同时接入GPT-4/Claude/LLaMA等模型
- 生产就绪:内置用户管理、API访问控制等企业级功能
- 知识库增强:支持文档上传与向量化检索
二、核心功能特性
- 🧩 可视化编排:拖拽式构建AI工作流
- 📚 知识库增强:支持上传PDF/Word等文档构建专属知识库
- 🔌 多模型支持:同时接入OpenAI/Anthropic等商业API及本地私有模型
- 🚀 一键发布:将AI应用快速发布为API或Web应用
三、部署前提条件
✅ 必须准备:
- 已安装Docker和Docker-Compose(参考Docker安装指南)
- 4核CPU+8GB内存(实测最低配置)
- 20GB可用磁盘空间(向量库需额外空间)
💡 推荐环境:
- Linux内核5.4+(Ubuntu 20.04+/CentOS 8+)
- NVIDIA驱动(如需GPU加速)
🔧 可选准备:
- 域名+SSL证书(用于生产环境)
- OpenAI API Key(若使用商业模型)
- GPU支持(如需本地运行大模型)
四、Docker部署步骤
1. 获取官方源码
git clone https://github.com/langgenius/dify.git --depth=1 # --depth=1:浅克隆,仅克隆仓库的最新一次提交(即 HEAD),不包含完整的历史记录。这会显著减少下载的数据量和时间。
cd dify/docker # 所有部署文件均在此目录
2. 初始化配置文件
cp .env.example .env # 主配置文件
cp middleware.env.example middleware.env # 中间件使用,根据实际需要进行修改(非必须)
3. 启动服务(开发模式)
docker-compose up -d # 启动后会自动拉取镜像并创建网络
此时会启动以下容器:
- dify-api(后端服务,端口=80)
- postgres(数据库)
- redis(缓存)
- weaviate(向量数据库)
4. 生产环境调优
修改.env
文件关键参数:
# 必改项
APP_API_HOST=yourdomain.com # 生产域名
STORAGE_TYPE=s3 # 推荐使用对象存储
# 可选项
TZ=Asia/Shanghai # 时区设置
LOG_LEVEL=warning # 生产环境日志级别
五、配置初始化
1. 检查服务状态:
docker-compose ps # 所有服务应为"running"
2. 管理员账号设置
- 访问
http://localhost
或您的域名 - 首次进入会跳转到初始化页面
- 设置管理员邮箱和密码(建议使用强密码)
登录以后进入主页面(表明项目已成功启动):
3. 模型API配置
进入「系统设置」→「模型提供商」:
- OpenAI:填写API Key和Base URL
- 本地模型:输入模型服务地址(如LocalAI)
- 多模型切换:设置默认使用的模型
4. 存储设置
# docker-compose.yaml 片段
services:
app:
environment:
- STORAGE_TYPE=local # 或s3
- S3_ENDPOINT=minio:9000
- S3_BUCKET_NAME=dify
六、常见问题
❌ 端口冲突处理
修改映射端口(以改为8080为例):
docker run -p 8080:80 ...
# 或修改docker-compose.yml的ports配置
🚨 容器启动失败
检查日志定位问题:
docker logs dify --tail 100
# 常见原因:存储目录权限问题
sudo chown -R 1000:1000 /data/dify/storage
🔌 模型连接异常
- 检查网络连通性:
docker exec -it dify ping api.openai.com
- 测试API Key有效性:
curl https://api.openai.com/v1/models \
-H "Authorization: Bearer YOUR_KEY"
七、学习资源
遇到问题?请在评论区留言,我会第一时间解答!如果觉得有用,请点赞收藏支持~