❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🔐 "CTO集体失眠!这个开源项目让企业AI管理进入上帝模式"
大家好,我是蚝油菜花。当同行还在为API调用次数和预算超支扯皮时,这个国产神器已经让AI资源管理进化到「纳米级操控」!
你是否经历过这些管理噩梦:
- 💸 实习生手滑调用GPT-4烧光季度预算
- 🔑 离职员工带走密钥,埋下数据泄漏核弹
- 📊 财务追着要AI费用报表,你只能掏出混沌Excel...
今天解密的 Dify-Plus ,正在重写企业AI管理法则!这个基于Dify的增强型开源中枢,用三大杀手锏终结混乱:
- ✅ AI计划经济:对话次数/API调用/模型权限精准到人,杜绝资源黑洞
- ✅ 密钥风控矩阵:实时监控+用量预测+异常熔断,比银行系统更严谨
- ✅ 财务透视眼:自动生成多维度费用报表,支持成本分摊到部门
已有金融集团用它管理上千个AI应用,文末附《企业AI治理白皮书》------你的IT部门准备好迎接次世代管理革命了吗?
🚀 快速阅读
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增了多项功能以支持企业场景。
- 核心功能:用户额度管理、密钥额度设置、Web 登录鉴权、应用中心等。
- 技术原理:基于 gin-vue-admin 的管理中心,集成 JWT 认证和异步处理机制,确保系统高效安全。
Dify-Plus 是什么
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,集成了基于 gin-vue-admin 的管理中心。它在 Dify 的基础上新增了用户额度、密钥额度、Web 公开页登录鉴权、应用中心等功能,并优化了权限管理,特别适合企业场景使用。
Dify-Plus 项目开源,旨在解决企业资源精细化管理的痛点。无论是用户额度控制、密钥管理,还是应用开发与安全管理,Dify-Plus 都提供了全面的解决方案,帮助企业高效管理 AI 资源。
Dify-Plus 的主要功能
- 用户额度管理 :
- 对话余额限制:限制用户对话的使用次数。
- 异步计算用户额度:后台异步处理用户额度的计算逻辑。
- 额度显示:在界面左上角显示用户的使用额度。
- 个人监测页:用户能查看自己的额度使用情况。
- 密钥管理 :
- 密钥额度设置:限制应用 API 调用的余额。
- 密钥使用分析:提供密钥使用情况的分析和报表。
- 每月密钥额度花费:统计密钥的每月使用费用。
- 安全管理 :
- Web 公开页登录鉴权:确保只有授权用户可以访问。
- 鉴权 Cookie:支持安全的 Cookie 鉴权机制。
- 应用管理 :
- 应用中心页面:集中管理所有应用。
- 应用使用次数记录:记录每个应用的使用次数,按使用次数排序。
- 同步应用到模板中心:管理员能将应用同步到模板中心。
- 管理中心 :
- 用户同步:同步用户信息到管理中心。
- 模型同步工作区:同步模型到工作区。
- 用户额度修改:管理员修改用户的额度。
- 费用报表:生成费用报表,方便财务管理和分析。
- 权限管理 :
- 权限调整:普通成员无法关闭模型,非管理员无法查看密钥。
- 优化 CSV 编码监测:修复批量请求问题,支持 Windows 下载后保存再上传。
- Markdown 图片放大优化:提升用户体验。
Dify-Plus 的技术原理
-
基于 gin-vue-admin 的管理中心:
- 前端:基于 Vue.js 构建现代化的用户界面,提供良好的用户体验。
- 后端:Go 语言的 Gin 框架构建高效的后端服务。
-
JWT 认证:基于 JSON Web Tokens (JWT) 实现用户认证和授权,确保系统的安全性。
-
与 Dify 的集成:基于 RESTful API 与 Dify 进行交互,实现功能扩展。同步用户、模型和应用数据,确保管理中心与 Dify 的数据一致性。
-
异步处理:用异步任务处理用户额度计算等耗时操作,提升系统性能。
如何运行 Dify-Plus (使用 Docker Compose)
1. 克隆项目
首先,需要从 GitHub 克隆 Dify-Plus 项目到本地。打开终端并运行以下命令:
shell
git clone [email protected]:YFGaia/dify-plus.git
提示:确保本地已安装 Git 和 Docker,并且 Docker 守护进程正在运行。
2. 使用 Docker Compose 启动服务
进入克隆下来的项目目录,并使用 Docker Compose 启动服务:
shell
cd dify-plus/docker
docker-compose -f docker-compose.dify-plus.yaml up -d
备注 :该
docker-compose.dify-plus.yaml
文件是从原 Dify 项目精简而来,仅保留了最小化启动所需的服务。如有其他需求,可根据实际情况自行调整。
3. 检查服务是否启动正常
使用以下命令检查容器的运行状态:
shell
docker compose ps
确保所有相关服务的状态均为 running
,这表明服务已成功启动。
如何运行 Dify-Plus (使用源码部署)
前置依赖
在部署 Dify-Plus 之前,需要确保以下环境和工具已正确安装并配置:
语言版本
- Python:3.11 或 3.12
- Node.js:>=18.17.0
- Golang:>=1.22.0
基础服务
- Redis:用于缓存和消息队列
- PostgreSQL:用于存储数据
提示:确保 Redis 和 PostgreSQL 已启动并正常运行,且可以通过本地连接访问。
启动步骤
启动 Dify API 服务
Dify API 服务是核心服务,负责处理业务逻辑。以下是具体步骤:
shell
# 1. 进入 API 目录
cd api
# 2. 复制环境变量配置文件
cp .env.example .env
# 3. 生成随机密钥并替换 .env 中的 SECRET_KEY
awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env
# 4. 安装依赖包
poetry env use 3.11
poetry install
# 5. 执行数据库迁移
poetry shell
flask db upgrade
# 6. 启动 API 服务
flask run --host 0.0.0.0 --port=5001 --debug
API 服务启动后,可以通过 http://localhost:5001
访问。
启动 Dify Web 服务
Dify Web 服务提供用户界面,供用户与系统交互。以下是具体步骤:
shell
# 1. 进入 Web 目录
cd web
# 2. 安装依赖包
npm install
# 3. 复制环境变量配置文件
cp .env.example .env.local
# 4. 根据需求配置环境变量
vim .env.local
# 5. 构建代码
npm run build
# 6. 启动 Web 服务
npm run start
# 或使用以下命令:
# yarn start
# pnpm start
Web 服务启动后,可以通过 http://localhost:3000
访问。
启动 Dify Worker 服务
Dify Worker 服务负责处理后台任务,例如数据处理和邮件发送。以下是具体步骤:
shell
# Linux / MacOS 启动
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace,extend_high,extend_low --loglevel INFO
# Windows 启动
celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace,extend_high,extend_low --loglevel INFO
说明 :相比原版 Dify,新增了两个队列:
extend_high
(处理高频任务)和extend_low
(处理低频任务)。
启动 Dify Beat 服务
Dify Beat 服务负责调度定时任务,以下是具体步骤:
shell
celery -A app.celery beat --loglevel INFO
启动 Admin-Web 服务
Admin-Web 服务提供管理员界面,以下是具体步骤:
shell
cd admin/web
yarn install
yarn run serve
Admin-Web 服务启动后,可以通过 http://localhost:8081
访问。
启动 Admin-Server 服务
Admin-Server 服务负责管理后台逻辑,以下是具体步骤:
shell
cd admin/server
go mod tidy
go run main.go
初始化管理员账号
-
访问以下地址,初始化管理员账号:
bashhttp://localhost:3000/install
-
填写管理员账号信息(例如邮箱和密码),并完成初始化。
初始化管理中心的数据库表
-
访问以下地址,初始化管理中心的数据库表:
bashhttp://localhost:8081/#/init
-
填写对应的数据库配置信息,点击初始化按钮。
注意:
- 管理中心和 Dify 使用同一个数据库。
- 管理员后台账号密码与 Dify 第一个账号相同。
常见问题
后台管理员账号
后台管理员账号的用户名和密码与 Dify 第一个账号一致。例如,如果初始化的 Dify 第一个账号为 [email protected]
,则管理员后台的登录账号为 famousmai
,密码相同。
资源
- GitHub 仓库 :github.com/YFGaia/dify...
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