使用SAE部署Dify

Dify是一个开源大模型应用开发平台。使用SAE可以快速部署Dify,无需管理底层计算资源,而且仅需简单配置即可实现高可用、秒级弹性伸缩。

部署Dify生产环境

方案架构

image

资源清单

资源类型

数量

说明

专有网络 VPC

1

为 SAE 应用、云数据库等云资源构建云上私有网络。

交换机 vSwitch

2

将 SAE 应用、云数据库等资源连接在同一网络上,实现它们之间的通信,并提供基本的网络分段和隔离功能。

为了实现跨可用区的高可用,建议将资源部署在位于不同可用区的交换机上。

安全组 SG

1

用于限制专有网络 VPC 下的网络出入规则。

传统负载均衡 CLB

1

为 Dify 提供负载均衡服务,将流量分发到不同的后端服务器来扩展应用系统的服务吞吐能力。

NAT网关

1

用于 Dify 应用访问公网服务。

弹性公网IP

1

用于 Dify 应用访问公网服务。

SAE 应用

6

使用SAE部署Dify应用的组件,包括dify-nginx、dify-sandbox、dify-worker、dify-web、dify-api、dify-plugin-daemon。

文件存储 NAS

1

用于 Dify 应用文件存储。

云数据库 Tair(兼容 Redis)

1

为 Dify 提供缓存服务。

云数据库 RDS PostgreSQL

1

为 Dify 提供关系型数据库服务。

表格存储 Tablestore

1

为 Dify 提供向量检索服务。

计费说明

产品和服务

参考文档

传统负载均衡 CLB

CLB计费概述

NAT网关

NAT网关计费概述

弹性公网IP

弹性公网IP计费概述

SAE 应用

SAE计费概述

文件存储 NAS

NAS计费概述

云数据库 Tair(兼容 Redis)

云数据库Tair计费概述

云数据库 RDS PostgreSQL

云数据库RDS计费概述

表格存储(Tablestore)

表格存储Tablestore计费概述

(可选)应用实时监控服务 ARMS

ARMS计费概述

权限说明

RAM用户需要具备如下权限。

权限策略名称

备注

AliyunVPCFullAccess

管理专有网络(VPC)的权限。

AliyunSLBFullAccess

管理负载均衡服务(SLB)的权限。

AliyunSAEFullAccess

管理 Serverless 应用引擎(SAE)的权限。

AliyunNASFullAccess

管理文件存储服务(NAS)的权限。

AliyunKvstoreFullAccess

管理云数据库 Tair(兼容 Redis)的权限。

AliyunRDSFullAccess

管理云数据库服务(RDS)的权限。

AliyunOTSFullAccess

管理表格存储服务(OTS)的权限

AliyunROSFullAccess

管理资源编排服务(ROS)的权限。

AliyunComputeNestUserFullAccess

管理计算巢服务(ComputeNest)的用户侧权限。

部署应用

  1. 进入应用中心,选择Dify社区版-Serverless部署,点击部署

    1. 选择模板:生产环境建议选择Dify 高可用版Dify 高可用+可观测版,通过集成阿里云数据库服务实现高可用。Dify 高可用+可观测版还集成了dify-sandbox、dify-plugin-daemon的可观测功能,通过探针自动埋点,提供性能分析、token分析、调用链视图等功能。如果希望增加dify-api组件的可观测, 可以参考Dify应用可观测接入

    2. 选择地域:选择资源部署的地域。

    3. 付费类型配置:选择按量付费包年包月

    4. SAE配置:设置SAE命名空间名称(默认填入default即可)、SAE副本数SAE核数SAE内存

    5. Postgres数据库配置:设置PostgreSQL实例规格PostgreSQL实例存储类型PostgreSQL实例存储PostgreSQL数据库账号名称PostgreSQL数据库密码

    6. Redis数据库配置:设置Redis实例密码

    7. Tablestore配置:设置TableStore 实例规格

    8. 基础配置:选择新建专有网络已有专有网络,选择2个可用区来部署资源以提高服务可用性。

  2. 确认参数和询价信息后(注意如果选择可观测版ARMS需要额外计费,未计入询价信息中),点击下一步:确认订单立即创建

    1. 已部署场景列表中可以查看已创建的应用场景,等待状态显示已部署,表示部署成功。

    2. 点击场景ID。在服务资源区域,可查看并跳转到已部署的服务资源。在立即使用区域,点击dify服务地址对应的URL即可跳转到Dify管理界面。

  3. 设置管理员账户并登录后,开始使用Dify

    image

运维管理

进入SAE应用列表,在顶部选择应用部署的地域,然后选择应用所在的命名空间,可查看已部署的应用,点击应用ID可跳转到应用详情页。

应用生命周期管理

基础信息页顶部点击相应按钮,即可查看应用配置部署应用(修改应用配置并重新部署)、手动扩缩(调整应用实例数)、停止应用重启应用删除应用

如需删除Dify相关的全部资源,则要在应用中心已部署场景中找到Dify场景,然后点击删除

弹性伸缩

基础信息页顶部点击自动扩缩,可以配置弹性伸缩策略

管理应用配置

基础信息页顶部点击部署应用,在环境变量区域设置变量值,其中一部分需要通过引用配置项保密字典设置环境变量

查看应用监控(仅适用于可观测版)

dify-sandbox、dify-plugin-daemon应用监控页可查看应用监控数据。也可以在ARMS控制台应用监控 > 应用列表中查看。

如果希望增加dify-api组件的可观测, 可以参考Dify应用可观测接入

部署Dify高性能版

Dify高性能版能够满足生产环境多用户的高并发需求。

部署和运维的操作方式与Dify高可用版类似,部署时参数配置区别如下:

  1. 选择模板Dify高性能版

  2. Celery 后端配置:设置CeleryBackendRedisClassCelery 后端 Redis 实例密码

部署Dify测试环境

Dify测试版的数据库以单节点形式在 SAE 上部署,成本较低,不具备高可用性,仅推荐用于测试环境。

部署和运维的操作方式与Dify高可用版类似,部署时参数配置区别如下:选择模板Dify测试版Dify 测试+可观测版