【GPT】Coze使用开放平台接口-【1】创建插件

news2024/9/21 22:53:25

本文档主要描述在 coze 里面把开放平台的接口创建为插件,供别人调用。本系列调用的接口,都是调用快商通 AI 开放平台的接口

注意:如果是团队需要的,建议直接在团队空间里面创建这些,不然在个人空间创建得很爽,后面得一个个重新在团队空间创建,这两个空间不能复制或移动。

我们都知道大部分的开放平台调接口的流程,都是先调鉴权接口,再调要调用的接口。跟现在的大模型的一些接口直接使用 API-KEY 的这种形式可能有些不一样,不过没关系,其实都是调用接口。


下面我们就以,语音伪造检测接口为例,因为最近 AIGC 很火爆很多人会去使用合成语音或者克隆语音,来做一些非法的事情,那我们来试看看怎么创建这个语音伪造检测到我们的 coze 里面。

1. 创建插件

首先进到个人空间 -> 插件 -> 点击右上角【创建插件】,就会看到如下弹窗。

插件名称跟插件描述,就看自己定义了。
在这里插入图片描述

插件工具创建方式,选择基于已有服务创建。因为我们讲的是开放平台,所以 URL 就用开放平台的接口 host 就行。

注意,这个 URL 不是接口完整的请求路径,这个 URL 是会当做请求时候的路径前缀,所以尽量确定好再填写,避免后面要改,不要写太死。

快商通 AI 开放平台的接口参数可以到文档中心查看。

我们可以先看下我们要加入的几个插件接口:

  • 鉴权接口:https://aihc.shengwenyun.com/aihc/auth
  • 语音转文本: https://aihc.shengwenyun.com/aihc/v1/asr/audio-text/async
  • 语音伪造分析:https://aihc.shengwenyun.com/aihc/v1/kvpst/speech-deep-fake
  • 声纹验证1:1:https://aihc.shengwenyun.com/aihc/v1/vpr/verify
  • 人声分割:https://aihc.shengwenyun.com/aihc/v1/speaker/ksd

可以看到相同的前缀是 https://aihc.shengwenyun.com/aihc,其实 auth 应该也设计成 v1 的,但是不懂为什么这么设计。不过,在之后如果要升级成 v2 的时候,也好再加接口就是了。所以我们要写入的 URL 就是 https://aihc.shengwenyun.com/aihc,另外这个 URL 最后不用跟上 /

注意,这里的 URL 必须是 https 的。

在这里插入图片描述

按照现在很多大模型调用方式,授权方式这边直接填一个 service,然后传入 API-KEY 就行,但是开放平台目前的设计就只能是调用鉴权接口获取鉴权来赋值,因此不能直接在这边选择授权方式。Header 列表,也不能直接加 Authorization,因为必须赋值,但对于需要动态获取鉴权的开放接口来说,也是不可以的。

2. 创建工具

插件只是一个对外的称呼,插件里面有什么能力,是称为工具

创建工具不一定是手动创建,也可以是通过 swagger 或者 openApi 的 json 导入,不过这一步我一直没通过,不知道是不是哪里格式有问题,在 Dify 是可以用的。

创建工具其实就跟写接口文档是一样的,平台分为四步:

2.1. 填写基本信息
  • 工具名称只允许用英文,数字和下划线。
  • 工具描述就是这个接口是干嘛的。
  • 工具路径可以看到我们刚才填写的 URL 当成了前缀,后面的就是具体的路径,比如我们上面语音伪造检测接口的具体路径,就是 /v1/kvpst/speech-deep-fake
  • 请求方式就是按照 RESTFUL API 的请求方式规范。

在这里插入图片描述

点击保存并继续

2.2. 配置输入参数

配置输入参数,就是填传参,请求参数可以到文档中心对应文档内的【请求参数】查看。

这里参数传入方式只有:Body,Header,Query,Path。其实就是 Get 传参和用 json body 传参的方式。

我们前面说的鉴权就只能在接口里面添加,并且在 Header 里面传参,如下图。

因为要在后续的工作流,bot 中使用,所以我们用 file_url 来传语音,其他接口的语音传参方式也是选择这个。如果是我们自己代码开发,可以用其提供的其他传参方式,比如form-data,base64。在这个平台上,用下来最方便的还是用可访问的地址。

以语音伪造检测接口为例,里面除了 file_url 还有提供别的上传方式,那我们只需要用我们需要用到的可以。

注意,如果其他接口需要传图片,文件,语音,视频,这种最好还是设计成可以用可访问地址来传参。

