人工智能生成图像(AI 生图)的领域中,Stable Diffusion WebUI 以其强大的算法和稳定的输出质量而闻名。它能够快速地从文本描述中生成高质量的图像,为用户提供了一个直观且高效的创作平台。而 ComfyUI 则以其用户友好的界面和高度定制化的选项所受到欢迎。ComfyUI 的灵活性和直观性使得即使是没有技术背景的用户也能轻松上手。本次技术解决方案通过函数计算一键部署热门 AI 生图大模型,凭借其按量付费、卓越弹性、快速交付能力的特点,完美实现低成本,免运维。
方案一:利用 ComfyUI 生图方案
方案概览
通过函数计算快速部署 ComfyUI,提供可自定义工作流的图像生成的服务。您可以通过 ComfyUI 的 Web 界面自由定制图像生成流程,并且方便地复用和分享工作流。同时,可以充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于 ComfyUI 的图像生成服务。
本方案的技术架构包括以下基础设施和云服务:
- 函数计算:用于提供ComfyUI模型的应用服务。
- 文件存储 NAS:用于存放预训练的ComfyUI模型和生成的图片。
- 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。
部署应用
一、部署ComfyUI
借助于函数计算应用模板,您可以便捷地将 ComfyUI 部署到函数计算上。
1. 访问函数计算应用模板,参考图片内置模型选择黏土风格;地域目前仅支持华东1(杭州)或华东2(上海),选择华东1(杭州)。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费15分钟左右,请耐心等待部署完成。
a. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。
2. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署。
3. 部署完成后,在环境详情页面,直接单击访问域名右侧的域名,开始体验ComfyUI图片生成。
重要:
- 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
- ***.devsapp.net域名是CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,不可用于任何生产使用;社区会对该域名进行不定期地拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验,详细请见配置自定义域名[1]。
4. 首次打开ComfyUI,遇到无法访问此网站情况,无需刷新等待 10 秒即可进入。
说明: 这里等待10秒主要是函数计算基于Serverless应用中心开发ComfyUI应用模板有冷启动。冷启动是指在函数调用链路中的代码下载、启动函数实例、进程初始化及代码初始化等环节。如果您希望消除冷启动带来的影响,可以配置预留实例,详情请参考配置预留实例[2]。
5. ComfyUI提供默认工作流,单击Queue Prompt,测试制作自己的第一张图。第一次生成因为存在冷启动可能需要几分钟,后续出图会快很多。
说明: 第一张图耗时更长是因为需要加载模型到内存。Queue Size表示正在等待出图的个数。请您在看到Queue Size:1之后,耐心等待出图。下图中箭头所指的绿框表示当前工作流执行所处的位置,您可以通过观察绿框的移动查看工作流的执行进度。
6. 您可以自己定义提示词,单击Queue Prompt,生成绘画,右键单击生成的绘画选择Save Image单击进行保存,如图所示。
- 正向提示词Spring, flowers, willows, little birds, distant green mountains, a boy is climbing up to the mountains, smiles, Pictrue highlight, rich details
- 反向提示词loli,nsfw, logo, test, badhandv4, EasyNegative, mutated hands and fingers, poorly drawn face, extra limb, missing limb, disconnected limbs, malformed hands, ugly
二、用ComfyUI自制黏土风格滤镜
为了让您更直观的感受ComfyUI强大的绘图能力,我们提供了预置的工作流文件、内置大模型和Lora模型,让您基于函数计算轻松部署ComfyUI应用,快速生成各类风格的滤镜图片。本文以黏土风格滤镜为例介绍相关的操作步骤。
1. 下载预置的工作流文件workflow.json[3]。打开ComfyUI,单击Load按钮,选择并导入已经下载好的workflow.json文件。
说明: ComfyUI的工作流可以保存为一个JSON文件,方便您保存和分享工作流的配置,但您不需要关心JSON文件的具体内容。建议您下载别人配置好的工作流JSON文件,在ComfyUI页面加载,快速体验和使用已有工作流。建议您访问ComfyUI示例[4]查看ComfyUI官方提供的一些工作流示例。
2. 您可以在图片区Load Image对话框选择choose file to upload导入需要制成“黏土风格”的原图。为了获得更好的效果,建议使用人物肖像进行测试。
说明:如果找不到该选项,可以滚动鼠标滚轮将模型放大。
3. 选择好原图,单击右侧Queue Prompt等待图片生成。
4. 因为ComfyUI基于Serverless函数计算产品部署,因此生成第一张图的时候需要冷启动时间,第一张图生成需要等待30秒,后续每张图生成时间为2-5秒。
进阶:管理模型及更多功能探索
当前已实现通过函数计算部署ComfyUI并生成图片的功能。您还可以通过自定义模型和节点等操作以满足您实际业务场景下的个性化需求。如果您需要将生成的绘画进行保存、下载等操作,则需要存储,这里以文件存储NAS为例,下面介绍具体的操作方法。
绑定文件管理NAS。通过函数计算控制台[5]的网络配置,绑定专有网络、交换机。若无相关资源,需要先创建。
1. 进入到函数计算控制台 > 应用。在应用页面,单击目标应用进入应用详情。
在环境详情页签,选择资源信息下的函数名称进入函数。
2. 在配置NAS文件存储之前,您需要为函数配置VPC网络访问能力。
在函数详情页签,选择配置页签,在左侧导航栏,单击网络,然后进行编辑,配置完成后单击部署。
- 自动配置:如果您之前未创建过NAS文件系统,可以选择自动配置,函数计算会为您自动创建专有网络、交换机和安全组等资源,无需您手动创建。创建完成后,也可再次按需修改。
- 自定义配置:如果您之前创建过NAS文件系统,并且希望使用已有的NAS文件系统进行挂载,可以选择自定义配置,然后依次选择专用网络、交换机、安全组信息,这些信息需要和NAS文件系统专有网络、交换机信息保持一致。
重点配置项如图,如果您没有特殊要求,请按照图片进行配置。
3. 在函数详情页签,选择配置页签,在左侧导航栏,单击存储,单击 NAS 文件系统的编辑,进行NAS挂载设置。
- 自动配置:如果您未创建过NAS,可以选择自动配置,函数计算将自动为您部署所有配置,单击部署。
- 自定义配置:进行NAS挂载设置,依次选择NAS 文件系统、挂载点、数据传输方式。输入远端目录/mnt/auto/comfyui,输入函数本地目录/mnt/auto。配置完成后单击部署。
说明:如果您曾经在当前NAS中使用过Stable Diffusion应用,可以考虑将远端目录设置为/fc-stable-diffusion-plus,本地目录设置为/mnt/auto。
大模型对文件 IO 要求较高,建议创建通用性能型 NAS 实例,NAS会根据存储的文件大小进行计费,不同规格的 NAS 计费单价不一致,请参考计费概述[6]。
4. 在函数详情页签,单击实例,再点登录实例进入ComfyUI终端。
函数计算支持登录运行中的函数实例,建议您在终端中执行需要的操作(如手动安装自定义节点、依赖等)。
重要:在Serverless环境下,您的所有改动都不会真正保存,您需要将改动的文件放置在NAS中以持久化。
5. 访问NAS文件夹。
通过在NAS控制台[7]创建一个NAS浏览器应用,使访问NAS文件系统像访问本地文件系统一样便捷。
a. 登录NAS控制台。
b. 在左侧导航栏选择文件系统列表,选择目标文件系统ID/名称。在目标文件系统的操作列,单击 图标 > 浏览器,根据页面提示完成应用创建。
c. 在函数计算应用面板可查看新创建的应用。
登录函数计算控制台,在左侧导航栏,单击应用。单击目标应用进入,您可以在环境详情页签单击访问域名进行文件管理。
d. 借助文件存储NAS的文件浏览器功能,您可以方便地进行云上文件管理。
方案二:利用 Stable Diffusion WebUI 生图
方案概览
通过函数计算快速部署 Stable Diffusion WebUI,提供生成高质量图像的服务。您可以使用函数计算提供的基础 Stable Diffusion 模型,也可以通过创建模型库上传自定义的 Stable Diffusion 模型实现定制化创作需求。充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于 Stable Diffusion 模型的文本到图像生成服务。
本方案的技术架构包括以下基础设施和云服务:
- 函数计算:用于提供Stable Diffusion模型的应用服务。
- 文件存储 NAS:用于存放预训练的Stable Diffusion模型以及生成的图片文件。
- 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。
部署应用
一、部署 Stable Diffusion WebUI
借助于函数计算应用模板,您可以便捷地将 Stable Diffusion 模型和 Stable Diffusion WebUI部署到函数计算上。
1. 访问函数计算应用模板[8],参考图片,地域目前仅支持华东1(杭州)或华东2(上海),选择华东1(杭州);镜像选择动漫风格。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费15分钟左右,请耐心等待部署完成。
a. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。
2. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署。
3. 在应用详情页,单击WebUI 域名右侧的域名,等待 1 分钟左右,进入 Stable Diffusion WebUI 页面。
重要:
- 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
- ****.devsapp.net域名为CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。具体操作,请参见配置自定义域名[9]。
- 如果未绑定自定义域名,且部署的应用已超过30天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载NAS,即可正常使用。
4. 进入Stable Diffusion WebUI,您可以输入提示词,单击生成,开始制作自己的图片。
- 建议先使用默认提示词,先尝试如何生成第一张图。
- 您也可以自己定义提示词(推荐使用通义千问等大语言模型直接翻译成英文提示词),然后调整采样步数,采样器、高分辨率修复、图像生成种子等参数,生成更符合需求的图片。
例如,需要生成一张春天相关的图片,您可以输入以下提示词。
- 正向提示词Spring, flowers, willows, little birds, distant green mountains, a boy is climbing up to the mountains, smiles, Pictrue highlight, rich details
- 反向提示词loli,nsfw, logo, test, badhandv4, EasyNegative, mutated hands and fingers, poorly drawn face, extra limb, missing limb, disconnected limbs, malformed hands, ugly
说明:首次打开Stable Diffusion WebUI时,会提示“无法访问此网站”,无需刷新,等待30秒即可进入界面。如果报错Reserve resource exceed limit,则表示当前部署应用的地域GPU显卡资源不足,建议您切换到中国内地地域部署。
二、进阶:创建自己的模型库并自定义模型
您可以通过使用文件存储 NAS产品,创建模型库进行上传模型、管理模型、自定义模型更换等更加灵活的操作。
重要:您的模型文件存储在NAS中,只要存储模型就会消耗NAS存储资源,详情请参见计费概述[10]。
1. 在应用详情页,单击初始化模型管理,开始实现模型管理功能。
2. 在弹出的对话框,了解创建上述资源的目的以及部分资源可能产生的费用,了解对应的计费规则,并决定继续部署,勾选下方的复选框,然后单击下一步。
3. 在初始化模型管理对话框,挂载NAS存储并设置模型管理密钥,然后单击下一步。
- 自动配置:如果您未创建过NAS,可以选择自动配置,函数计算将自动为您部署所有配置。
- 手动配置:如果您之前创建过NAS,并且希望继续进行挂载,可以选择手动配置,然后依次选择专用网络、交换机、安全组、文件系统及挂载点信息。
由于Stable Diffusion只支持/mnt/auto目录,因此您至少需要有一个挂载点的FC 目录是/mnt/auto。
4. 等待模型初始化后,在应用详情页面,您可以看到模型管理域名,单击此域名进入模型管理器进行模型管理。
5. 如果您上一步设置了模型管理密钥,在模型管理器登录页面输入设置的密钥,然后单击登录进入模型管理器。
说明:为了给您提供更好的服务,当您在右上角看到更新提醒时,请单击更新至最新版。
6.(可选)从本地上传自定义模型。您可以从ModelScope[11]平台下载更多模型权重。
本文以上传一个LoRA模型为例进行介绍。在模型管理器页面,在左侧导航栏,单击文件管理,然后单击 LoRA 目录,再单击上传开始上传您的模型。
上传完成后,您可以在对应目录下查看刚刚上传的文件。
说明:上传依赖速度取决于您的网络稳定程度,如果网络不稳定可能会导致上传失败或文件损坏。
7.(可选)选择函数计算内置的模型。
为了帮助您更好地快速部署模型,函数计算内置了模型仓库,您可以在左侧导航栏,单击模型库,在模型库选择自己喜欢的模型,单击下载模型,下载模型到指定目录。
重要:模型仓库由阿里云OSS提供,模型/数据集/文件均来源于第三方,无法保证内容合规性,请您在使用前慎重考虑。
8.(可选)在弹出的文件下载确认对话框,确认模型下载目录,然后单击下载选中的模型。
当上传队列区域的进度条显示100%,表示模型已经成功上传到NAS文件系统。
上传完成后,刷新Stable Diffusion模型列表,即可看到已经上传的模型。
9.(可选)使用上一步下载的模型,使用默认提示词,然后单击生成。您可以看到生成的图片风格与之前的风格不同。
如果模型选择列表中找不到您已下载的模型,单击模型选择右侧的刷新图标刷新后重试。
相关链接:
[1] 配置自定义域名
[2] 配置预留实例
[3] workflow.json
[4] ComfyUI 示例
https://comfyanonymous.github.io/ComfyUI_examples/
[5] 函数计算控制台
https://fcnext.console.aliyun.com/overview
[6] 计费概述
https://help.aliyun.com/zh/nas/product-overview/overview-1
[7] NAS 控制台
https://nasnext.console.aliyun.com/overview
[8] 函数计算应用模板
https://fcnext.console.aliyun.com/applications/ai/create?template=29&from=solution
[9] 配置自定义域名
https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/configure-custom-domain-names
[10] 计费概述
https://help.aliyun.com/zh/nas/product-overview/overview-1
[11] ModelScope