写点什么

7 分钟玩转 AI 应用,函数计算一键部署 AI 生图大模型

  • 2025-01-14
    浙江
  • 本文字数:5901 字

    阅读完需:约 19 分钟

人工智能生成图像(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. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。



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



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


重要:

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

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



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


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



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


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



  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 自制黏土风格滤镜

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


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


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



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


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



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



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


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

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


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


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


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



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


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


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

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


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



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


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

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


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


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



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


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


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



  1. 访问 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. 针对当前应用,角色权限可能会不足,此时需要单击前往授权为角色授予所需权限。



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



  1. 在应用详情页,单击 WebUI 域名右侧的域名,等待 1 分钟左右,进入 Stable Diffusion WebUI 页面。


重要:

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

  • ****.devsapp.net 域名为 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发 30 天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。具体操作,请参见配置自定义域名 [ 9]

  • 如果未绑定自定义域名,且部署的应用已超过 30 天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载 NAS,即可正常使用。



  1. 进入 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. 在应用详情页,单击初始化模型管理,开始实现模型管理功能。



  1. 在弹出的对话框,了解创建上述资源的目的以及部分资源可能产生的费用,了解对应的计费规则,并决定继续部署,勾选下方的复选框,然后单击下一步



  1. 在初始化模型管理对话框,挂载 NAS 存储并设置模型管理密钥,然后单击下一步。


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

  • 手动配置: 如果您之前创建过 NAS,并且希望继续进行挂载,可以选择手动配置,然后依次选择专用网络、交换机、安全组、文件系统及挂载点信息。


由于 Stable Diffusion 只支持/mnt/auto 目录,因此您至少需要有一个挂载点的 FC 目录是/mnt/auto。




  1. 等待模型初始化后,在应用详情页面,您可以看到模型管理域名,单击此域名进入模型管理器进行模型管理。



  1. 如果您上一步设置了模型管理密钥,在模型管理器登录页面输入设置的密钥,然后单击登录进入模型管理器。


说明:为了给您提供更好的服务,当您在右上角看到更新提醒时,请单击更新至最新版。




6.(可选)从本地上传自定义模型。您可以从 ModelScope [ 11] 平台下载更多模型权重。


本文以上传一个 LoRA 模型为例进行介绍。在模型管理器页面,在左侧导航栏,单击文件管理,然后单击 LoRA 目录,再单击上传开始上传您的模型。


上传完成后,您可以在对应目录下查看刚刚上传的文件。


说明:上传依赖速度取决于您的网络稳定程度,如果网络不稳定可能会导致上传失败或文件损坏。




7.(可选)选择函数计算内置的模型。


为了帮助您更好地快速部署模型,函数计算内置了模型仓库,您可以在左侧导航栏,单击模型库,在模型库选择自己喜欢的模型,单击下载模型,下载模型到指定目录。


重要:模型仓库由阿里云 OSS 提供,模型/数据集/文件均来源于第三方,无法保证内容合规性,请您在使用前慎重考虑。



8.(可选)在弹出的文件下载确认对话框,确认模型下载目录,然后单击下载选中的模型。


当上传队列区域的进度条显示 100%,表示模型已经成功上传到 NAS 文件系统。


上传完成后,刷新 Stable Diffusion 模型列表,即可看到已经上传的模型。




9.(可选)使用上一步下载的模型,使用默认提示词,然后单击生成。您可以看到生成的图片风格与之前的风格不同。


如果模型选择列表中找不到您已下载的模型,单击模型选择右侧的刷新图标刷新后重试。



相关链接:


[1] 配置自定义域名


https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/configure-custom-domain-names#title-v5p-8zy-vdy


[2] 配置预留实例


https://help.aliyun.com/zh/functioncompute/fc-3-0/user-guide/configure-provisioned-instances-and-auto-scaling-rules-1#title-kt8-rn7-e3k


[3] workflow.json


https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20240607/buqsmv/d8094774-20fc-423d-8d31-9a410ec1bf77.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


https://modelscope.cn/models

用户头像

阿里云云原生 2019-05-21 加入

还未添加个人简介

评论

发布
暂无评论
7分钟玩转 AI 应用,函数计算一键部署 AI 生图大模型_阿里云_阿里巴巴云原生_InfoQ写作社区