在这里插入图片描述

点击保存并继续

2.3. 配置输出参数

配置完输入,就要配置输出,输出参数可以到文档中心对应文档内的【响应结果】查看。

配置输出接口就是按照开放平台的返回值来配置就行,这边可以用自动解析也就是直接调接口,然后 coze 会自动去赋值输出的参数。

当然,如果不需要的一些返回参数也不填,只保留自己需要的就好。

注意,返回值只允许一维数组,如果是多维数组,只能该接口返回二维数组序列化后的结果,也不能返回流。

在这里插入图片描述

2.4. 调试与校验

配置好了,coze 要求必须测试通过才行。有开发过接口的同学,是不是之前给前端或者给其他人,都是接口文档写好,或者什么地方写好,不测试就提供出去了,然后有问题了再排查。coze 不允许,必须要测试通过了才能算创建完成。建议,在测试的时候勾选,保存调试结果为工具使用用例。

测试通过后,就表示这个工具创建好了。

注意,这边的调试成功的定义是,接口能通。即使你返回的 code 不为 0,也能调试通过。

在这里插入图片描述

3. 发布

创建好的工具就会如下图。

在这里插入图片描述

信息收集声明根据实际情况填写即可。

在这里插入图片描述

发布之后,不是别人就能看到你的插件了,还有下一步,上架。

我之前也以为到这一步发布之后,别人就能用了。

4. 上架

上架插件就选择我们刚才创建的插件,输入描述以及对应分类。注意,现在上架插件要求更加严格,必须要有运行示例才允许上架。其实就是要把刚才 2.4 里面的调试再跑一遍。上架提交申请后,会有人审核,一般 5-10 min。上架之后,就可以在插件商店里面找到刚刚上架的插件了。

如果有改动,需要重新发布,提交更新,再经过审核之后,才会生效。

在这里插入图片描述

总结

其实跟我们平时在 postman 或者 yapi 上面创建接口用例是一样的,只不过更加严谨和繁琐一点,其实这一点跟 dify 是有点反过来的,区别可见【Coze使用开放平台接口-【7】Dify 比较篇】。如果有某个更新,即使是一个描述的改动,都需要重新发布,提交更新,等待审核,最后才能更新成功。所以这个 coze 是繁琐的,但也是严谨的。也正是在这个环节的严谨和繁琐,在后续的创建工作流环节调用插件的时候,就会显得格外轻松。

如果平时就是对接口严谨,凡事修改之后都有用例做测试的同学,coze 创建插件应该是没有任何影响的。

下一篇我们开始创建工作流,来运用我们创建好的插件,Coze使用开放平台接口-【2】创建工作流-语音伪造检测工作流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——命令行文件的管理(创建,复制,删除,移动文件,硬链接与软链接)

目录 一、创建文件和目录 二、复制文件和目录 三、删除文件和目录 四、移动文件和目录 五、硬链接和软链接(软链接也指符号链接) 索引节点(inode) 硬链接 软链接(符号链接) 一、创建文件和目录 mkdir命令可以创…

PCIe 复位:必须了解的PERST#

1.什么是PERST# PERST#作为 Fundamental Reset,是直接通过边带信号PERST#(PCI Express Reset)产生的。Fundamental Reset会复位整个PCIe设备,初始化所有与状态机相关的硬件逻辑,端口状态以及配置空间中的配置寄存器…

使用谷歌翻译的推荐理由及其他翻译工具推荐~

在现在快节奏的工作中,翻译工具已成为我们日常当中不可或缺的助手。其中,谷歌翻译以其高效、准确的特点,在众多翻译软件中脱颖而出。以下,我为您详细介绍为何推荐在工作中使用谷歌翻译,并同时提供其他三款优秀的翻译工…

linux内核驱动:pca953xIO扩展芯片驱动总结

目录 前言一、PCA9536芯片介绍二、驱动说明三、配置流程四、应用操作方式 前言 本笔记总结使用ti 的PCA953x进行SOC的GPIO扩展时步骤,基于linux内核版本5.10.xxx; 一、PCA9536芯片介绍 【1】PCA9536是基于i2c接口的GPIO扩展芯片,最大支持到…

【Java学习】多线程JUC万字超详解

所属专栏:Java学习 1. 多线程的概念 线程:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程的实际运作单位 下面这些每一个能够运行的软件就是一个进程 并发:在同一时刻,有多个…

网络编程学习:TCP/IP协议

TCP/IP协议简介 TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。 分层结构 为了能够实现不同类型的计算机和不同类型的操作系统之间进行通信,引…

