部署和调用eb绘画服务人工智能平台

Stable Diffusion是强大的图像生成模型,能够生成高质量、高分辨率的图像,并具有良好的稳定性和可控性。Stable Diffusion WebUI开源项目在模型的基础上进行封装,基于Gradio开发了可视化图形界面,为用户提供了丰富的生图工具。EAS提供了场景化部署方式,您只需配置几个参数,即可一键部署基于Stable Diffusion WebUI的服务。您可以使用该服务进行模型推理,实现基于给定文本生成相应图像的功能。本文为您介绍如何部署和调用Stable Diffusion WebUI服务,以及常见问题的解决方法。

通过EAS实现Stable Diffusion WebUI的云端快速部署与应用,具体功能与优势如下:

使用便捷:快捷部署,开箱即用;可根据需求动态切换GPU等底层资源。

企业级功能:前后端分离改造,支持多用户对多GPU的集群调度;支持用户隔离;支持账单拆分。

插件及优化:在Stable Diffusion WebUI开源版本的基础上,提供了PAI-Blade性能优化工具;提供FileBrowser插件,允许用户在桌面端上传和下载云端模型、图片;提供自研的ModelZoo插件,支持开源模型下载加速。

场景化部署提供了4个版本:标准版、API版、集群版WebUI和Serverless版。不同版本主要区别如下:

适用场景

支持的调用方式

计费

标准版

推荐单用户测试验证时使用。只适用于部署单个实例。

WebUI

在线调试

API调用(同步)

API版

系统将自动转换服务为异步模式,适用于高并发场景。

API调用(同步&异步)

集群版WebUI

适合多人共同使用WebUI的场景。如企业内设计团队多人协同使用。

WebUI

Serverless版

需求波动较大的场景,可根据您的服务请求量自动弹性伸缩。

WebUI

服务部署完全免费,只根据使用出图的时长进行计费。

API版:API版建议结合EAS异步队列使用。系统会创建队列服务实例,因此需要分配额外的CPU实例。

集群版WebUI:每个用户有独立的后端环境和工作目录,实现高效的GPU共享和文件管理。

Serverless版:目前,仅华东2(上海)、华东1(杭州)地域支持部署Serverless版服务。

请提前准备NAS或OSS存储空间,用来存放模型文件和生成的图片。

支持以下三种部署方式:

支持部署标准版、API版、集群版WebUI和Serverless版的服务。具体操作步骤如下:

在模型在线服务(EAS)页面,单击部署服务,然后在场景化模型部署区域,单击AI绘画-SDWebUI部署。

在AI绘画-SDWebUI部署页面,配置以下关键参数。

参数

描述

基本信息

版本选择

模型配置

用来存放模型文件和推理生成的图片。

API版和集群版必须进行模型配置。

单击添加按钮,进行模型配置,支持以下两种配置类型:

对象存储(OSS):使用OSS上传和下载数据更方便,能够为生成后的图像生成公网访问地址,但切换模型和保存图像的速度比NAS慢。配置OSS为已创建的OSS存储空间(Bucket)路径。

文件存储(NAS):切换模型和保存图像的速度更快。仅标准版、API版和集群版WebUI支持该配置类型。

NAS挂载点:选择已创建的NAS文件系统和挂载点。

NAS源路径:配置为/。

本文以挂载OSS为例来说明。

资源配置

资源配置选择

仅标准版、API版和集群版WebUI需要进行资源配置。

推理加速

支持启用推理加速功能,取值如下:

PAI-Blade推理加速:PAI-Blade是PAI推出的通用推理优化工具,对训练完成的模型进行优化,从而达到最优的推理性能。

开源框架xFormers推理加速:xFormers是基于Transformer的开源加速工具,能够有效缩短图片生成时长。

无加速:表示不启用推理加速功能。

专有网络配置

VPC

当模型配置选择文件存储(NAS)时,系统会自动匹配与NAS所在VPC相连通的专有网络,无需进行额外的修改。

交换机

安全组名称

参数配置完成后,单击部署。

支持部署标准版、API版和集群版WebUI服务。具体操作步骤如下:

单击部署服务,然后在自定义模型部署区域,单击自定义部署。

在自定义部署页面,配置以下关键参数。

参数

描述

环境信息

部署方式

部署标准版和集群版WebUI服务时,选择镜像部署,并选中开启Web应用。

部署API版服务时,选择镜像部署,并选中异步服务。

镜像配置

在官方镜像列表中选择stable-diffusion-webui,镜像名称选择最高版本,其中:

x.x-standard:表示标准版。

