首页 通过函数计算部署ComfyUI以实现一个AIGC图像生成系统

通过函数计算部署ComfyUI以实现一个AIGC图像生成系统

更新时间: 2024-09-26 18:37:47

一键部署

60

https://www.aliyun.com/solution/tech-solution/fc-for-ai-server

方案概览

ComfyUI是一款基于节点工作流稳定扩散算法的全新WebUI。如果您需要高质量的图像生成功能,建议您使用函数计算提供的ComfyUI模型,也可以自定义ComfyUI模型、安装插件以满足定制化创作需求。函数计算基于Serverless应用中心开发“ComfyUI应用模板”,简化开发者的部署流程。同时可以充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于ComfyUI模型的绘画生成服务。

image

本方案的技术架构包括以下基础设施和云服务:

  • 函数计算:用于提供ComfyUI模型的应用服务。

  • 文件存储 NAS:用于存放预训练的ComfyUI模型和生成的图片。

  • 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为了节省成本,建议您根据情况领取新客户试用套餐,函数计算使用额度详情请参见试用额度

入门:部署ComfyUI

10

  1. 登录函数计算3.0控制台,在左侧导航栏,单击应用

    当左上角显示函数计算 FC 3.0时,表示当前控制台为3.0控制台。

    重要

    ComfyUI模型的应用只在函数计算 FC 3.0支持,如果您登录的是函数计算 2.0的控制台,请单击右上角的体验函数计算 3.0进行切换。

    image

    image

  2. 在应用页面,单击创建应用,选择通过模板创建应用,在人工智能页签找到流程式 AI 图片生成 ComfyUI光标移至该卡片,然后单击立即创建

    image

  3. 在创建应用页面,设置以下配置项,然后单击创建应用

    重点配置项说明如下,如果您没有特殊要求,其余配置项保持默认值即可。

    配置项名称

    说明

    示例值

    角色名

    创建应用所需的权限。首次创建应用的用户,需要单击前往授权配置角色权限。

    image

    image.png

    AliyunFCServerlessDevsRole

    地域

    地域选择可以选择距离自己较近的区域,目前支持华东1(杭州)、华东2(上海)。

    由于当前模板涉及GitHub以及HuggingFace等网站的访问,国内部分地域可能无法直接使用。

    华东1(杭州)

    镜像选择

    选择模型与插件。

    黏土风格

  4. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署

    image

  5. 部署完成后,在环境详情页面,直接单击访问域名右侧的域名,开始体验ComfyUI图片生成。

    重要
    • 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。

    • ***.devsapp.net域名是CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,不可用于任何生产使用;社区会对该域名进行不定期地拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验,详细请见配置自定义域名

    image

  6. 首次打开ComfyUI,遇到无法访问此网站情况,无需刷新等待10 秒即可进入。

    说明

    这里等待10秒主要是函数计算基于Serverless应用中心开发ComfyUI应用模板有冷启动。冷启动是指在函数调用链路中的代码下载、启动函数实例、进程初始化及代码初始化等环节。如果您希望消除冷启动带来的影响,可以配置预留实例,详情请参考配置预留实例

    image.png

  7. ComfyUI提供默认工作流,单击Queue Prompt,测试制作自己的第一张图。第一次生成因为存在冷启动可能需要几分钟,后续出图会快很多。

    说明

    第一张图耗时更长是需要加载模型到内存。Queue Size表示正在等待出图的个数。请您在看到Queue Size:1之后,耐心等待出图。下图中箭头所指的绿框表示当前工作流执行所处的位置,您可以通过观察绿框的移动查看工作流的执行进度。

    image

  8. 您可以自己定义提示词,单击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

    image

用ComfyUI自制黏土风格滤镜

5

为了让您更直观的感受ComfyUI强大的绘图能力,我们提供了预置的工作流文件、内置大模型和Lora模型,让您基于函数计算轻松部署ComfyUI应用,快速生成各类风格的滤镜图片。本文以黏土风格滤镜为例介绍相关的操作步骤。

  1. 下载预置的工作流文件workflow.json。打开ComfyUI,单击Load按钮,选择并导入已经下载好的workflow.json文件。

    说明

    ComfyUI的工作流可以保存为一个JSON文件,方便您保存和分享工作流的配置,但您不需要关心JSON文件的具体内容。建议您下载别人配置好的工作流JSON文件,在ComfyUI页面加载,快速体验和使用已有工作流。建议您访问ComfyUI示例查看ComfyUI官方提供的一些工作流示例。

    image

  2. 您可以在图片区Load Image对话框选择choose file to upload导入需要制成“黏土风格”的原图。为了获得更好的效果,建议使用人物肖像进行测试

    说明

    如果找不到该选项,可以滚动鼠标滚轮将模型放大。

    image

  3. 选择好原图,单击右侧Queue Prompt等待图片生成

    image

  4. 因为ComfyUI基于Serverless函数计算产品部署,因此生成第一张图的时候需要冷启动时间,第一张图生成需要等待30秒,后续每张图生成时间为2-5秒。

    image

