通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
一键部署
60
https://www.aliyun.com/solution/tech-solution/fc-for-ai-server
方案概览
ComfyUI是一款基于节点工作流稳定扩散算法的全新WebUI。如果您需要高质量的图像生成功能,建议您使用函数计算提供的ComfyUI模型,也可以自定义ComfyUI模型、安装插件以满足定制化创作需求。函数计算基于Serverless应用中心开发“ComfyUI应用模板”,简化开发者的部署流程。同时可以充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于ComfyUI模型的绘画生成服务。
本方案的技术架构包括以下基础设施和云服务:
函数计算:用于提供ComfyUI模型的应用服务。
文件存储 NAS:用于存放预训练的ComfyUI模型和生成的图片。
专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。
部署准备
10
开始部署前,请按以下指引完成账号申请、账号充值。
准备账号
入门:部署ComfyUI
10
借助于函数计算应用模板,您可以便捷地将 ComfyUI 部署到函数计算上。
访问函数计算应用模板,参考图片内置模型选择黏土风格;地域目前仅支持华东1(杭州)或华东2(上海),选择华东1(杭州)。其余配置项保持默认值即可,单击创建应用。模型下载可能会花费15分钟左右,请耐心等待部署完成。
针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。
在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署。
部署完成后,在环境详情页面,直接单击访问域名右侧的域名,开始体验ComfyUI图片生成。
重要请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
***.devsapp.net域名是CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,不可用于任何生产使用;社区会对该域名进行不定期地拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验,详细请见配置自定义域名。
首次打开ComfyUI,遇到无法访问此网站情况,无需刷新等待10 秒即可进入。
说明这里等待10秒主要是函数计算基于Serverless应用中心开发ComfyUI应用模板有冷启动。冷启动是指在函数调用链路中的代码下载、启动函数实例、进程初始化及代码初始化等环节。如果您希望消除冷启动带来的影响,可以配置预留实例,详情请参考配置预留实例。
ComfyUI提供默认工作流,单击Queue Prompt,测试制作自己的第一张图。第一次生成因为存在冷启动可能需要几分钟,后续出图会快很多。
说明第一张图耗时更长是因为需要加载模型到内存。Queue Size表示正在等待出图的个数。请您在看到Queue Size:1之后,耐心等待出图。下图中箭头所指的绿框表示当前工作流执行所处的位置,您可以通过观察绿框的移动查看工作流的执行进度。
您可以自己定义提示词,单击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自制黏土风格滤镜
5
为了让您更直观的感受ComfyUI强大的绘图能力,我们提供了预置的工作流文件、内置大模型和Lora模型,让您基于函数计算轻松部署ComfyUI应用,快速生成各类风格的滤镜图片。本文以黏土风格滤镜为例介绍相关的操作步骤。
下载预置的工作流文件workflow.json。打开ComfyUI,单击Load按钮,选择并导入已经下载好的workflow.json文件。
说明ComfyUI的工作流可以保存为一个JSON文件,方便您保存和分享工作流的配置,但您不需要关心JSON文件的具体内容。建议您下载别人配置好的工作流JSON文件,在ComfyUI页面加载,快速体验和使用已有工作流。建议您访问ComfyUI示例查看ComfyUI官方提供的一些工作流示例。
您可以在图片区Load Image对话框选择choose file to upload导入需要制成“黏土风格”的原图。为了获得更好的效果,建议使用人物肖像进行测试。
说明如果找不到该选项,可以滚动鼠标滚轮将模型放大。
选择好原图,单击右侧Queue Prompt等待图片生成。
因为ComfyUI基于Serverless函数计算产品部署,因此生成第一张图的时候需要冷启动时间,第一张图生成需要等待30秒,后续每张图生成时间为2-5秒。
进阶:管理模型及更多功能探索
25
当前已实现通过函数计算部署ComfyUI并生成图片的功能。您还可以通过自定义模型和节点等操作以满足您实际业务场景下的个性化需求。如果您需要将生成的绘画进行保存、下载等操作,则需要存储,这里以文件存储NAS为例,下面介绍具体的操作方法。
绑定文件管理NAS。通过函数计算控制台的网络配置,绑定专有网络、交换机。若无相关资源,需要先创建。
进入到函数计算控制台 > 应用。在应用页面,单击目标应用进入应用详情。
在环境详情页签,选择资源信息下的函数名称进入函数。
在配置NAS文件存储之前,您需要为函数配置VPC网络访问能力。
在函数详情页签,选择配置页签,在左侧导航栏,单击网络,然后进行编辑,配置完成后单击部署。
自动配置
如果您之前未创建过NAS文件系统,可以选择自动配置,函数计算会为您自动创建专有网络、交换机和安全组等资源,无需您手动创建。创建完成后,也可再次按需修改。
自定义配置
如果您之前创建过NAS文件系统,并且希望使用已有的NAS文件系统进行挂载,可以选择自定义配置,然后依次选择专用网络、交换机、安全组信息,这些信息需要和NAS文件系统专有网络、交换机信息保持一致。
重点配置项如图,如果您没有特殊要求,请按照图片进行配置。
在函数详情页签,选择配置页签,在左侧导航栏,单击存储,单击NAS 文件系统的编辑,进行NAS挂载设置。
自动配置
如果您未创建过NAS,可以选择自动配置,函数计算将自动为您部署所有配置,单击部署。
自定义配置
进行NAS挂载设置,依次选择NAS 文件系统、挂载点、数据传输方式。输入远端目录
/mnt/auto/comfyui
,输入函数本地目录/mnt/auto
。配置完成后单击部署。说明如果您曾经在当前NAS中使用过Stable Diffusion应用,可以考虑将远端目录设置为
/fc-stable-diffusion-plus
,本地目录设置为/mnt/auto
。大模型对文件 IO 要求较高,建议创建通用性能型 NAS 实例,NAS会根据存储的文件大小进行计费,不同规格的 NAS 计费单价不一致,请参考计费概述。
在函数详情页签,单击实例,再点登录实例进入ComfyUI终端。
函数计算支持登录运行中的函数实例,建议您在终端中执行需要的操作(如手动安装自定义节点、依赖等)。
重要在Serverless环境下,您的所有改动都不会真正保存,您需要将改动的文件放置在NAS中以持久化。
访问NAS文件夹。
通过在NAS控制台创建一个NAS浏览器应用,使访问NAS文件系统像访问本地文件系统一样便捷。
完成及清理
10
在本方案中,您部署了ComfyUI应用使用了函数计算产品,创建了函数资源,创建模型管理器使用了文件存储 NAS产品,增加了NAS挂载点。函数计算的函数不调用不会计费,文件存储 NAS只要有模型存储在NAS文件系统下,就会收费。
删除ComfyUI使用的函数
登录函数计算控制台,在左侧导航栏,单击应用。
在应用页面,找到目标应用,单击右侧操作列的删除应用。
在弹出的对话框,勾选我已确定资源删除的风险,依旧要删除上面已选择的资源,然后单击删除应用及所选资源。
删除模型管理器使用的NAS
登录NAS文件存储控制台,在左侧导航栏选择 。
在文件系统列表,找到目标文件系统,在其右侧操作列,单击,然后单击删除。
在弹出的对话框中,单击移除,移除挂载点,然后再单击删除。