x.x-api:表示API版。

x.x-cluster-webui:表示集群版WebUI。

由于版本迭代迅速,部署时镜像版本选择最高版本即可。

当需要实现多人同时使用一个Stable Diffusion WebUI出图时,您可以选择x.x-cluster-webui版本。

模型配置

用来存放模型文件和推理生成的图片。

API版和集群版必须进行模型配置。

支持以下几种配置类型:

OSS

Uri:将OSS路径配置为已创建的OSS Bucket路径。

挂载路径:配置为/code/stable-diffusion-webui/data。

NAS

选择文件系统:选择已创建的NAS文件系统。

文件系统挂载点:选择已创建的挂载点。

文件系统路径:配置为/。

挂载路径:配置为/code/stable-diffusion-webui/data。

PAI模型

PAI模型:选择PAI模型和模型版本。

挂载路径:配置为/code/stable-diffusion-webui/data。

本文以OSS挂载为例来说明。

运行命令

完成上述配置后,系统将自动生成相应的运行命令。

填写模型配置后,您需要在运行命令中增加参数--data-dir,将数据挂载到服务实例的指定路径。要求路径与挂载路径一致,如 --data-dir /code/stable-diffusion-webui/data,

资源信息

部署资源

服务接入

专有网络(VPC)

当模型配置选择NAS时,系统会自动匹配与NAS所在VPC相连通的专有网络,无需进行额外的修改。

交换机

安全组名称

参数配置完成后,单击部署。

您可以使用JSON独立部署方式,来部署Stable Diffusion WebUI服务,以下以标准版和API版为例,具体操作步骤如下:

在模型在线服务(EAS)页面,单击部署服务,在自定义模型部署区域,单击JSON独立部署。

在JSON独立部署页面编辑框中,配置以下JSON格式的内容。

其中关键参数说明如下:

参数

是否必选

描述

自定义模型服务名称,同地域唯一。

storage

支持以下两种挂载方式,任意选择一种即可:

本文以挂载OSS为例来说明。

当storage使用NAS挂载时,您需要配置专有网络,包括vpc_id(专有网络ID)、vswitch_id(交换机ID)和security_group_id(安全组ID),且配置的专有网络需要与通用型NAS文件系统保持一致。

相较于标准版服务的配置,以下是API版服务的配置变更,其他参数配置与标准版服务相同。

参数

描述

删除以下参数:

删除该参数,表示不开启webserver。

新增以下参数:

配置为Async,表示打开异步服务。

配置为1,单个实例只允许并发处理一个请求。

配置为1,消息处理错误后不允许重试。

单击部署。

通过WebUI,您可以调用标准版、集群版WebUI和Serverless版的服务。具体操作步骤如下:

服务部署成功后,单击目标服务的服务方式列下的查看Web应用。

进行模型推理验证。

在Stable Diffusion WebUI页面文生图页签中,输入正向提示词Prompt,例如cute dog,然后单击生成,即可完成AI绘图,效果图如下:

标准版和API版服务支持API调用。API调用支持同步调用和异步调用两种方式,其中标准版服务仅支持同步调用,API版服务支持同步调用和异步调用方式。

同步调用:即客户端发送一个请求,同步等待结果返回。

异步调用:即客户端使用EAS的队列服务向输入队列发送请求,并通过订阅的方式从输出队列查询结果。

标准版和API版服务部署成功后,您可以参照以下操作步骤发送同步接口请求。

查询调用信息。

服务部署成功后,单击服务名称,进入概览页面。

在基本信息区域中,单击查看调用信息。

在调用信息页面,查询服务访问地址和Token。

使用以下几种方式发送同步接口请求。

示例如下:

其中:

命令执行成功后,系统会返回图像的Base64位编码。

示例1(推荐):建议您为EAS服务挂载OSS来保存生成后的图像。以下示例在请求体中设置保存地址为OSS挂载路径,实现了将图像直接保存至OSS,并且使用了oss2 SDK获取OSS中的图像下载到本地。

其中关键配置说明如下:

配置

描述

url

将<service_url>替换为步骤1中查询到的服务访问地址。您需要将访问地址末尾的/删除。

bucket

其中:

<examplebucket>需要替换为已创建的OSS存储空间(Bucket)名称。

<token>

替换为步骤1中查询到的服务Token。

mount_path

配置为部署服务时配置的OSS挂载路径。

oss_url

配置为部署服务时配置的OSS存储路径。

示例2:保存图像至本地路径。执行以下Python代码,会返回图像的Base64位编码,并将图像文件保存至本地目录。

