Coze 工作流获取 Tweets 详解 | 「智图派」

Coze 工作流获取 Tweets 详解 | 「智图派」

Coze是一个可以不用代码来搭建AI聊天机器人的平台。我在这期视频当中已经详细地讲解了Coze的各种功能,以及如何用到GPT-4 Turbo的模型。感兴趣的朋友可以回看一下。

自从 Twitter 被马斯克买了之后,如果你想从 Twitter 网站的外面来获取推文信息,也就是用 Twitter API,就需要每个月充值100美元了。但是 Coze 却很大方地让你可以免费地用部分 Twitter API 的功能了。今天我就先给大家演示一个可以批量获取多个 Twitter 作者的推文的工作流,把这个工作流嵌入到你的 AI 聊天机器人里面。比如我这里加了两个 Twitter 账号,我的和马斯克的,这样就可以一次性地获取到我们两个人的推文了。

CleanShot-2024-04-25at00-57-13.png
CleanShot-2024-04-25at00-57-13.png

今天我首先给大家演示一下在 Coze 上可以用到的 Twitter API 的功能,然后再演示一下批量获取推文的工作流,最后我们再聊一聊 Coze 的局限性。

Plugins 的基本功能

CleanShot-2024-04-25at00-58-14.png
CleanShot-2024-04-25at00-58-14.png

getUsers

首先第一个 "get users",获得指定用户的信息,实际上也就是获得一个用户的 profile。我们就来试一下,比如让它来获取我的推文的信息。这边给的提示为了避免它混淆,我就明确指定了这个方法的名称,然后告诉它获取 axtonliu,也就是我的推特号的信息。好,这边我们就可以看到它很快速地得到了我的一些信息,我的名字、ID、粉丝人数、关注的人数等等,包括我的头像链接,还有我的描述、简介。

CleanShot-2024-04-25at01-07-06.png
CleanShot-2024-04-25at01-07-06.png

searchTweet

接下来 "search" 一个推文,那么它有三个参数,分别是 count,就是你要返回多少个推文;然后查询字符串,这个是一个必须要的参数,就是你要查询的关键词是什么;author 就是作者,也就是推文的推主。查询结果没错,这些都是我的推文,链接也是正确的。

CleanShot-2024-04-25at13-52-03.png
CleanShot-2024-04-25at13-52-03.png

那创建推文呢,这个就不用演示了,因为这本身就是一个免费给大家提供的功能,不会存在什么问题。就算有问题,我们可以通过其他各种办法来用它,包括使用 Make 工作流

获取推文串

还有获取一个推文线程以及获取一个用户的推文,这两个相对来说应该是更有用的一些内容。

我们先看一下 "get twitter thread" 的这个功能,获取一个推特线程。获取一个推文线程呢,它的参数是要 ID。这个 ID 哪来的呢?一个推文线程它的 ID ,实际上就是在它的 URL 里面。

请使用 get twitter thread 获取 ID 为某某的推文。

CleanShot-2024-04-25at13-57-19.png
CleanShot-2024-04-25at13-57-19.png

没错,整个线程总结的内容是正确的,很好。这个功能也是一个比较有用的功能,相当于你可以获取一个推主它整个推文串的主要内容。那这个功能就可以帮助大家去创建一个你自己的 AI 机器人,从推特上面去抓取一些你所关心的信息,你可以把这个信息做成你的日报,或者分享到你的群里面都是有用的。

批量获取推文的工作流

刚才我们看到,我们可以用这些插件来使用一些推特 API 的付费功能,比如获取用户信息、查找推文,以及获取推文的内容等等。在跟 Bot 对话的过程当中使用这些功能非常简单方便。但是如果我们需要去应对一些更复杂的场景,我们可能就需要去调用多个功能,或者把一个功能多次地调用。比如我接下来要给大家演示的一个场景,就是假设我要从我关心的多个推主那边去获得他们的最新推文,然后来总结出当前跟 AI 最相关的一些内容,以方便我获取信息。那我就需要去针对每一个用户,我都要调用一遍。那这实际上就是一个循环的过程,我们就需要用到工作流。