Java中的锁(四)利用读写锁实现高性能网页缓存

文章目录 背景Ehcache2源码解析-如何实现缓存网页读写锁ReentrantReadWriteLock解析读写锁的特性读写锁是如何实现的? 如何将Ehcach2-web的源码迁移到Ehcach3中?/ 如何自定义Filter实现高性能网页缓存? 背景 在我们的销售页面,有…

Django+Vue酒店推荐系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者&…

Linux文件操作(二)

Linux文件操作(二) 导语文件和目录维护chmodchownlink及其变体dir及其变体chdir和getcwd 扫描目录opendirreaddirtelldirseekdirclosedir示例程序 错误处理strerrorperror /procfcntlmmap相关mmapmsyncmunmap 总结参考文献 导语 文件操作的第二部分&…

juzige/Monitoring-System-基于Java语言的光伏监控系统

Photovoltaic-Monitoring-System-Based-on-Java-Language 基于Java语言的光伏监控系统光伏发电系统光伏软件系统光伏监控系统源码光伏发电系统源码-智电云 一、 介绍 光伏光伏发电预测逆变器监控逆变器数据采集光伏运维光伏电站光伏功率预测光伏监控系统光伏发电系统光伏软件…

【CSS in Depth 2 精译_022】3.6 一招搞定容器内元素间距的问题 + 3.7 本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

jQuery入门(六)jQuery实现瀑布流分页案例

一、瀑布流分页案例分析 1.1) 功能分析: 鼠标下拉,加载分页数据(10条) ,如下图: 案例分析: 1.2) 如何确定当前显示的数据已经浏览完毕? 公式:(滚动条距底部的距离 滚动条上下滚动的距离 当…

【Python篇】Python 类和对象:详细讲解(下篇)

文章目录 Python 类和对象:详细讲解(下篇)15. 接口和协议(Interfaces and Protocols)15.1 什么是接口?15.2 协议的基本概念例子:定义飞行协议详细解释输出示例 16. 装饰器模式(Decor…

A02、Java编程性能调优(02)

1、Stream如何提高遍历集合效率 1.1、什么是Stream 现在很多大数据量系统中都存在分表分库的情况。例如,电商系统中的订单表,常常使用用户 ID 的 Hash 值来实现分表分库,这样是为了减少单个表的数据量,优化用户查询订单的速度。 …

ZYNQ-Utlscale-RFSOC看门狗

ZYNQ-Utlscale-RFSOC看门狗复位 ZYNQ-Utlscale-RFSOC 看门狗的程序网上里程很少,开源资料也是几乎没有,最近需要用到这个功能,来来回回搞了一周才搞定。刚开始参考ZYNQ7000的资源,发现MPSOC不适用。很感谢下面的几篇文章&#xf…

探索TinyDB:轻量级数据库的优雅之旅

文章目录 探索TinyDB:轻量级数据库的优雅之旅背景:为何选择TinyDB?TinyDB是什么?如何安装TinyDB?简单库函数使用方法场景应用常见Bug及解决方案总结 探索TinyDB:轻量级数据库的优雅之旅 背景:为…

【电子通识】电子元器件可靠性基本概念

什么是电子元器件 电子元器件是电子产品的基本组成单元, 是电子元件和电子器件的总称。 通常电子元件指的是无源元件, 电子器件指的是有源器件。无源元件是对所供给的电能执行被动操作(如耗散、储蓄或释放等)的元件, 如…

《普通人学AI指南PDF》免费下载破10万。。。

你好,我是郭震 普通人如何开始AI,用好AI? 我在今年制作的《普通人学AI指南》PDF,从中或许能帮你找到答案: 1 PDF背景介绍 此PDF我是今年开始着手制作,到6月8日终版,中间历经反复多次修改&#x…

LabVIEW布尔值比较与信号状态上升沿下降沿检测

在 LabVIEW 编程中,布尔值的比较不仅是逻辑运算的重要组成部分,还广泛应用于信号的上升沿和下降沿检测。通过理解 True > False 这样的基本表达式,以及如何在程序中检测信号的状态变化,开发者可以有效地控制系统行为&#xff0…

内存管理篇-17解开页表的神秘面纱-上

--好像并没有解开。。 1.遗留的一些问题 (1)页表存储在内存的什么地方?页表服用的对象就是MMU,主要就为了MMU单元翻译的时候提供作用,因此能存放在MMU中的TLB缓存中,也可能存放在内存中。但是在内存中的什…