进阶:管理模型及更多功能探索

25

当前已实现通过函数计算部署ComfyUI并生成图片的功能。您还可以通过自定义模型和节点等操作以满足您实际业务场景下的个性化需求。如果您需要将生成的绘画进行保存、下载等操作,则需要存储,这里以文件存储NAS为例,下面介绍具体的操作方法。

绑定文件管理NAS。通过函数计算控制台的网络配置,绑定专有网络、交换机。若无相关资源,需要先创建。

  1. 进入到函数计算控制台 > 应用在应用页面,单击目标应用进入应用详情

    环境详情页签,选择资源信息下的函数名称进入函数。

    image

  2. 在配置NAS文件存储之前,您需要为函数配置VPC网络访问能力。

    函数详情页签,选择配置页签,在左侧导航栏,单击网络,然后进行编辑,配置完成后单击部署

    • 自动配置

      如果您之前未创建过NAS文件系统,可以选择自动配置函数计算会为您自动创建专有网络、交换机和安全组等资源,无需您手动创建。创建完成后,也可再次按需修改。

    • 自定义配置

      如果您之前创建过NAS文件系统,并且希望使用已有的NAS文件系统进行挂载,可以选择自定义配置,然后依次选择专用网络交换机安全组信息,这些信息需要和NAS文件系统专有网络交换机信息保持一致。

    重点配置项如图,如果您没有特殊要求,请按照图片进行配置。

    image

  3. 函数详情页签,选择配置页签,在左侧导航栏,单击存储,单击NAS 文件系统编辑,进行NAS挂载设置。

    • 自动配置

      如果您未创建过NAS,可以选择自动配置函数计算将自动为您部署所有配置,单击部署

    • 自定义配置

      进行NAS挂载设置,依次选择NAS 文件系统挂载点数据传输方式。输入远端目录/mnt/auto/comfyui,输入函数本地目录/mnt/auto。配置完成后单击部署

      说明

      如果您曾经在当前NAS中使用过Stable Diffusion应用,可以考虑将远端目录设置为/fc-stable-diffusion-plus,本地目录设置为/mnt/auto

      大模型对文件 IO 要求较高,建议创建通用性能型 NAS 实例,NAS会根据存储的文件大小进行计费,不同规格的 NAS 计费单价不一致,请参考计费概述

    image

  4. 函数详情页签,单击实例,再点登录实例进入ComfyUI终端。

    函数计算支持登入运行中的函数实例,建议您在终端中执行需要的操作(如手动安装自定义节点、依赖等)。

    重要

    在Serverless环境下,您的所有改动都不会真正保存,您需要将改动的文件放置在NAS中以持久化。

    image

  5. 访问NAS文件夹。

    通过在NAS控制台创建一个NAS浏览器应用,使访问NAS文件系统像访问本地文件系统一样便捷。

    1. 登录NAS控制台

    2. 在左侧导航栏选择文件系统列表,选择目标文件系统ID/名称。在目标文件系统的操作列,单击image.png图标 > 浏览器,根据页面提示完成应用创建。

      image.jpeg

    3. 在函数计算应用面板可查看新创建的应用。

      登录函数计算控制台,在左侧导航栏,单击应用。单击目标应用进入,您可以在环境详情页签单击访问域名进行文件管理。

      image

    4. 借助文件存储NAS的文件浏览器功能,您可以方便地进行云上文件管理。

      image

完成及清理

10

在本方案中,您部署了ComfyUI应用使用了函数计算产品,创建了函数资源,创建模型管理器使用了文件存储 NAS产品,增加了NAS挂载点。函数计算的函数不调用不会计费,文件存储 NAS只要有模型存储在NAS文件系统下,就会收费。

  • 删除ComfyUI使用的函数

    1. 登录函数计算控制台,在左侧导航栏,单击应用

    2. 在应用页面,找到目标应用,单击右侧操作列的删除应用

    3. 在弹出的对话框,勾选我已确定资源删除的风险,依旧要删除上面已选择的资源,然后单击删除应用及所选资源

      image

  • 删除模型管理器使用的NAS

    1. 登录NAS文件存储控制台,在左侧导航栏选择文件系统 > 文件系统列表

    2. 在文件系统列表,找到目标文件系统,在其右侧操作列,单击image,然后单击删除

      image

    3. 在弹出的对话框中,单击移除,移除挂载点,然后再单击删除

      image