【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

2024-06-09 1173阅读

【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

文章目录

    • 一、前言
    • 二、什么是高性能应用服务HAI
      • HAI的应用场景
      • HAI的使用流程
      • 三、文章内容介绍
      • 四、基于HAI创建SD实例
      • 五、设置 StableDiffusionWebUI为中文
      • 六、构建SD API
      • 七、搭建标签提词平台
      • 总结

        一、前言

        最近有幸参与了腾讯云举办的 高性能应用服务HAI 体验活动。在这个过程中,通过了解 HAI 的产品和实践,让我受益非浅,原来搭建一个大模型这么简单,在看到活动的介绍和微信群的讲解后,我马不停蹄地开始了自己摸索。今天我们要构建的应用是标签提示词应用,为什么会需要这个呢?我们发现在 SD 作图的过程中,老是需要去找各种提示词,去翻译,毕竟 SD 还不能理解中文,那能不能找很多基础的提示词,作为原子提示词,然后我们只需要通过点击提示词就构成最终的提示词,并且还能实时预览,在没遇到 HAI 之前,我还在天天折腾怎么搭建 SD,导致应用的开发耽误了很长时间,这次使用 HAI 发现只要不到 1小时就能把整个程序构建起来

        下面就来整理,分享一下我的操作和感悟,希望能够帮助到其他同学。

        二、什么是高性能应用服务HAI

        什么是高性能应用服务HAI?倒不如说为什么HAI会诞生,在AIGC的浪潮下,AI应用部署及使用难,中小企业、开发者望尘莫及,公司没有AI开发者该如何让AI赋能企业呢?AI开发者如何更高效地进行AI应用开发?

        我们平时搭建一个AI应用往往很复杂,流程也很繁琐,像一开始需要进行:GPU选型、驱动安装、CUDA安装、版本兼容、软件部署扩缩策略、Linux运维、云架构搭建、数据集/模型维护… 让很多开发者望而却步,这个时候 HAI 这根救命稻草就出现了,HAI 将底层 GPU、网络、存储等一系列环境都进行屏蔽,作为开发者,我们可以聚焦在业务开发上,随时可以1分钟搭建一个私人模型或私人GPU空间

        【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

        高性价比云资源,按量付费,无需关心云上运维

        【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

        HAI的应用场景

        • AI作画
        • AI对话/写作
        • 数据科学
        • AI开发测试
        • 【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          HAI的使用流程

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          三、文章内容介绍

          预览效果如下:

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          本次我们使用 腾讯云高性能应用服务 HAI 体验快速搭建并使用AI模型 StableDiffusion ,实现思路如下:

          1、基于 高性能应用服务HAI 一键部署 StableDiffusion AIGC

          2、通过 JupyterLab 链接算力进行 StableDiffusion API 的部署

          3、构建SD标签提示词应用实时获取SD图片

          4、通过腾讯云 Cloud Studio 云端构建

          四、基于HAI创建SD实例

          HAI官方网站:https://cloud.tencent.com/act/pro/hai,目前还处于内测阶段,想提前体验的可以申请资格喔

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          进入 高性能应用服务 HAI 控制台

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          点击 新建 选择 AI模型,参照下图进行配置

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          创建完成,查看相关状态

          【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

          五、设置 StableDiffusionWebUI为中文

          • 算力连接

            HAI 可以通过多种方式进行 实例链接,如 NoteBook、WebUI、传统终端等等

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            这里我们可以通过 HAI 提供给我们的 Gradio WebUI 进行算力连接,在线体验 SD 模型

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            使用 高性能应用服务HAI 部署的 StableDiffusionWebUI 配置简体中文语言包,我们需要通过 SD中文扩展实现 Web UI中文化

            SD扩展可以在 Extension 选项卡里面通过加载官方插件列表直接安装,点击 Extension 选项卡,选择 Avaliable 子选项卡,取消勾选 localization ,再把其他勾上,然后点击 Load form,如下图,加载插件时,请耐心等待

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            在输入框中查找插件关键字: zh_CN

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            确认插件安装完成后,重启服务

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            重启后,选择 Settings 中 User Interface 选项,下拉选择语言 zh_CN ,点击 Apply settings 保存设置 ,并 Reload UI 重启服务。

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            整个交互界面就变成中文了

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            六、构建SD API

            我们通过 Jupyterlab 进行算力连接

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            进入终端后,执行以下命令开启 API 服务

            cd /root/stable-diffusion-webui
            python launch.py --nowebui --xformers --opt-split-attention  --listen --port 7862
            

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            开启后,我们需要添加 高性能应用服务HAI 的端口配置,才能让外部网络能够顺利地访问该服务器提供的API服务

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            来源:0.0.0.0
            协议端口:TCP:7862
            

            配置完成后输入 服务器IP地址:端口号 /docs 可查看相关的 API 接口 swagger 使用指南

            【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

            官方提供的api常用的有几个:

            /sdapi/v1/txt2img 文字生图 POST
            /sdapi/v1/img2img 图片生图 POST
            /sdapi/v1/options 获取设置 GET | 更新设置 POST(可用来更新远端的模型)
            /sdapi/v1/sd-models 获取所有的模型 GET
            

            查看相关接口示例 ( /sdapi/v1/txt2img ) :

            常用参数输入如下

            {
                 "denoising_strength": 0,
                 "prompt": "puppy dogs",
                 "negative_prompt": "",
                 "seed": -1,
                 "batch_size": 2,
                 "n_iter": 1,
                 "steps": 50,
                 "cfg_scale": 7,
                 "width": 512,
                 "height": 512,
                 "restore_faces": false,
                 "tiling": false,
                 "sampler_index": "Euler" 
            }
            

            参数描述

            名称说明
            prompt提示词
            negative_prompt反向提示词
            seed种子,随机数
            batch_size每次张数
            n_iter生成批次
            steps生成步数
            cfg_scale关键词相关性
            width宽度
            height高度
            restore_faces脸部修复
            tiling可平铺
            sampler_index采样方法
            • 通过 postman 测试一下

              【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用API 测试成功后就可以构建我们的应用进行对接了。

              七、搭建标签提词平台

              我们的应用核心就是解决提示词每次都需要去查找,那么有没有一些原子提示词,然后使用者只需要选择就可以呢?今天我们构建的标签组合提示词应用就是这样,通过构建多个人物部分的标签词,然后直接对接 HAI 的 SD 模型,在线选配、在线生成,

              效果如下:

              【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

              为了方便大家部署以及体验,我将代码已经放到github中:https://github.com/TestsLing/ai-prompt-generator,如果大家想自己部署的可以通过 腾讯云 cloud studio 进行一键部署:https://ide.cloud.tencent.com/,云端IDE、云端环境,0配置直接在线预览

              如果不想部署的小伙伴可以访问我的 cloud studio 预览地址:https://ecqkua-todjez-8080.app.myide.io/#/

              • 进入 cloud studio 控制台,新建工作空间

                仓库地址填我提供的就可以了,环境我们需要 node,选择 18版本,点击新建即可进入环境

                【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

                • 安装项目依赖

                  进入之后我们需要先把依赖安装一下,执行以下命令进行依赖安装

                  npm install
                  

                  【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

                  • 预览

                    依赖安装完成后,就可以进行预览了,执行以下命令进行预览

                    npm run serve
                    

                    【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用我在预览的时候发现提示非法的主机头,只是一个安全策略,我们需要在 vue.config.js 中配置一下,因为我这里是 vue3,配置的是:

                    allowedHosts: 'all',
                    

                    有些其他的可能是配置:

                    disableHostsCheck: true
                    

                    配置好后,我们重新启动,执行 npm run serve 即可正常预览

                    【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

                    • 配置 SD API 地址

                      为了能够正常出图,我们需要把 HAI 的 SD API 地址配置在 proxy 中,根据自己的 HAI 实例去配置即可

                      【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用配置完成后,我们通过 cloud studio 的预览地址访问,发现这个时候就已经可以在线体验 SD 出图

                      【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

                      这边通过 JupyterLab 终端也可以看到每次出图的日志信息

                      【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

                      总结

                      高性能应用服务 HAI 总体体验下来还是非常不错,本来这个应用我搭建环境都得好长时间,并且也没有足够的 GPU 资源,通过 HAI 全部搞定。通过HAI 可以非常轻松地构建一个标签提取和组合提示词的应用,并实时调用StableDiffusion API进行图像生成预览。整个部署流程非常顺畅,也不需要自己配置环境和维护模型。

                      HAI为我们提供了极大的便利,使我们能更加专注于模型和业务的创新,而不用花费大量时间在基础环境和流程的配置上。我相信HAI一定会让更多的开发者、中小企业受益。目前看只是支持的模型数是比较有限的,希望以后能支持更多的模型,还有就是在启动效率如果能更近一步做到遥遥领先那就非常完美了,期望未来的HAI能越来越好!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]