ChatFlow 实战:搭建 Twitter 账号分析助手
作者: Steven Lynn。 Dify Technical Writer。
简介
Dify 内置了一些网络爬虫工具例如 Jina ,它可以将网页转换为 LLM 可以读取的 markdown 格式。
然而,X(以前叫 Twitter)自 2023 年 2 月 2 日起停止提供免费 API 访问,并且升级了其反爬虫措施。像 Jina 这样的工具无法直接访问 X 的内容。
Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵
— Developers (@XDevelopers) February 2, 2023
好在 Dify 有 HTTP 工具,我们可以通过发送 HTTP 请求来调用外部爬虫工具。下面让我们开始吧!
本实验中你将掌握的知识点
ChatFlow 的基础知识
如何在 Dify 中避免明文密钥
HTTP 工具的使用
前提条件
注册 Crawlbase
Crawlbase 是一个为企业和开发者设计的全方位数据爬取和抓取平台,Crawlbase Scraper 可以从 X、Facebook 和 Instagram 等社交平台抓取数据。
点击注册:crawlbase.com
Dify 平台
Dify 是一个开源的 LLM 应用开发平台。你可以选择云服务(开箱即用)或参考 docker compose 本地自建 Dify 平台。我们需要使用 LLM 处理由 Crawlbase 抓取的社交平台数据。
Free 版本的 Dify 提供了免费 200 条 OpenAI 的消息额度,如果消息额度不够用,你可以参考下图步骤, 自定义其它模型供应商。
点击右上角头像 - 设置 - 模型供应商
创建 ChatFlow 应用
现在,让我们开始创建 ChatFlow。点击创建空白应用 - 工作流编排
:
初始化的 Chatflow 应用如下:
添加节点
开始节点
在开始节点中,我们可以在聊天开始时添加一些系统变量。在本文中,我们需要一个 Twitter 用户的 ID 作为字符串变量。让我们将其命名为id
。
点击开始节点并添加一个新变量:
代码节点
根据Crawlbase文档所述,变量url
(将在下一个节点中使用)为 https://twitter.com/
+ user id
,例如 Elon Musk 应当是https%3A%2F%2Ftwitter.com%2Felonmusk
。
为了将用户ID转换为完整URL,我们可以使用以下Python代码将前缀https://twitter.com/
与用户 ID 整合:
添加一个代码节点并选择 Python ,然后设置输入和输出变量名:
HTTP 请求节点
根据 Crawlbase文档,如果以 HTTP 请求格式抓取 Twitter 用户的个人资料,我们需要按以下格式填写 HTTP 请求节点:
出于安全考虑,最好不要直接将 API Key 作为明文输入。在 Dify 最新版本中,可以在环境变量
中设置令牌值。点击 env
- 添加变量
来设置 API Key,这样就不会以明文出现在节点中。
点击此处获取 Crawlbase API Key。输入 /
插入为变量。
点击此节点的开始按钮,输入Elon Musk 的 URL 进行测试:
LLM 节点
现在,我们可以使用 LLM 来分析 Crawlbase 抓取的结果并执行我们的命令。
变量 context
的值为 HTTP 请求节点的 body
。
以下是一个提示词示例。
测试运行
点击 预览
开始测试运行,并在id
中输入 Twitter 用户 ID:
例如,我想分析 Elon Musk 的推文,并以他的语气写一条关于全球变暖的推文。
点击右上角的发布
,并将其添加到你的网站中。
写在最后
Crawlbase 应该是目前最便宜的 Twitter 爬虫服务,但有时它可能无法正确抓取用户推文的内容,具体效果请以实际调用为准。
链接
Dify 的 GitHub 仓库
Last updated