作者:程序猿玩AI
链接:https://zhuanlan.zhihu.com/p/705883397
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在扣子上做好一个智能体机器人后,可以在扣子上调用,也可以发布到飞书,微信等平台上使用。

但如果想远程调用,比如在PC上,或者在你本地应用,或者集成到你自己代码的时候,就需要用到API的方式。

API的调用其实就是RPC的一个调用系统。可以远程访问功能

今天这篇文章就从头到尾讲下扣子API如何使用

1 添加令牌

首先在 coze.cn/open/api 中点击添加新令牌。

token申请后保存好。后面在调用API的时候会用到

2 机器人发布

先用一个已有的bot来做测试。这个bot是一个AI新闻官。当查询AI新闻的时候,会输出当日查询到的最新AI新闻。效果如下图。

点击发布后记得选择Bot as API。选择后Bot才能被api调用。

发布后,可以看下发布历史,是否通过审核了。通过审核之后的Bot才能使用

在Bot开发界面就可以获得Bot id。如下图所示,

7375438639045623859就是这个Bot的id。

3 API调用

API的调用格式如下图

API请求报文中有三个参数需要自己填

API参数

1

Personal_Access_Token:生成的个人访问令牌

2

Bot_Id:开发页面 URL 中 bot 参数后的数字就是 Bot ID

3

Query:发给Bot的消息内容

最后,我们来测试下,用自己的token再加上刚才我们测试的botid。测试通过,可以获取到返回结果。

另外,也可以用python的方式去调用。用python的requests库就可以构造报文,代码如下:

上面的demo代码采用了requests发送报文,

url固定为api.coze.cn/open_api/v2

在定义的headers中的Authorization带上申请的token值

构建data中带上botid以及查询内容,然后转成json格

最后通过post的方式发送出去就可以了

代码执行结果

4 实战案例

前面介绍的api调用比较简单。是最基本的参数调用。下面来介绍一个比较复杂的api调用

我再Coze上做了一个图像生成的bot。工作流如下。

在工作流中首先调用代码模块对输入进行解析。将解析到的prompt, height,width,ratio 参数传给图像流模块

手动运行的格式如下,每个参数之间下划线隔开。

分别是prompt_height_width_ratio

如果想要api进行调用,那就需要把上传的参数传递给开始模块的input参数

在逻辑模块中注明将用户输入 传递给·g_work·的·input· 参数

代码如下,携带指定格式的信息传递给bot画图

反馈信息中回携带图片的url, 将url提取出来后下载到本地。这样只要上传信息,本地就可以获得图片了。

当前扣子API是免费试用,不过每个空间是有限额的