MacOS上安装和使用Dify的详细指南

以下是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

首次访问需要创建管理员账户

登录后即可开始使用

基本使用流程

  1. 创建应用
    点击"创建新应用"

选择类型:对话型应用、文本生成应用等

配置基础信息

  1. 配置模型
    进入"模型提供商"设置

添加API密钥(OpenAI、Azure、Anthropic等)

测试连接

  1. 构建提示词
    在"提示词"页面设计对话流程

使用变量:{{variable}}

添加上下文和示例

  1. 测试和优化
    使用右侧预览窗测试

查看分析数据

迭代优化提示词

  1. 发布应用
    点击"发布"

选择发布方式:API或Web

获取API密钥和端点

五、API使用

获取API密钥

bash

在Dify界面获取

  1. 进入应用设置
  2. 找到API密钥
  3. 复制密钥
    使用示例
    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 目录

建议定期清理临时文件

七、故障排查

常见问题

  1. 端口冲突
    bash

修改docker-compose.yml中的端口映射

ports:

  • "3001:3000" # 前端
  • "5002:5001" # API
  1. 内存不足
    bash

限制容器内存

services:

api:

deploy:

resources:

limits:

memory: 2G

  1. 启动失败

bash

查看详细日志

docker-compose logs --tail=100 api

检查依赖

docker-compose exec api python --version

  1. 更新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等)

以上就是文章全部内容了,如果喜欢这篇文章的话,还希望三连支持一下,感谢!

相关推荐
xiucai_cs18 小时前
AI RAG 本地知识库实战
人工智能·知识库·dify·rag·ollama
JTnnnnn2 天前
【架構優化】拒絕 LLM 幻覺:設計基於 Python 路由的 AntV 智慧圖表生成系統
llm·antv·dify
阿_焦2 天前
docker部署dify踩坑笔记
docker·ai·dify
钱多多先森5 天前
【Dify】使用 python 调用 Dify 的 API 服务,查看“知识检索”返回内容,用于前端溯源展示
开发语言·前端·python·dify
用什么都重名6 天前
【Dify学习笔记】:Dify插件离线转换教程
插件·dify·ollama
摸鱼仙人~7 天前
Dify 应用用户隔离与会话管理技术方案
dify
大脑经常闹风暴@小猿9 天前
Coze开源了!! 扣子(Coze) 和 dify怎么选?
dify·coze
在线打码10 天前
禅道二次开发:项目月报整合Dify工作流实现AI智能分析
人工智能·ai·禅道·工作流·dify
装不满的克莱因瓶11 天前
【Dify实战】情感陪伴机器人 从零制作教程
人工智能·ai·agent·agi·dify·智能体