以下是macOS上安装和使用Dify的详细指南,包括Docker运行方法:
一、安装Dify
方法1:使用Docker安装(推荐)
步骤1:安装Docker Desktop
访问 Docker官网
下载Docker Desktop for Mac(Apple Silicon或Intel版本)
完成安装并启动Docker Desktop
步骤2:使用Docker Compose安装Dify
bash
1. 创建项目目录
mkdir dify && cd dify
2. 下载docker-compose.yml文件
curl -O https://github.com/langgenius/dify/raw/main/docker/docker-compose.yaml
3. 创建环境变量文件
cp .env.example .env
4. 启动Dify(默认使用SQLite)
docker-compose up -d
方法2:源码安装
前置要求
Python 3.9+
Node.js 16+
PostgreSQL 12+(可选,推荐)或 SQLite
Redis 5+
安装步骤
bash
1. 克隆仓库
git clone https://github.com/langgenius/dify.git
cd dify
2. 安装后端依赖
cd backend
pip install -r requirements.txt
3. 安装前端依赖
cd .../frontend
npm install
npm run build
二、配置Dify
配置文件
bash
编辑环境变量
cd docker
nano .env
主要配置项:
env
数据库配置
DB_USERNAME=postgres
DB_PASSWORD=your_password
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=dify
Redis配置
REDIS_HOST=redis
REDIS_PORT=6379
应用密钥(重要!)
SECRET_KEY=your-secret-key-here
API密钥(用于OpenAI等)
OPENAI_API_KEY=sk-xxx
三、运行Dify
使用Docker运行
bash
1. 启动所有服务
cd dify/docker
docker-compose up -d
2. 查看运行状态
docker-compose ps
3. 查看日志
docker-compose logs -f api
4. 停止服务
docker-compose down
5. 停止并删除数据(慎用)
docker-compose down -v
高级Docker命令
bash
使用GPU支持(如果有)
docker-compose -f docker-compose.gpu.yaml up -d
重建镜像
docker-compose build --no-cache
进入容器
docker exec -it dify-api bash
备份数据
docker exec dify-db pg_dump -U postgres dify > backup.sql
四、访问和使用Dify
访问Web界面
浏览器打开:http://localhost:3000
首次访问需要创建管理员账户
登录后即可开始使用
基本使用流程
- 创建应用
点击"创建新应用"
选择类型:对话型应用、文本生成应用等
配置基础信息
- 配置模型
进入"模型提供商"设置
添加API密钥(OpenAI、Azure、Anthropic等)
测试连接
- 构建提示词
在"提示词"页面设计对话流程
使用变量:{{variable}}
添加上下文和示例
- 测试和优化
使用右侧预览窗测试
查看分析数据
迭代优化提示词
- 发布应用
点击"发布"
选择发布方式:API或Web
获取API密钥和端点
五、API使用
获取API密钥
bash
在Dify界面获取
- 进入应用设置
- 找到API密钥
- 复制密钥
使用示例
python
import requests
api_key = "your-app-api-key"
url = "http://localhost:5001/v1/chat-messages"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
data = {
"inputs": {},
"query": "你好,介绍一下Dify",
"response_mode": "streaming", # 或 "blocking"
"conversation_id": "",
"user": "user-123"
}
response = requests.post(url, json=data, headers=headers, stream=True)
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
六、数据管理
数据库备份
bash
Docker环境
docker exec dify-postgres pg_dump -U postgres dify > backup_$(date +%Y%m%d).sql
恢复备份
cat backup.sql | docker exec -i dify-postgres psql -U postgres -d dify
文件存储
上传文件存储在 storage 目录
建议定期清理临时文件
七、故障排查
常见问题
- 端口冲突
bash
修改docker-compose.yml中的端口映射
ports:
- "3001:3000" # 前端
- "5002:5001" # API
- 内存不足
bash
限制容器内存
services:
api:
deploy:
resources:
limits:
memory: 2G
- 启动失败
bash
查看详细日志
docker-compose logs --tail=100 api
检查依赖
docker-compose exec api python --version
- 更新Dify
bash
拉取最新镜像
docker-compose pull
重启服务
docker-compose up -d
或完全重建
docker-compose down
docker-compose up -d --build
八、生产部署建议
安全配置
修改默认端口
配置HTTPS(使用Nginx反向代理)
设置防火墙规则
定期更新密钥
性能优化
使用PostgreSQL代替SQLite
配置Redis缓存
启用CDN加速静态资源
监控资源使用情况
监控
bash
查看资源使用
docker stats
查看服务状态
docker-compose ps
九、卸载Dify
bash
1. 停止并删除容器
docker-compose down
2. 删除镜像(可选)
docker rmi $(docker images dify -q)
3. 删除数据卷(慎重!)
docker volume rm $(docker volume ls -q | grep dify)
4. 删除项目目录
cd ... && rm -rf dify
注意事项
首次使用:确保3000和5001端口未被占用
API密钥:妥善保管,不要提交到代码仓库
数据备份:定期备份数据库
版本兼容:更新前查看release notes
网络要求:确保能访问所需API服务(OpenAI等)
以上就是文章全部内容了,如果喜欢这篇文章的话,还希望三连支持一下,感谢!