其中:

<service_url>:替换为步骤1中查询到的服务访问地址,您需要将访问地址末尾的/删除。

<token>:替换为步骤1中查询到的服务Token。

此外,您还可以在请求数据中使用LoRA和Controlnet数据格式,以实现特定的功能。

请求体配置示例如下:

API版服务部署成功后,您可以向该服务发送异步接口请求,即客户端不再同步等待结果,通过订阅的方式在请求计算完成后等待服务端的结果推送。具体操作步骤如下:

查询调用信息。

客户端通过异步接口向服务端发送请求,支持使用Python SDK和Java SDK两种方式。

异步队列对输入请求和输出结果的大小都有限制,通常不建议超过8 KB。因此,在发送请求时,需要满足以下两个条件:

如果请求数据中包含图片,建议使用URL来传递图片信息。Stable Diffusion WebUI内部会自动下载并解析这些图片数据。

示例代码如下:

其中:

<service_url>:替换为步骤1中查询到的服务访问地址。您需要将访问地址末尾的/删除。

<token>:替换为步骤1中查询到的服务Token。

可以支持WebUI服务的所有POST接口,按照需求请求对应路径。

如果您需要在该服务中透传业务属性,可以使用url参数的方式指定属性标签。例如,您可以在response的url参数中添加参数?task_id=task_abc来指定标签为task_id,并且该信息会在服务的输出结果中的tags字段中体现。

示例代码如下。

其中:

queueEndpoint:配置为步骤1中获取的服务访问地址。请参考示例代码进行相应的配置。

queueToken:配置为步骤1中获取的服务Token信息。

<service_name>:替换为已部署的异步服务名称。

如果您需要在服务中透传业务属性,可以在put函数中设置tag参数。在示例中,您可以参考自定义tag的用法。这些信息会在输出结果的tags属性中体现。

代码执行成功后,系统输出如下结果。您的结果以实际为准。

异步订阅结果。

客户端采用订阅方式,一旦服务端完成相关请求的处理,便会自动推送结果至客户端,实现高效异步通信。支持使用PyThon SDK和Java SDK两种方式异步订阅结果。

示例代码如下:

其中关键配置说明如下:

配置

描述

sink_queue

参考示例代码格式,将sd_async替换为已部署的异步服务名称。

<token>

需要配置为步骤1中获取的服务Token信息。

oss_url

替换为部署服务时配置的OSS存储路径。

bucket

其中:

<examplebucket>需要替换为已创建的OSS存储空间(Bucket)名称。

需要主动进行commit操作,也可以设置auto_commit=True来自动进行commit操作。

如果consumer不再消费数据,需要及时关闭以释放资源。

示例代码如下:

其中:

queueEndpoint:配置为步骤1中获取的服务访问地址。请参考示例代码进行相应的配置。

queueToken:配置为步骤1中获取的服务Token信息。

<service_name>:替换为已部署的异步服务名称。

需要主动进行commit操作,也可以设置auto_commit=True来自动进行commit操作。

如果consumer不再消费数据,需要及时关闭以释放资源。

您可以为Stable Diffusion WebUI配置插件,以实现更加多样化的功能。PAI预置了丰富的插件,例如PAI自主研发的BeautifulPrompt插件,用来实验Prompt的扩写和美化。下文将以BeautifulPrompt插件为例,为您介绍插件的安装和使用方法。

您可以在WebUI页面的扩展页签中,查看并安装插件。具体操作步骤如下:

在安装插件时,WebUI页面将会自动重启,待重新加载完成后即可进行推理验证。

PAI提供了多个Prompt生成模型,每个模型生成的Prompt略有不同。其中:

pai-bloom-1b1-text2prompt-sd-v2:擅长生成复杂场景下的Prompt。

pai-bloom-1b1-text2prompt-sd:生成描述单个物体的Prompt。

选择需要使用的Prompt,单击Prompt右侧的to txt2img。

与不使用BeautifulPrompt插件相比,使用BeautifulPrompt插件可以提升生成图像的美观度,并且帮助您补充更多细节。其他场景使用BeautifulPrompt插件前后效果对比如下:

输入Prompt

不使用BeautifulPrompt的效果

使用BeautifulPrompt的效果

a cat

a giant tiger

其中:

models:该目录用来存放模型文件。

发起推理请求后,系统将按照API代码中预设的配置,自动将结果文件输出至该目录中。

您可以将从开源社区下载的模型或自己训练得到的LoRA或Stable Diffusion等模型存放于上述指定目录中,以便加载使用新的模型。具体操作步骤如下:

