检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能应用类实践 使用FunctionGraph函数和CTS识别非法IP的登录登出操作 使用FunctionGraph函数定时开关华为云ECS 使用FunctionGraph函数作为后端实现APIG的自定义认证能力 使用FunctionGraph部署AI绘画Stable Diffusion应用
AI绘图功能主体,可通过其APIG触发器访问ComfyUI界面。 custom_models_tool 可通过其APIG触发器管理应用资源,如模型、插件的上传和图片下载等。 表2 AI绘画ComfyUI+FLUX应用关键函数服务功能 函数资源逻辑名称 功能说明 flux AI绘图功能主体,可通过其APIG触发器访问ComfyUI界面。
来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。 函数流 函数流是用来编排FunctionGraph
单击“创建函数”,进入“创建函数”界面。 输入以下信息。 参数 参数说明 模板 选择“使用空模板”。 函数名称 输入您自定义的函数名称,用于识别不同的函数。 所属应用 选择“default”。 委托名称 选择“不使用任何委托”。 描述 输入您对函数的描述信息,可以不填。 运行时语言
确保所有相关资源均部署于该区域。 使用Moderation审核生成结果 Stable Diffusion是一种AIGC推理模型,使用其生成图片的最终结果会因提示词、模型选择的不同存在较大的不确定性,容易存在违规风险,建议在使用过程中配合华为云Moderation对生成结果进行审核
码。 设置环境变量obs_output_bucket,用于灵活设置存储输出图片的OBS桶。 图2 环境变量 在函数代码中使用环境变量。 在如下函数代码片段中,参数“obs_output_bucket”为图片处理后存储地址。 非HTTP函数使用context.getUserData('xxx')方式获取环境变量。
UX应用仅限于“华东-上海一”区域,请确保所有相关资源均部署于该区域。 使用Moderation审核生成结果 使用开源AIGC推理模型生成图片的最终结果会因提示词、模型选择的不同存在较大的不确定性,容易存在违规风险,建议在使用过程中配合华为云Moderation对生成结果进行审核
用方法。(当前除华北-乌兰察布一、拉美-圣保罗一外,其他区域均支持。) 使用SMN触发器 使用OBS触发器 本节介绍创建OBS触发器,上传图片压缩包至存储桶,产生事件触发函数运行,供用户了解OBS触发器的使用方法。OBS触发器创建以后,不能停用,只能删除。 使用EventGrid触发器(OBS应用事件源)
WebUI界面。 custom_models_tool 可通过其APIG触发器管理Stable Diffusion应用资源,如模型、插件的上传和图片下载等。 步骤二:使用默认模型和临时域名进行AI绘画 如图4所示,单击应用详情界面的“开始使用”,进入Stable Diffusion W
WebUI界面,即可看到新传入的模型。 单击右上角“生成”开始进行AI绘画,如图9所示,结果图片会自动保存到“/home/user1/share/sd/outputs/txt2img/202x-xx-xx”目录下。 图9 图片保存目录 父主题: 使用FunctionGraph部署AI绘画Stable
单击的“创建依赖包”,弹出“创建依赖包”对话框。 参考表1配置依赖包参数。 表1 依赖包配置参数说明 参数 说明 依赖包名称 自定义依赖包名称,便于识别不同的依赖包。 运行时 选择运行时语言。 代码上传方式 分为上传ZIP文件和从OBS上传ZIP文件。 上传ZIP文件:单击“添加文件”,上
24小时)进行重试。重试次数和配置的最大重试次数一致,重试有效期和配置的消息最大有效期一致。 幂等性 在编程中,幂等性指应用程序或组件具备识别重复事件和防止重复、不一致或数据丢失的能力。若需要函数保持幂等性,则可以通过函数逻辑设计来正确处理重复的事件。 幂等函数逻辑有助于减少以下问题:
保存ComfyUI的各类模型文件。 comfyui/custom_nodes 保存ComfyUI的自定义节点。 comfyui/outputs 保存图片生成结果。 上传完成后,单击“开始使用”进入ComfyUI界面,即可使用上传的自定义模型和节点进行AI绘画操作。加载过程可能耗时较长,请耐心等待。
配置函数的别名 FunctionGraph支持为函数创建别名,并关联指定版本的函数。客户端通过别名调用函数时,即可调用到指定版本的函数。在实际业务场景下,可以通过修改在别名上配置的版本,实现函数版本的更新和回滚,客户端无感知。 一个别名支持配置最多两个函数版本,并为两个版本分配不同的权重,实现灰度发布。
实现打水印功能的py文件 |--- watermark.png 水印图片 Java工程ZIP包目录示例 Example.zip 示例工程包 |--- obstest
http://localhost:${PORT}`); }); 创建一个package.json文件,此文件用于向npm提供信息,使其能够识别项目以及处理项目的依赖关系。 { "name": "custom-container-http-example", "version":
http://localhost:${PORT}`); }); 创建一个package.json文件,此文件用于向npm提供信息,使其能够识别项目以及处理项目的依赖关系。 { "name": "custom-container-event-example", "version":
如何读取函数的请求头? 函数入口中的第一个参数里面包含请求头,您可以打印函数执行结果,从而获取想要的字段。 如下图,event为函数入口的第一个参数,headers为请求头。 父主题: 配置函数
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。