工作流它的目的就是来实现一些更复杂的任务。我要给大家演示的这个工作流,就是希望它能够一次性地获取到我、Elon Musk 的推文。只要把你所关心的作者的信息都加到它的列表里面就可以了。那首先呢,我要把我关心的这些推主,他们的账号名称是什么,告诉这个机器人。可以有很多办法做到。我在这边用的比较简单的方法,就是定义一个变量叫 authors,就是作者。然后这个 authors 里面,我就给了它,这是我的推特账号,还有 Elon Musk 的,我们两个人的账号就可以了,做个演示。

然后我们再进入到这个工作流里面,看看这个工作流它在干什么。

CleanShot-2024-04-25at13-59-59.png
CleanShot-2024-04-25at13-59-59.png

这就是我的整个工作流,工作流当中的每一个方块,实际上就是它完成的每一项功能,可以叫做模块。在 Coze 里面,它就叫做节点。

工作流节点概述

比如 Coze 里面所支持的这些节点,首先就有 basic 的节点,基本的节点。这就包括了大语言模型,然后 code 你可以写代码,完成一些客制化的功能。还有知识库、condition 条件,你可以设定一些条件,根据不同的条件去跳转到不同的功能场景。变量就是你机器人当中的变量可以进行交互。数据库也是一样。

CleanShot-2024-04-25at14-03-45.png
CleanShot-2024-04-25at14-03-45.png

除了这些基本的模块之外,它还可以用插件,同样也可以用其他的工作流来当做你的工作流当中的节点。既然我们的目的是为了查找推文,所以我们就要用到刚才我们前面演示过的获取推文的那个插件,也就是 X 那个插件。最下面对我们要用到 "search tweet" 这个模块,只要点击加号加进来就可以了。这就是今天的主角。

另外一个关键的模块呢,就是 variable。Variable 是 code 里面的一个基础模块,它的目的就是从你的 AI bot 里面,就是你的机器人里面,把你定义的变量的值取过来。我刚才在 AI bot 里面定义的变量,就是我关心的那些推文作者,也就是我、Elon Musk,还有 Andrew Ng,这三个人作为例子。所以这个模块的功能就是要把我定义的那三个人的账号拿过来,交给下一个工作流去用。所以很简单,我这边输入一个 key,authors 就是我在 bot 里面定义的这个变量的名称,就可以了。

CleanShot-2024-04-25at14-10-01.png
CleanShot-2024-04-25at14-10-01.png

它的输出,你给它起个名字就行。要看你的节点配置的正常不正常呢,你只需要点击右上角的播放按钮,就可以测试你的这个节点。运行成功就是绿色的。

这时候我们就可以看一下它运行的结果是什么。它的输出就已经取出了我定义的这三个人,这就说明我这个节点的配置是正确的。

CleanShot-2024-04-25at14-11-05.png
CleanShot-2024-04-25at14-11-05.png

Coze 的工作流默认会给你两个节点,一个是开始节点,你可以在这边去初始化一些你需要在整个工作流当中用到的一些数据。比如我要查询推特,我可能就需要一个关键词,我就可以在这边定义一个叫 query string 的一个变量,用它来存我们要查询的关键词就可以了。同样,最后它还会默认给你加一个结束的一个节点,结束节点的主要目的就是把你的结果输出,你就可以在你的机器人里头用它,或者你也可以在其他的工作流里面去调用它。

CleanShot-2024-04-25at13-59-59.png
CleanShot-2024-04-25at13-59-59.png

查询推文节点

此工作流主要节点就是查询推文。很多节点它都有两种运行模式,一种就是 single time,就是单次运行,还有就是批处理。

我们首先看一下它的单次运行。它需要三个变量,首先就是它的 query string。我们就让它用我们最开始的 start 里面定义的查询字符串就可以了。这边的作者和返回多少条结果都是可以定义的。我们可以先测试一下它单次运行的结果。那作者,比如说 axtonliu。运行一下,它会让你提供查询字符串,因为这个是一个变量,你没有在这边指定,所以你测试的时候需要给它提供一个,比如我们就 AI。然后运行,我们同样可以看一下它的结果。