在Stable Diffusion WebUI页面切换模型,进行模型推理验证。

您可以先尝试重新打开Stable Diffusion WebUI界面或重启EAS服务来解决:

单击目标服务服务方式列下的查看Web应用,重新打开Stable Diffusion WebUI。

在Stable Diffusion WebUI页面单击设置。

在左侧导航栏单击用户界面,在右侧页面本地化区域,选择无。

在Stable Diffusion WebUI页面上方,单击保存设置,保存成功后单击重载前端。

重新刷新WebUI页面,即可切换为英文。

在部署标准版、集群版WebUI服务时,系统已默认在运行命令中增加了--filebrowser参数,您可以直接通过WebUI界面管理您的文件系统。具体操作步骤如下:

服务部署完成后,单击服务方式列下的查看Web应用。

在Stable Diffusion WebUI页面,单击FileBrowser页签。您可以直接查看文件系统,或进行上传、下载操作。

检查部署版本。如果是API版(镜像为x.x-api)或者集群版WebUI(镜像为x.x-cluster-webui),必须进行模型配置。

检查挂载路径。请检查运行命令中是否有--data-dir参数,并且需要保证其路径与OSS的挂载路径一致。

请检查服务部署版本,API版不支持使用WebUI。如使用自定义部署,x.x-api的镜像是API版。

公共参数

公共参数

功能说明

使用建议

--blade

启用PAI-blade加速,提升出图速度。

建议开启。

--filebrowser

支持您自主上传、下载模型或图片的插件。

默认启用。

--data-dir /code/stable-diffusion-webui/data-oss

持久化存储挂载使用的路径。

挂载持久化存储时使用,默认起始路径为/code/stable-diffusion-webui/,也可以使用相对路径。

--api

WebUI的API调用模式。

默认启用。

--enable-nsfw-censor

默认关闭。如果您有安全合规需求,则可以选择开启鉴黄过滤功能。

根据业务需要进行调整。

--always-hide-tabs

指定部分Tab页处于隐藏状态。

根据业务需要进行调整。

--min-ram-reserved 40 --sd-dynamic-cache

缓存Stable Diffusion大模型到内存中。

无。

集群版参数

ckpt的大模型和ControlNet的大模型会自动加载公共目录下的文件和您自定义的文件。

集群版参数

功能说明

使用建议

--lora-dir

指定公共LoRA模型目录,例如:--lora-dir /code/stable-diffusion-webui/data-oss/models/Lora。

默认不配置,用户的所有LoRA目录将被隔离,并且只加载用户文件夹中的LoRA模型。当指定特定目录后,所有的用户将同时加载该公共目录中的LoRA模型和用户文件夹中的LoRA模型。

--vae-dir

指定公共VAE模型目录,例如:--vae-dir /code/stable-diffusion-webui/data-oss/models/VAE。

默认不配置,用户的所有VAE目录将被隔离,并且只加载用户文件夹中的VAE模型。当指定特定目录后,所有的用户只加载该公共目录下的VAE模型。

--gfpgan-dir

指定公共GFPGAN模型目录,例如:--gfpgan-dir /code/stable-diffusion-webui/data-oss/models/GFPGAN。

默认不配置,用户的所有GFPGAN目录将被隔离,并且只加载用户文件夹中的GFPGAN模型。当指定特定目录后,所有的用户只加载该公共目录下的GFPGAN模型。

--embeddings-dir

指定公共embeddings模型目录,例如:--embeddings-dir /code/stable-diffusion-webui/data-oss/embeddings。

默认不配置,用户的所有embeddings目录将被隔离,并且只加载用户文件夹中的embeddings模型。当指定特定目录后,所有的用户只加载该公共目录下的embeddings模型。

--hypernetwork-dir

指定公共hypernetwork模型目录,例如:--hypernetwork-dir /code/stable-diffusion-webui/data-oss/models/hypernetworks。

默认不配置,用户的所有hypernetwork目录将被隔离,并且只加载用户文件夹中的hypernetwork模型。当指定特定目录后,所有的用户只加载该公共目录下的hypernetwork模型。

--root-extensions

插件目录使用共享目录。使用该参数后,所有用户看到的插件完全相同。

需要集中安装插件或集中管理插件时使用该参数。

EAS基于原生Stable Diffusion WebUI接口支持了一些新特性,在API接口中除了必填参数以外,还可以添加一些可选参数用于实现更加丰富的功能或定制化需求:

可以指定Stable Diffusion模型、VAE模型以及保存目录。

