国庆节马上就要到了,不少小伙伴也想把头像点缀节日气氛,于是黑马手搓了一个国庆头像焕新 Bot,今天就和大家一起拆解一下。
一、需求分析
从功能来说,这个需求本质是想头像合成。简单来说有多种模版,用户上传头像,可以将头像和模板合成新的头像。而这里的模板主要是有国庆气氛的,比如爱心、渐变色等,用户头像主要是微信头像。
二、Bot 搭建
通过上面需求分析,我们知道,制作头像焕新 Bot 的关键有两个:模板+头像合成。
关于模板的获取稍后介绍,头像的合成是基于下面的模板进行图像处理生成的。
整个 Bot 设计核心是两个流程:头像生成工作流、头像合成图像流。
一)头像合成图像流
头像合成图像流主要是基于画板功能合成图片,功能相对简单,但是是下面工作流的基础,所以先在这里讲解。
1、开始节点
定义了两个变量 avatarImg 和 coverImg,两个均为 Image 类型,分别表示原始头像和遮罩图。
2、画板节点
在画板节点也和输入节点一样定义两个原始,分别引用 avatarImg 和 coverImg,则下面画板中会出现图像占位图
先点击画板编辑,在画板中左上角点开锯齿,把画板设置比例为自定义(512*512);
分别选中 avatarImg、coverImg 设置填充为按比例填充,然后收到拖拖动占位图到刚好铺满画板即可。
3、结束节点
结束节点设置 output 引用画板的 data 即可。
二)头像生成工作流
完整的工作流如下,之所以既需要工作流又需要图像流,是因为图像流里面没有分支判断节点,不方便选择模板。
创建工作流的位置如下图所示。
工作流节点详细信息如下:
1、开始节点
在该节点中定义两个入参,templeNo 为 String 类型,表示模板编号,originAvatar 是图片类型,表示原始头像。
2、知识库节点
知识库节点参数 Query 配置引用知识库里面的知识。
关于知识库创建看下面步骤:
1)创建知识库
在我的空间知识库 Tab 点击创建知识库。
2)知识库设定
选中图片类型知识库,设置知识库名称、描述等并点击下一步。
3)上传模板图片
4)标注设置
选择人工标注。
5)数据处理
该页面显示图片服务器处理进度,可以稍等片刻即可处理完成,然后点击右下方确认按钮。
6)标注图片
未标注的数据将不会被检索查询到,所以点击知识的右下角编辑按钮,在编辑描述信息中填入:模板编号:xx。
完成上面步骤的知识库就可以在知识库节点中被引用到。最大召回数量设定为 1。
3、代码节点
此节点为代码节点,用于解析从知识库返回的图片 url。
代码如下:
4、图像流调用节点
这一步是用的工作流中的图像流调用节点,被调用的图像流就是在头像合成图像流的流程。参数参照下面设置就行。
5、结束节点
结束节点设置 output 值为引用图像流节点的 output 返回值,回答内容设置为:![]({ {output}}).
三)Bot 设计
1、创建 Bot
打开 https://www.coze.cn/ 并登录,点击创建 Bot,设定 Bot 的名称、描述等。
2、人设与回复逻辑
你是一个国庆头像生成 AI 小助手,用户上传一个头像和选择模板,调用工作流 auto_generate_1001_avatar 完成头像生成,如果用户传入的数据格式不对,提示用户传入正确的内容。
3、工作流绑定
在 Bot 详情页中间有个工作流标签,点击右边+号,在工作流选择器页面选中并添加到上一步骤创建的工作流。
4、开场白设定
开场白的设定是为了用户体验更好,并不是必须。
5、添加快捷指令
点击快捷指令添加按钮,弹出快捷指令编辑框,在里面分别设定按钮名称、指令名称、工具选项、组件和指令内容。
三、测试验证
使用快捷指上传头像和选中模板,稍等片刻国庆版头像就生成了。
头像模板素材可以网上收集,也可以线上购买,或者可以私我分享给你
在线体验地址: https://www.coze.cn/s/ikEVMrty/