CleanShot-2024-04-25at14-19-48.png
CleanShot-2024-04-25at14-19-48.png

那这就是它的查询出来的结果,有没有数据呢?是有数据的,查询出来了13个推文。我们就可以看到这个推文的一些信息,包括推文的内容,说明这个节点工作是正常的。

CleanShot-2024-04-25at14-23-21.png
CleanShot-2024-04-25at14-23-21.png

批处理模式

但是因为我们需要去同时要查三个人多个人的推文,所以我们肯定不能用单次执行,我们就要用到它的批处理模式。但是它的批处理模式就比较尴尬了,因为我们在它的文档当中没有发现有关批处理模式该怎么去配置的说明。

CleanShot-2024-04-25at14-33-05.png
CleanShot-2024-04-25at14-33-05.png

我们可以看一下 Coze 的这个文档,它当中对工作流怎么使用的一个简介。文档基本上都包含了一个工作流的基础操作,而且这边它还很贴心地提供了几个最佳实践的工作流的例子。比如识别用户意图这个工作流,这应该是这个例子当中最复杂的一个工作流。它的目的就是用大语言模型来根据用户的输入,去判断你的用户到底是想干什么,是想去搜索新闻信息呢,还是想去搜索天气的信息。基本上它的这个工作流的例子,就把它前面的工作流的一些例子都包含在一起了。所以如果你对 Coze 的工作流感兴趣,我建议你把它的这个工作流的例子好好地研究一下,可以方便你快速地了解工作流的工作过程。但是遗憾的就是在这个使用工作流的这个文档当中,只有单次的例子,没有批处理的例子。

回到我们的工作流。因为我们是要批处理嘛,所以我这边的参数呢,就需要用到前边某块的输出。比如它的查询关键词呢,就是 query string,这个我们在开始的节点上定义的查询字符串。那这个作者呢,就是那三个人,我、Elon Musk,还有 Andrew。因为批处理的过程实际上就是一个人一个人的处理,因此作者呢,实际上我用到的是它的批处理 Item1 这个参数,它并不是我前面的那个作者的变量,这点是需要注意的。至于然后要返回多少个信息呢,这边我们就随便定义一个行了,因为它不重要。

CleanShot-2024-04-25at14-38-26.png
CleanShot-2024-04-25at14-38-26.png

那么,item1 如何定义呢?

CleanShot-2024-04-06at00-07-54.png
CleanShot-2024-04-06at00-07-54.png

从界面上的英文介绍,”The batch list will assign an item to the batch variable in order” ,首先说明我们所需要批处理的变量,也就是在我们的场景中的作者,author,就应该是来自 Batch 列表里面的 item,由于我这里只有一个批处理变量,所以在 Batch 当中,只有一个 item,也就是 item1,当然我们可以把 item1 改成更合适的名字。因此,在下面的 Input 中,就需要注意,author 的值是来自于 item1

接下来的问题是,我如何给 item1 赋值?从说明来说,Batch List 应该是一个 List 类型的值,这其实就考验编程基础了,在没有文档的情况下,别说 NO-CODE 了,有编程经验的都未必能搞定。

Item 既然是作者列表,我刚开始理所应当就认为它的值应该是来自与 Variable 模块,因为那个模块输出的就是我配置的作者列表。但实际上会很尴尬地发现,没有可供选择的数据。

CleanShot-2024-04-25at15-53-13.png
CleanShot-2024-04-25at15-53-13.png

接下来我就想,你既然是个 List 列表,那么数组也可以,Dictionary 词典应该用不到,我们就先往数组方向努力吧。

但是,Variable 的输出 Output 只有字符串类型,因此我就尝试把 Variable 输出的字符串 “axtonliu, elonmusk, AndrewYNg” 写成各种看起来像数组的形式,比如(axtonliu, elonmusk, AndrewYNg) 或者 [axtonliu, elonmusk, AndrewYNg] 等等,怎么都不行。

去 Coze 官方的 Discord 论坛中,发现只有一个勤劳的 Coze Assistant 在回答问题,首先它说很简单啊,给个变量赋值数组就可以了。。。

