前言
五一假期,春末的天气还算宜人,正适合和家人一起外出放松。
这次我们去了南阳中国月季园,才发现月季竟有如此多的品种,令人大开眼界。
借着这次出游的灵感,和大家分享一下如何借助扣子平台,轻松大家专属的旅游拼图海报智能体。
前期工作
- 注册并登录扣子平台,默认为个人免费版,无需付费即可使用。熟悉扣子平台基本概念,可直接查看扣子官方文档,或者跟着分享走,哪一步不理解,查阅对应文档也可。
也可查看之前文章。
《从零开始:用“扣子”打造你的专属Word审查智能体 - 掘金》
分析设计
我们想要实现旅游拼图海报智能体,核心还是工作流,主要分为以下几步:
- 接收上传的多张图片,并拆分为一个个图片变量,方便“画板”节点使用。绘制一份个人喜欢的“画板“,即最终海报的静态展示效果,智能体运行后,会将”画板“上的图文替换为我们传递给智能体的图文。
由于“画板”仅能接收非列表变量,所以目前只能固定图片数量,本文设置4张图片。
如果大家想要智能体适配不同图片数量,目前思路是:增加一个“选择器”节点判断上传图片数量,然后调用不同“画板”,本文暂不讨论这种较为复杂的情况,大家可以自行尝试。
智能体配置
创建智能体
我们建立一个专门的智能体。
人设与回复逻辑
本次分享的场景,由于仅针对单一拼图功能,完全由工作流实现,个人专门试验过,“人设与回复逻辑”留空也不影响。
创建工作流
点击“工作流”右侧的“加号”,创建工作流。
下面,就到了最核心的环节,编排工作流实现我们的需求。
重点:编排工作流
先看下工作流的整体结构:
开始->拆分上传的图片列表->拼图画板->结束。
1、搭建流程主体
按照上图搭建整体流程。
“开始”节点输入包括:
- title:标题,String(字符串)类型。content:海报内容,String(字符串)类型。date:日期,String(字符串)类型。image:上传的多张图片,Array
2、拆分文件列表
该节点为“代码节点”,但逻辑很简单。
1、添加“代码”节点
2、设置输入、输出。
输入就是上传的图片数组变量,输出是4个图片变量。
3、实现代码逻辑。
就是将“开始”节点的 Array 转为4个 Image 变量,方便画板接收。
async def main(args: Args) -> Output: params = args.params # 构建输出对象 ret: Output = { "image0": params['input'][0], "image1": params['input'][1], "image2": params['input'][2], "image3": params['input'][3], } return ret
如果需要5张图片,复制相关代码和输出变量即可。
3、画板:拼图节点
1、添加“画板”节点。
2、设置“画板”节点。
主要是将“画板”需要显示的变量设置上,不然,“画板”中无法选择对应变量。
输出保持默认即可。
3、绘制“画板”布局。
“画板”绘制界面如下:
绘制工作区主要分为两部分:工具栏、画布。
其中工具栏中常用的就是“文本”、“图片”元素,其它元素,大家点击尝试下应该就熟悉了。
这一步主要就是根据自己的审美,绘制出来要拼图的最终效果。
但是此时,所有的文字、图片都是固定的,下一步我们将工作流的变量和显示元素绑定实现动态化。
4、绑定“画板”数据。
绑定之前,可以先检查下,工作流变量是否已经进入“画板”。如图,表示成功。
点击要绑定的“文字”元素,如图设置:
点击要绑定的“图片”元素,如图设置:
全部设置完成后,我们可以试运行。
运行效果如下:
5、发布工作流。
记得点击右上角的“发布”按钮,发布完成后,工作流应该是在智能体中显示的。
效果验证
在智能体调试页面,进行最终效果验证。
运行结果:
生成效果:
结语
今天主要给大家分享了制作拼图海报的思路和具体过程,重点就是“画板”节点的使用,大家可以多尝试下,如果仍有疑问,欢迎留言交流。
贴几张月季园的图片,还是挺好看的。