前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【腾讯云HAI域探秘】构建SD绘画标签组合提示词应用

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

原创
作者头像
憧憬博客
发布2023-12-13 16:00:24
3160
发布2023-12-13 16:00:24
举报
文章被收录于专栏:憧憬博客分享憧憬博客分享
在这里插入图片描述
在这里插入图片描述

@TOC

一、前言

最近有幸参与了腾讯云举办的 高性能应用服务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的应用场景

  • AI作画
  • AI对话/写作
  • 数据科学
  • AI开发测试
  • ...
在这里插入图片描述
在这里插入图片描述

HAI的使用流程

在这里插入图片描述
在这里插入图片描述

三、文章内容介绍

预览效果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本次我们使用 腾讯云高性能应用服务 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 控制台

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

创建完成,查看相关状态

在这里插入图片描述
在这里插入图片描述

五、设置 StableDiffusionWebUI为中文

  • 算力连接

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

六、构建SD API

我们通过 Jupyterlab 进行算力连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

代码语言:shell
复制
cd /root/stable-diffusion-webui
python launch.py --nowebui --xformers --opt-split-attention  --listen --port 7862
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:shell
复制
来源:0.0.0.0
协议端口:TCP:7862

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

在这里插入图片描述
在这里插入图片描述

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

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

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

常用参数输入如下

代码语言:json
复制
{
     "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 测试一下
在这里插入图片描述
在这里插入图片描述

七、搭建标签提词平台

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

效果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为了方便大家部署以及体验,我将代码已经放到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版本,点击新建即可进入环境

在这里插入图片描述
在这里插入图片描述
  • 安装项目依赖

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

代码语言:shell
复制
npm install
在这里插入图片描述
在这里插入图片描述
  • 预览

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

代码语言:shell
复制
npm run serve
在这里插入图片描述
在这里插入图片描述
代码语言:shell
复制
allowedHosts: 'all',

有些其他的可能是配置:

代码语言:shell
复制
disableHostsCheck: true

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

在这里插入图片描述
在这里插入图片描述
  • 配置 SD API 地址

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

总结

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、什么是高性能应用服务HAI
    • HAI的应用场景
      • HAI的使用流程
      • 三、文章内容介绍
      • 四、基于HAI创建SD实例
      • 五、设置 StableDiffusionWebUI为中文
      • 六、构建SD API
      • 七、搭建标签提词平台
      • 总结
      相关产品与服务
      API 网关
      腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档