CleanShot-2024-04-25at16-06-21.png
CleanShot-2024-04-25at16-06-21.png

接着,甚至表示在 Code 模块中写代码来转换为列表:

CleanShot-2024-04-25at16-06-46.png
CleanShot-2024-04-25at16-06-46.png

但是我加入 Code 模块之后,很快就选择先考虑考虑有没有别的办法再说吧。

这时候我就想到,LLM 不就可以完成各种格式转换吗,它能不能帮我转换成一个数组呢?

加入 LLM 模块后,惊喜地发现输出数据的类型中,居然有各种类型的数组:

CleanShot-2024-04-25at16-11-21.png
CleanShot-2024-04-25at16-11-21.png

那么接下来就很简单了,只需要一句很简单的 PROMPT,然后把输出变量的类型,定义为 Array 字符串数组,就可以了。

CleanShot-2024-04-25at16-16-57.png
CleanShot-2024-04-25at16-16-57.png

所以,批处理实际上就是在完成一个 For 循环。所需要循环的列表,来自于前一个模块,也就是 LLM 输出的数组。

我们可以看一个简单的 Python 代码的 For 循环,如果你不熟悉代码,略过这一段就可以了,用代码只是为了进一步明确一下批处理的工作逻辑。

# 定义一个列表
output = ['axtonliu', 'elonmusk', 'AndrewYNg']

# 使用for循环遍历列表中的每个元素
for item1 in output:
    <searchTweet>

在循环过程中,列表中的值依次取出,给到 item1,也就是我们定义的,Batch 里面的变量。循环结束有两个条件,要么列表中值都取完了,要么是达到 Maximum times 定义的循环次数。

问题的最后解决很简单,但是也确实耗费了我一些时间。虽然这个时间耗费的很不值当,因为如果能看到相关的文档描述或者一个例子,解决问题是分分钟的事情,但是整个摸索过程还是有一点点趣味的。

结束节点

最后的结束的节点呢,我们就把它的结果输出到一个我们自己定义的一个变量,这个名字是随便起的。然后它的输出呢,实际上就是我们的查询推特的这个输出。那这样我们整个工作流就串起来了。

测试运行之后,我们可以看到查出了三个结果,输出的结果推文在 data → freeBusy → post 数组中。第一个查到了12个推文。那这个推文就是我的。第二个也是出来了12个推文,这应该就是 Elon Musk 的。然后我们再看最后一个,就是 Andrew 的推文。所以这个工作流它的效果就很理想,它完全是按照我们的要求输出了三个人的推文,但是每个人找出了12条推文。并没有严格地按照我们的 count 的定义去执行。

那么这样的我们就可以针对它找出来的这三个推文,它都返回了比较完善的一个数据结构,我们就可以继续对它进行一些后续的加工。比如你从三个人所有的推文当中,你再去挑选你最关心的内容,这就比较方便了。

结语

总结一下,Coze 可以让大家免费地使用付费服务,这点非常地好。但是这些服务它是有用量限制的,我在为视频做测试准备的时候就达到了限制,不能继续地去查询推文了。所以不要指望用它的推特功能来当做爬虫。第二,Coze 目前文档还是缺乏,这会让你耗费更多的时间和精力。这点希望它们能够尽快地完善起来。


推荐:

我的自用 GPTs 分享 → https://www.axtonliu.com/the-world-best-gpt-gpts/
免费 Notion 账号 → https://affiliate.notion.so/axton
Notion AI → https://affiliate.notion.so/axtonliuai
超好用的自动化工具 Make → https://www.make.com/en/register?pc=axton
超越 Google 的 AI 搜索 → https://perplexity.ai/pro?referral_code=N57GTJIQ
YouTube 频道必备工具:TubeBuddy → https://www.tubebuddy.com/axton
高性价比图片视频素材库:Envato → https://1.envato.market/axton

是的,以上是联盟链接,你通过这些连接注册或购买这些工具不会多花一分钱,但是我能得到一点微弱的好处,感谢对我创作的支持。

