今天带大家在Coze平台上手搓一个自己的插件,让创意多一种可能,我认为这是一件很有趣的事!!!
前不久我通过两个简单的实际需求/案例带大家了解了Coze平台的运行机制,以及通过上手搭建简单的工作流/知识库来创建属于自己的智能体(Agent)。
手把手教你从0搭建一个智能体,全部跟下来你就Agent入门了!(超详细的讲解)
手把手带你从0上手知识库,一个简单小案例,让你备考无忧!(就没见过这么详细的教程)
那今天,来讲讲很多人都会感兴趣的东西——插件,我将手把手带大家在Coze上从0配置一个自己的插件(节点),一个可以对图像进行编辑的插件
Coze开发平台网址:https://www.coze.cn/home
首先电脑打开Coze开发平台,点击进入到「工作空间」中的「资源库」,点击右上角选择创建插件:
之后会弹出一个小窗口供我们对即将创建的插件进行简单的编辑,需要选填的内容包括:插件名称、插件描述、插件工具创建方式、插件URL这四个模块。
关于插件的名称和描述自然不必多说,我们可以根据插件的功能来进行编辑,所以对于大部分人来说,问题主要出现在后面两个。
我们将光标移动到该词后面的“被圈起来的小感叹号”,则会弹出Coze官方对于这三种创建方式的释义(按顺序对应):
不知道大家能否看得懂,那我们就不得已再次进入到「AIZ说白话」环节了:
云侧插件:插件基于平台服务器进行任务处理,适合处理复杂任务,需要联网
端侧插件:插件基于本地设备进行任务处理,处理能力有限,隐私性强,可断网
基于已有服务创建(使用外部API创建工具):在Coze中调用别人开发好的工具的API构建插件
在 Coze IDE 中创建(在IDE中创建工具):基于Coze平台的开发环境自己写代码开发一个插件
不懂具体什么是「API」的朋友可以看一下这篇文章:看懂这8个概念,你也是半个AI行业人!
基于绝大多数人都是非代码专长人士(当然也包括我自己),所以这里我们最合理也是最容易上手的便是选择第一个:云侧插件 - 基于已有服务创建
URL:可以直接简单理解为网址、链接
再结合以上对于「基于已有服务创建」的释义,不难得出:这里需要填写的正是别人开发好的工具的API网址,以便Coze平台能够访问到相应的工具。
而现在市面上其实开放的API调用平台有很多,一抓一大把,比如大家所熟知的:
-
阿里云:https://www.aliyun.com
-
腾讯云:https://cloud.tencent.com
-
华为云:https://activity.huaweicloud.com
-
这里我就以「从阿里云当中调用工具」为例,为大家演示如何将该平台中的工具在Coze当中封装成一个工作流插件(事实上我认为阿里通义的API文档写得也是最清晰明了的)。
同时在前面的文章【手把手教你从0搭建一个智能体,全部跟下来你就Agent入门了!(超详细的讲解)】中我们提到,Coze官方对于「插件」的解释为:插件是一个工具集,一个插件内可以包含一个或多个工具(API),这点从在工作流搭建界面中添加插件时也能够看出来:
基于以上解释,加上我们所要调用的是阿里云中的模型,所以整个阿里云就可以被简单的看成是一个别人开发好的工具(插件,也就是工具集),而内部的各种模型就可以被看成是这个插件当中所包含的各种小工具,每种工具都有自己的功能。
所以在上面「新建插件」界面中的「插件URL」,我们所要填写的是整个阿里云的 API URL,从而使Coze平台可以通过这个URL访问到阿里云,以便后续继续调用里面指定的模型/工具;而在我们创建的这个插件内部,我们可以继续创建各种工具,这些工具的调用所要填写的URL就对应到阿里云中模型/工具具体的API URL。
理解了上面这点后,现在我们便可以来获取阿里云的API URL:
进入到官网界面后,我们先点击界面右上角进行账号到注册/登陆以及实名认证,然后在「大模型」选项界面下滑到通义大模型体系,鼠标随便移动至一个开源模型点击「立即体验」进入到下一个界面,然后选择上方的「API参考」,最后通过在右侧选项栏中选择自己想要调用的模型,从而进入到该模型特定的API调用文档,这个文档就是我们后续频繁进行查看对照的地方
至于这里我们要调用的模型,我就以「通义万相-通用图像编辑」为例为大家详细演示,我们可以通过文档中的内容了解到该模型的具体功能包含什么:
文档中为我们详细罗列了指定模型的API如何进行调用,参数如何配置等等信息,而常见的 API 调用方式有通过 HTTP 进行调用以及通过 SDK 进行调用这两种,以下是这两种方式的简单区别:
通过 HTTP 进行调用:需要自己动手配置「URL」和相应的「参数」
通过 SDK 进行调用:通过安装指定的「SDK」进行调用
在Coze平台当中进行调用则需要我们手动配置好相应的 URL 以及各种参数,所以我们需要学会通过 HTTP 进行调用的方式
接下来我们在这个文档页面往下拉,找到「HTTP 调用」中「步骤 1」的这一行说明:
其中:最前面的「POST」是请求方式;「https...api」是阿里云的API,最后的「V1...image-synthesis」是我们即将调用的模型具体的API
通过以上的讲解我们知道,在创建插件时弹出的小窗口「新建插件」中,在「插件 URL」那里我们需要填写的是整个阿里云的API,所以这里我们只需要复制「https...api」这一段粘贴进去即可,然后点击确认,该插件就算初步创建完成了,我们可以在「资源库」中查看到,点击进入到内部是这样的:
到了这一步,大家千万别认为就结束了,我们只是初步将“插件外壳”创建完成而已,通过前面我们填写的 URL 也可以猜到,即便此时我们可以成功使用该插件,也只能够访问到阿里云,但内部具体的模型/工具,目前还无法访问。
这里要注意一点:在该插件当中所创建的工具所调用的都必须是阿里云当中的一些具体模型/工具的API,因为插件本身调用的就是阿里云的API,这是从属关系
现在,点击我们刚刚创建的插件当中的「创建工具」,随后同样会弹出一个「创建工具」的编辑小窗口,需要我们填写工具的名称和对其进行简单地描述,这里我是这样写的:
随后点击「确认」,进入到详细的设置界面,主要包括四个部分:填写基本信息(其实就是刚刚填写的工具名称和概述)、更多信息、配置输入参数、配置输出参数。
除了基本信息已经同步刚才我们填写地方的内容外,还剩三个部分需要填写,我们一个个来:
在「更多信息」中,包含「工具路径」和「请求方式」两个内容,我们点击右侧的「编辑」按钮进行修改:
-
工具路径:这里需要的就不是阿里云的 URL 了,而是需要阿里云当中我们具体想要调用的模型/工具的 URL。对应到的就是我自己想要调用的「通义万相-通用图像编辑」,还是在其 API 文档界面中,依旧是「HTTP调用」部分的那段「POST...image-synthesis」,前面在创建插件的时候,我们只需要复制到“...api”,那这一次,就将其后面剩下的东西全部复制,然后将Coze中的工具路径后面那一段直接替换掉:
-
请求方式:看到这相信很多朋友也都发现了,依旧是根据那段「POST...image-synthesis」,这里我们只需要校对一下最前面的单词跟Coze中的请求方式是否一致,不一致则修改一致即可:
以上全部校对完毕后,点击右上角的「保存」即可,这样「更多信息」我们就搞定了。
在进入下一步编辑之前,我们需要先明确在创建插件时「配置输入参数」和「配置输出参数」分别是指什么:
配置输入参数:定义插件接收的用户输入数据(如搜索关键词、API密钥),用于指导插件执行任务
配置输出参数:定义插件处理后返回给用户的结果数据(如新闻列表、图片链接),用于展示任务执行结果
这大概是整个编辑操作中最繁杂的一步,因为这里所有参数都需要我们手动添加,但其实也只需要多些耐心。
依旧回到那个 API 文档,我们继续向下滑动至「请求参数」,这部分就是我们需要一一对照着在「配置输入参数」中填写的内容(其中有标注「必选」的为必须填写的参数,标注「可选」的参数可根据我们的实际需求进行选写)。
在这部分的内容当中,通常包含「请求头」(Header)和「请求体」(Body)两部分,对于这两部分的释义如下:
请求头:客户端发送给服务器的元数据集合,包含认证信息、内容类型、客户端标识等,用于指示服务器响应处理请求
请求体:客户端发送给服务器的实际数据内容(如JSON、表单数据、文件),用于传递需要服务器处理的具体信息
需要注意的是:这里我所选择调用API的这个模型的配置参数已经算比较复杂的,所以相信大家搞定了之后,其他的模型调用大概率也不在话下了。
大家同样点击「配置输入参数」右侧的「编辑」,然后可通过点击下方的「新增参数」添加参数行:
然后就是具体的参数填写,下面这张图示展示得就很清晰明了,我们只需要对照着文档当中的内容进行填写即可。
参数「Authorization」对应的默认值需要输入我们自己在阿里云上的 API-Key,以便调用服务器时能够对我们的身份进行识别验证。
如何获取API-Key,很简单,我们回到阿里云的界面,跟着我以下给出的步骤进行操作即可:
1.点击界面上方的「模型」,在左侧栏选择下方的「API-Key」,然后点击右上角的「创建API-Key」
2.在弹出的小窗口中对该API-Key进行简单的描述,然后点击确认进行创建,此时我们的API-Key便创建完成
3.点击刚刚创建的API-Key右侧的「查看」,随后点击「复制」即可
这里还有一个小细节需要大家特别注意的,那就是在将API-Key复制到参数「Authorization」的默认值时,在文档中注明有一个格式上的细节:
就是在API-Key之前,还有一个前缀单词 + 一个空格
通过文档我们会发现,在必选的这些参数中,有一个参数(input)的类型是与其它参数不一样的—— Object,并且从文档的结构上看,该参数下面的好几个参数都是被包含在这个参数中的。
因此在填写参数「input」后,需要在其下添加子节点,以便添加相应的参数:
同样先点击右侧的「编辑」,然后切记千万不要选择自己填写,因为真的很容易出错,这时候我们可以继续点击右侧的「自动解析」,随后会弹出一个窗口,我们需要将没有默认值的参数补充完整,之后便可以自动解析:
结合我们所设置的参数「function(图像编辑功能)」对应的参数值「stylization_all(全局风格化)」,从API文档中的相关说明可知:该功能目前仅支持两种风格,分别是:法国绘本风格 和 金箔艺术风格
所以「prompt」所对应的参数值我们可以这么填:请将图片转绘成法国绘本风格
2.base_image_url(图像的URL地址)
这里所要填写的其实就是一段公网可以访问到的图像网址,我们可以随便上网找一张图,鼠标右击复制图像地址,然后直接粘贴到该参数后面:
确认无误后,就可以点击右下方的「自动解析」,如果解析之后像下面这样没有任何异常,便可以点击「保存」了。
至此,我们关于该工具的所有信息及参数便已全部配置完毕,接下来进入测试环节,我们点击界面右上角的「试运行」,在弹出的窗口中依旧将那两个参数值补齐,然后点击下方的「运行」,待窗口右侧显示「调试通过」后,便可点击完成,这时在我们创建的插件(图像编辑神器)中,便能看到我们刚刚创建的工具,并且调试状态显示的是「通过」。
这个时候有的朋友就会好奇了,是测试成功了,那我怎么知道呢?有什么证据吗?我刚才给它的图像是否真的被转绘成法国绘本风格了?
别急,这种思考是正常的,实际上单凭该工具也确实无法查看到图像的具体处理效果。
没事,遇事不决,就看API文档,看看里面是怎么写的:
没错,是的,还有个「步骤二」,也就意味着我们需要在插件当中再创建一个工具,总的来说,其就是用于查询图像处理结果的。
基于篇幅以及上文已经为大家详细讲解了工具该如何配置的原因,这个工具的配置过程我就不详细讲解了,但可以为大家展示最终这个工具的一些界面,以便大家参照和纠错:
其中有一个特别需要注意的地方,那便是在进行「配置输出参数自动解析」和「试运行」时,我们需要填写「task_id」对应的参数值,那这个参数值从何而来,答案是从上一个工具的响应结果中得来,请看下图:
还有就是这个工具最终「试运行」成功后,我们从哪里查看图像的处理结果呢?答案如下:
你只需复制「url」后面的网址然后在浏览器上粘贴打开,就可以得到图像的处理结果了。
然这里需要补充说明的是:上文我在创建第一个工具配置输入参数时,我还另外添加了一个「可选」的参数「strength」,并将其默认值设置为0.5,其可控制图像的变化幅度权重,具体也可以在API文档中查询到:
后续我将带大家将这个插件应用到实际的工作流中,做点好玩的东西,大家敬请期待!
最后,如果你喜欢我的文章,欢迎点赞、转发和关注;如果我的文章能为你提供一点价值,那将是我的万分荣幸,在此感谢每一位读者🙏
本篇文章来源于微信公众号: AIZ小朱
文章评论