注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、服务名、函数名等等),所以不推荐直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,强烈推荐通过
s init
的方法或应用中心进行初始化,详情可参考部署 & 体验 。
使用serverless devs将stable-diffusion 的api服务部署到阿里云函数计算上,支持自定义模型,可以共享已有的stable-diffusion服务
使用该项目,您需要有开通以下服务:
服务 | 备注 |
---|---|
函数计算 FC | |
文件存储 NAS |
推荐您拥有以下的产品权限 / 策略:
## 应用介绍文档 ### 应用详情 本应用旨在帮助开发者实现将[stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui) 开源应用部署到阿里云函数计算,保留其api服务,并且提供动态管理模型插件等能力- 安装 Serverless Devs Cli 开发者工具
npm install @serverless-devs/s -g
,并进行授权信息配置 ; - 初始化项目:
s init fc-stable-diffusion-api -d fc-stable-diffusion-api
- 进入项目,并进行项目部署:
cd fc-stable-diffusion-api && s deploy - y
本地部署成功后使用部分参考应用中心部署方案配置管理后台系列操作
通过模版创建应用-> 人工智能选项卡-> AI数字绘画stable-diffusion api服务->立即创建
选择直接部署-> 杭州/北京/上海/深圳地域 -> 复制开发者准备好的容器镜像 杭州region: registry.cn-hangzhou.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:apionly 北京region: registry.cn-beijing.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:apionly 深圳region: registry.cn-shenzhen.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:apionly 上海region: registry.cn-shanghai.aliyuncs.com/serverlessdevshanxie/sd-auto-nas:apionly 点击创建并部署默认环境
接下来什么都不需要操作,等待应用部署即可,约花费5-10分钟, 如果你是技术同学,可以展开看看我们提供的部署日志,观察部署过程
部署成功后得到两个域名 其中sd开头的是主服务 admin开头的是我们的管理后台,您可以选择直接访问sd服务,我们提前为您准备了默认的sd1.5基础模型,也可以通过管理后台添加更多的模型和扩展,登录管理后台以及上传模型教程如下
管理后台使用的是 可道云提供的 kod-box,对于你而言一路点点点,就可以 等初始化好之后,设置自己的登录账号和密码 之后进行登录 登录后在路径输入 /mnt/auto/sd 如果你熟悉sd-webui的目录的话,你可以看到对应的目录 接下来我们打开/mnt/auto/sd/models/Stable-diffusion/ ,然后点击上传->离线下载
你也可以输入已经外部网站的模型地址,或者您先上传到阿里云OSS,通过同地域的内网地址进行下载,除了下载,你也可以把本地的模型直接拖拽上传。 因为模型较大,下载时间预计花费5-15分钟,可以休息等待一下(如果提升出错可以忽略)
如果您觉得我们提供的镜像能力不能满足您的需求,您可以通过社区开发者开放的构建镜像源码进行重新构建
定制好自己的镜像之后可以替换上面流程中需要填写的镜像部分即可,注意对应好地域。
因为本身sd的模型较大,打包镜像后依然达到10G,函数计算拉起镜像冷启动时间会比较长,大概2-5分钟,我们提供了预加载界面,避免您长时间的白屏等待。
为了提升冷启动时间,我们提供了镜像加速服务,请关注控制台上的镜像加速状态,只有在ready才真正可用。
这个可能是因为模型本身还未加载,请注意查看左上角选择框里面包含模型内容,之后再操作。出图的时候会有一定的等待时间,这个是正常现象,耐心等待即可
GPU本身对算力资源消耗较大,我们默认提供的是按量付费的模式,当您不用的时候会自动释放资源,这样可以帮您减少资费消耗
需要自己上传
可以在进入admin后台管理地址之后在路径输入框输入 /mnt/auto/sd 然后进入models/Stable-diffusion 点击文件上传,选择”离线下载“并输入 https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt
等带下载完成后需要修改文件名称,只保留sd-v1-5-inpainting.ckpt
- 使用stable-diffusion-webui-docker 镜像本地镜像构建
- 将构建好的本地镜像托管到 阿里云容器镜像服务服务, 注意选择镜像服务的地域要跟函数计算部署的地域保持一致
您如果有关于错误的反馈或者未来的期待,您可以在 Serverless Devs repo Issues 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:
微信公众号:serverless |
微信小助手:xiaojiangwh |
钉钉交流群:33947367 |
1.应用中心仅为您提供应用的逻辑关系,不为您托管任何资源。如果您部署的应用中,存在一定的资源收费现象,请参考对应产品的收费标准;如果您应用所使用的某些产品或者服务因为产品规划等原因发生了不兼容变更,建议您直接咨询对应的产品或者服务; 2.应用中心为您提供的默认流水线功能是免费的,如果您需要手动切换到自定义流水线可能涉及到资源使用费用,具体的收费标准需要参考函数计算的计费文档; 3.应用中心部署的部分应用会为您分配“devsapp.cn”的测试域名,这个测试域名并非阿里云官方域名,是 CNCF Sandbox 项目 Serverless Devs 所提供的测试域名,我们不保证该域名的使用时效性,推荐您只在测试的时候使用,或者绑定自己的自定义域名进行使用; 4.应用部署过程中,如果提示“当前应用模板由社区贡献,非阿里云官方提供,推荐您在使用当前应用模板前仔细阅读应用详情,以确保应用的安全,稳定等”则表示该应用并非阿里云官方所提供的应用,我们仅作为收录和展示,如果您继续部署该应用,推荐您联系应用的作者,并与作者协商应用使用的相关协议等;