感谢阅读!如果你喜欢这次分享的内容,请点个👍(或者点个👎)让我知道,同时请分享给你的一个朋友。也欢迎你去我的YouTube频道 『 回到Axton 』看我的视频内容,咱们一起好奇地看世界!

保持健康,保持快乐!

Axton

Twitter | YouTube | Newsletter | AI精英学院

Read more

测试用 Make.com 手搓一个 Deep Research

Grok 3真的具备推理能力吗?面对免费开放的最强AI,我们该如何应对? 近几个月来,人工智能领域发生了翻天覆地的变化。继OpenAI、Google和Anthropic等科技巨头推出一系列强大模型之后,Elon Musk的AI初创公司xAI再次引爆舆论——全新推出的Grok 3号称是“最强AI”,不仅在性能上大幅超越自家Grok 2,更以免费开放的策略引发了业内外的广泛讨论。本文将深入剖析Grok 3的诞生背景、技术架构、性能表现以及它在推理能力上的真正实力,同时探讨这种免费策略对竞争格局的可能影响,并展望未来AI技术的发展趋势和面临的挑战。 1. 引言:Grok 3的诞生与市场冲击 1.1 Grok 3简介与推出背景 Grok 3是xAI最新发布的人工智能模型,其诞生背景充满戏剧性与战略考量。早在2015年,Elon Musk即曾参与创办OpenAI,但随着时间的推移,Musk对于OpenAI偏离初衷、走向商业化的趋势产生了诸多不满,从而在2023年另起炉灶成立了xAI。Musk在其直播演示中表示,Grok 3在计算力、推理能力以及数据支撑上都实现了质的飞跃,不仅较上一代

By Axton
Napkin AI: 一键生成专业图表

Napkin AI: 一键生成专业图表

主题 Napkin AI 工具介绍与使用教程:详细介绍了 Napkin AI 这款能将文本转化为专业图表的工具,并提供了实际操作指南。 AI 辅助内容创作与可视化:探讨了如何利用 AI 工具(如 NotebookLM 和 Napkin AI)来总结视频内容并将其转化为视觉吸引力强的图表。 专业图表在商业展示中的重要性:讨论了高质量图表在商业咨询和演示中的关键作用。 核心要点 * Napkin AI 能将文本自动转化为专业级别的图表,大大提高了内容创作和演示的效率。 * 该工具提供了丰富的自定义选项和高级功能,如 Spark Search 和协作功能,满足不同用户的需求。 * Napkin AI 的出现可能会降低高质量商业展示的成本门槛,使普通用户也能制作出专业水准的图表。 * 尽管目前还处于测试阶段,Napkin AI 展现出了巨大的潜力,预示着内容创作和信息可视化领域的变革。 洞见 Napkin AI 代表了一种新兴的"专业技能"趋势。

By Axton
Claude 新功能超越 ChatGPT?

Claude 新功能超越 ChatGPT?

主题 Claude最新数据分析功能发布与ChatGPT对比: 详细介绍了Claude新推出的数据分析功能,并与ChatGPT的高级数据分析功能进行了对比测试。 AI公司之间的竞争: 分析了Anthropic(Claude)和OpenAI(ChatGPT)在功能更新方面的竞争态势。 大型语言模型的数据处理能力: 探讨了Claude和ChatGPT在处理不同规模数据文件时的表现和局限性。 核心要点 * Claude新推出的数据分析功能能够处理CSV文件并生成交互式图表,展示了大语言模型在数据科学领域的应用潜力。 * Anthropic通过连续推出新功能,包括数据分析工具,似乎在直接挑战OpenAI的市场地位,反映了AI公司间激烈的竞争态势。 * 虽然Claude在图表交互性和视觉效果上表现出色,但在数据处理能力和全面性上仍落后于ChatGPT的高级数据分析功能。 * 大型语言模型正在向多功能、集成化方向发展,不再局限于纯文本处理,而是扩展到数据分析、可视化等领域。 洞见 AI公司间的功能竞争正在推动"AI即服务"(AIaaS)生态系统的快速演变。随着像Claude

By Axton