48小时_小白搭自己的第一个Coze

Coze链接:https://www.coze.cn/s/i6k9MTJX/

起因

        其实前几周是一直在用百度云千帆的那个agent搭建平台,一直没玩Coze。

        最早是想在百度的appbuilder上做一个能够帮家长解决给小朋友进行英语听写的agent。因为很多家长英语并不好,有些也没有学过英语,再其次以前高中上课的时候,英语老师的口语也很差,所以总感觉这是个痛点。然后用Gradio设计了前端,集成了OCR,TTS功能,甚至本来打算用GptSovits来搞一个用小朋友喜欢的游戏角色的语音来听写英语单词的功能。但是本人代码水平太差,就没做下去了。前端页面如图。   

        暂时搁置了这个想法之后,因为听说Coze更好玩一点,所以终于注册了Coze。不得不说Coze的UI确实舒服多了...

        刚好Coze最近有个小比赛,27号晚24点截止,趁着还剩两天时间。再加上我前两周刚好碰到想上传作品到各个社媒平台的抓狂经历。(每个平台的封面图要求都不同,而且经常把排版好的文案裁剪没,所以只能反复排版)。

        因此,看到Coze有个图像流功能,决定趁着还剩两天时间,速速搭一个能够实现一键生成各大平台封面图的扣子来参加一下Coze的图文创作赛道的小比赛。(主要还是因为有奖金,万一踩狗屎运了呢LoL)

思路

        速速写完一个实现的基本逻辑(其实没什么逻辑),然后想一个喜感一点的名字【封小二】(疯小二(不是)),然后开始上手搭建起来。

搭建过程

功能考虑

        因为生图在指定文字上并没有很好的效果,因此这次搭Coze只考虑了一个搭建一个简单的封面图制作功能的Coze,整个封面图可以分为三个功能。

        1. 确认文案

        2. 确认背景图

        3. 进行排版(包括按规定平台要求的尺寸进行裁剪和在图片上添加文字并排版)

功能实现

       图像流

        首先先考虑怎么用Coze来实现这个功能。我先查看了图像流能够用到的组件。

        发现其实能用的组件不算多,并且在图像流里无法使用插件,也没有代码模块。

        文字添加

        这里能用来给图片添加文案的功能是添加文字功能

        

        但是文字添加能够用到的功能非常局限。并且字体选择也只有以上的5种。真的非常如其名“添加文字”。(希望以后可以增加一些智能换行和字体选择)

        图片裁剪

        其次是用裁剪功能来给图片进行剪裁,以符合各平台的要求。

        在这里是可以指定需要裁剪后的图片的高和宽的。但是如果你设定的值大于原始图片对应边的长度,得到的结果就是不!裁!剪!也就是说这个裁剪也没有特别智能。所以希望之后可以出一个自动按照规定比例,根据图片原始分辨率自适应裁剪图片的功能。在这里我根据各平台的要求,设置了一系列对尺寸进行裁剪图像流。

        在这里我设置为从中心进行裁剪。最大边长我设置为1024,并且提示用户上传的图片,短边边长不要少于1024px,否则会出现裁剪比例错误。

        增加一些边框效果

        因为图像流中的文字叠加功能过于简单,整个画面看起来会比较单调,因此我使用了叠图的功能,找了一些边框的素材,做我简单的边框使用叠图功能叠加到图片上。并且命名为不同的构图以便工作流调用。

        在工作流中引用图像流

       

        相对而言Coze图像流的功能并不多而且也不并只能,不能调取大语言模型,插件之类的。不过好在图像流自身可以作为节点被工作流调用。不过调用时很可能会出现图片url的Output格式出现问题而被其他节点不能调用的问题。(如下图),这时候需要用一个代码块修正其格式来保证图像流节点能够在工作流节点中正常工作。

图像流作为节点输出的url带有前后的{{}},导致有时候不能够作为其他节点正确的输入格式。

增加一段代码块,可以将url前后的{{}}消去。

        排版工作流搭建

 

        首先如果用户上传的文字后,从排版的角度来看,分为来两段排版视觉效果好于直接放在一排排版的结果。在文案上则要求用户至少输入两个字以上。

        通过一个大模型的节点,将输入端的文案经过逻辑处理分为两行,并输出到row1和row2。在文字添加的节点则调用row1和row2的文字添加在图片上。

        AI生成封面图

        如果选择不上传封面图,则使用AI的文生图功能帮助用户生成图片。使用的是官方的文生图插件。

        

        变量存储

        由于大模型存在的遗忘问题,所以规定了agent在对话时,当与用户确认好封面图背景和文案时,将背景图的url和确认好的文案都作为string存储在变量中。用变量来调用工作流。(但即使是这样,大模型也经常忘记存储变量,并且经过漫长的调试也有一定概率不存储变量。这个实在不知道怎么解决了)

        提示词编辑

        基于工作逻辑和人物设定给编辑提示词。

        经过无限次接近疯狂边缘的调试,自此搭起自己的第一个扣子。中间碰到了很多问题。其实最大的问题还是无法将所有裁剪对应比例图片的工作集成到一个工作流内。

        如果生成建立不同图像比例的裁剪图像流,调用后将裁剪后的图像存储到对应比例的变量中,再调用排版的工作流会更加方便。但是会碰到在存储的变量格式是{{url}}的格式,调用工作流作为input的时候,无法正确传参而报错。同时在工作流的开始节点之前或者是图像流中都无法添加代码块来保证变量url格式的正确性。如果使用大语言模型来帮助去掉前后的{{}},又会不靠谱。

        不过可以预见到,Coze随着慢慢的迭代,之后的功能应该会解决这个问题。

        总之,就这样磕磕绊绊搭完了自己的第一个Coze。调试到最后差点跟Bot对骂起来,以及疯狂调试后得到了↓

        感谢观看和阅读,希望对阅读到这里的你有一点点小小的帮助。

        努力成长!小白也能变大佬(废柴(bushi))。

        封小二_Coze链接:https://www.coze.cn/s/i6k9MTJX/

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值