【自建插件调用sapceX数据集+通义万相生图】 让每个少年

粉丝的难言之隐

从小我就对火箭充满了好奇和兴趣。记得第一次看到火箭发射的画面时,那种震撼和激动的感觉至今难忘。在火箭领域spaceX无疑是行业的翘楚。随着马斯克的热潮,我发现网上关于SpaceX的信息虽然多,却往往聚焦在爆点的新闻当中,没有专业官方的数据格式,对于一个狂热粉丝来说实在是不忍直视。

image.png

但是令人兴奋的是,r/SpaceX在Github上开源了SpaceX火箭相关的数据——SpaceX-API。REST API包含三大部分,clients、app(应用)和原始数据。其中,API Clients是对现有关于SpaceX的api合集,降低了以往信息查找、汇总的难度。整理的API,基本包含了SPaceX成立迄今的所有火箭数据。
github地址:https://github.com/r-spacex/SpaceX-API
image.png

作为一个粉丝来说我们应该怎么去实时获取这些信息呢?常见的几种方式:

1. docker/本地拉下来整个仓库进行部署,进行查询

2. 在线api调用查询

但是常见的两种方式都比较麻烦,没有对话式的体验,json格式的返回也难以阅读,单一的信息源也会导致输出不丰富。

用插件封装API进行信息的查询和调用

但是现在我们有了Coze,我们来看看coze插件的官方定义:
插件是一个工具集,一个插件内可以包含一个或多个工具(API)。
目前,扣子集成了超过 60 种类型的插件,包括资讯阅读、旅游出行、效率办公、图片理解等 API 及多模态模型。使用这些插件,可以帮助您拓展 Bot 能力边界。
如果扣子集成的插件不满足您的使用需求,您还可以创建自定义插件来集成需要使用的 API。

先来看看传统的api调用:

1
js[复制代码  {curl --location 'https://api.spacexdata.com/v3/capsules'}]

我们来看看返回结果,SpaceX最早的几款龙飞船最开始的C101,C102(至今还悬挂在spaceX在加州总部房顶上和肯尼迪航天中心的展览馆里面)等都有具体的发射信息,但是信息繁杂,可视化程度低,且数据过于单调。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
js[复制代码  {
‘ "capsule_serial": "C101",
"capsule_id": "dragon1",
"status": "retired",
"original_launch": "2010-12-08T15:43:00.000Z",
"original_launch_unix": 1291822980,
"missions": [
{
"name": "COTS 1",
"flight": 7
}
],
"landings": 0,
"type": "Dragon 1.0",
"details": "Reentered after three weeks in orbit",
"reuse_count": 0
},
{
"capsule_serial": "C102",
"capsule_id": "dragon1",
"status": "retired",
"original_launch": "2012-05-02T07:44:00.000Z",
"original_launch_unix": 1335944640,
"missions": [
{
"name": "COTS 2",
"flight": 8
}
],
"landings": 1,
"type": "Dragon 1.0",
"details": "First Dragon spacecraft",
"reuse_count": 0
},
{
"capsule_serial": "C103",
"capsule_id": "dragon1",
"status": "unknown",
"original_launch": "2012-10-08T00:35:00.000Z",
"original_launch_unix": 1349656500,
"missions": [
{
"name": "CRS-1",
"flight": 9
}
],
"landings": 1,
"type": "Dragon 1.0",
"details": "First of twenty missions flown under the CRS1 contract",
"reuse_count": 0
},
{

}
]

接下来我们是否能够通过插件把我们的api进行封装。
image.png

我们定义输入的参数为多种:capsules/Cores/Dragons等的型号,输出会自动解析出来:
image.png

然后我们试一下效果,看看返回效果如何

image.png
image.png
可以看到返回的信息非常规整,信息也十分准确。

该插件上传中(名称就是space-X),如果审核通过,大家也可以加入到自己的bot之中进行信息的获取。同时还可以通过bot的memory能力:
持久化的记忆能力

例如创建一个数据库来记录阅读,有了数据库,Bot就可以把我们的记录对话写入到数据库之中,就可以做到信息的积累,把火箭的信息记录到我们一行一行的数据库中。

为梦想插上腾飞的翅膀

如果说单单只是简单的一个调用,还够不到媲美火箭的想象力。其实绝大多数爱好者对火箭,对飞船,甚至对宇宙的热忱都起源于一张张照片。我们能通过Coze来一饱眼福呢?答案是肯定的,Coze提供了丰富的插件功能来实现图片的调用。

image.png
在这里我们使用必应搜索这个插件来搜索相关信息,在我的bot中添加这个插件,来实现通过我输入的描述在必应上搜索相关的图片。

image.png

image.png

image.png
在这个过程中涉及到两个插件的调用,在我的bot中当我输入C113的信息时,他会调用我自创的插件进行查询,当我问到第二个问题的时候,封装的api无法查询到例如飞船和火箭的依赖关系时,就会通过必应来搜索二者的关系并返回相关的图片。

让火箭就在我们的手边

在coze的试用发布的时候,我发现coze和其他的大模型平台不一样的是,coze提供了丰富的发布平台,掘金飞书微信等等等等。

平时由于工作的原因,我也是一个飞书的一个重度使用者。我在想能否让这个火箭小助手给我提供和火箭相关的生活灵感?例如电脑壁纸?手机屏保等等等等(常规的搜索引擎搜火箭壁纸质量堪忧)。

在这个过程中我引入了新的一个插件:通义万相(官方描述:通义万相,提供了一系列的图像生成能力。支持根据用户输入的文字内容,生成符合语义描述的不同风格的图像,或者根据用户输入的图像,生成不同用途的图像结果)。可以看到官网的效果还是非常好的。

image.png

**我们该如何在我们的bot中调用这个插件呢?梳理一下我们目前的思路:已经存在两个插件:自建的spaceX插件,搜索引擎。于是我们有了两个新思路:

1:一次输入,自动给我三个结果,分别是火箭的参数,实物图片,以及对这个实物的描述。在此基础上建立工作流,让这个实物的描述作为万相的输入,来生成的图片。

2:查询和生成是两套逻辑,查询时输出参数和实物图片,生成时再向万象给予相应的参数。**

这里我对两套方案都进行了相关的实操,然后考虑到到了两个点,首先是function call的稳定性,在经过测试之后发现,第一套方案的输出稳定性较差,其次通过搜索引擎给出的描述,来用万相生成图片,会存在较大的差距。
这是第一套方案的工作流逻辑:

image.png

在这里我们选择了第二个方案,就是把查询和生成作为两套逻辑去进行,在prompt中进行相关的描述,描述模版如图所示。
image.png

ce0123284a9842bd80279321a6fa61d9_3.png

可以看到效果非常亮眼,后续将该bot发布到飞书,就可以做到在你的飞书中每天获得一张全世界独一无二,AI无限的壁纸。

结语

站在一个粉丝的视角,通过coze创建了一个简单的插件和bot,但是他带来的生命力和创造力是令人心潮澎湃且久久不能平复的,且用coze生成的一首五言绝句作为结语:

**火箭破云霄,数码逐浪高。

云思络绎计,智算览未遥。**

bot id:7357967824075882548

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%