支持通过URL输入参数,并返回相应的状态码。

生成的图片和ControlNet所对应的图片可以通过URL进行访问。

具体使用示例如下:

请求数据格式示例如下:

其中关键参数说明如下:

sd_model_checkpoint:指定Stable Diffusion模型参数,并且可以自动切换到大模型。

sd_vae:指定VAE模型。

save_dir:指定生成图片的保存路径。

发送同步接口请求示例如下:

返回数据格式示例如下:

发送异步接口请求示例如下:

请求数据格式示例如下:

返回数据格式示例如下:

请求数据格式如下:

返回数据格式示例如下:

通过EAS,您还可以完成以下场景化部署:

关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务

THE END
0.Midjourney报告Midjourney - AI 绘画(中国) 加载项的滥用行为 如果你认为此加载项违反了 Microsoft Store 内容策略,请使用此表单。 选择滥用类别 * 威胁、网络欺凌、骚扰 骚扰是旨在打扰或扰乱一个人或一群人的任何行为。威胁包括任何自杀、暴力或伤害他人的威胁。 儿童危害或剥削 与儿童色情、儿童裸体或其他儿童虐待或剥削有jvzquC41okisq|thvgjhg7rketutqoy0eqs0cmiqpu5sgyttv1gpjmkffnrkcoqqnoqknmppdprceptggc
1.MidJourney怎么下载使用?AI绘图工具MidJourney安装驯化教程目前来说,聊天机器人比较让人惊讶的是它的写作和绘画能力。AI绘画的成品一度让画家、设计师们感到恐惧,按照这个趋势发展下去,感觉很多人的饭碗都不保了。 之前网上很火的一条新闻,一篇AI画作名叫《太空歌剧院》作品获得数字艺术一等奖,作者署名是Jason Allen via Midjourney:Jason Allen是一家游戏公司的CEO,而MidJojvzquC41yy}/lk:30pku1|thvli0:B;::9ebnu3jvor
2.AIGC时代算法工程师的面试秘籍(第二十二式2024.9.2AIGC知识板块:分为AI绘画、AI视频、大模型、AI多模态、数字人这五大AIGC核心方向。 AI通用知识板块:包含AIGC、传统深度学习、自动驾驶等所有AI核心方向共通的知识点。 Rocky已经将《三年面试五年模拟》项目的完整版构建在Github上:https://github.com/WeThinkIn/Interview-for-Algorithm-EnjvzquC41dnuh0lxfp0tfv8Wqem78A=1ctzjeuj1fgzbkux136856<736
3.人工智能在非物质文化遗产保护的运用平安集团旗下的平安科技参展的AI绘画给人带来耳目一新的感觉。其利用人工智能深度学习技术实现多种绘画功能,其中自动生成模型基于生成式对抗网络技术(GAN)生成逼真画作,风格转换和自动上色利用卷积神经网络(VGG、CNN)实现画作风格迁移与算法一键上色。用户可以通过文字输入或者勾勒线条作画,也能够通过选择图片,将其风格迁移jvzquC41yy}/i€~qq0ipo8qwpyko1€m|vn}0yqgjny532;5251=29A950jznn
4.AI绘画与教育:艺术教学中的创新应用技术原理:解析AI绘画的核心算法(GAN、Diffusion Model)与数学基础 教学应用:分场景阐述AI在基础教学、创作辅助、跨学科中的具体实践 实战指南:提供代码实现、工具使用与项目案例 资源与趋势:推荐学习工具、研究论文,分析未来发展挑战 1.4 术语表 1.4.1 核心术语定义 jvzquC41dnuh0lxfp0tfv8zpkxksu|p{42761jwvkerf1mjvckrt1:998:;13:
5.最新版本StableDiffusion开源AI绘画工具之图生图进阶篇自定义蒙版 原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。 如有侵权,请联系cloudcommunity@tencent.com删除。 人工智能 #人工智能 #stable diffusion #ai绘画 #图生图 【玩转 GPU】Stable-Diffusion Inpaint小知识:Masked content的作用 jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk04;;4;;6
6.AI画了个画app下载AI画了个画app下载一款非常优秀的手机ai绘画软件。这款软件能够帮助更多的人把自己脑海中的一些想法以真实的画作呈现出来。自己定义每幅画的关键词。完成后,系统可以结合强大的技术,帮助你快速生成相应的作品,并及时分享画作,哪怕没有绘画基础也不用担心,这款软件都能够很好的帮助你。 AI画了个画优势 1.更多人信jvzquC41crv/5mricok/exr1cpjsqri154952B3jvor