思路
今天我们来学习使用 Dify 的工作流来搭建一个资讯推送应用。我们的目标是从号称程序员圈的"微博"的 Hacker News 获取**的文章资讯,并将整理后的资讯推送到企业微信群中。通过这个过程,我们将体验到 Dify 工作流的强大功能和自动化处理的便捷性。
使用到的节点类型
1. 开始节点 :配置程序启动的初始参数。
2. HTTP 请求节点 :发送 HTTP 请求获取数据。
3. 迭代节点 :遍历数组执行多次步骤。
4. 参数提取器节点 :处理和提取参数。
5. 模板节点 :允许借助 Jinja2 的 Python 模板语言灵活地进行数据转换、文本处理等。
6. LLM 节点 :调用大语言模型处理自然语言。
7. 企业微信(发送群消息)节点 :将整理后的资讯推送到企业微信群。
一、 首先了解Hacker News API介绍
Hacker News 是一家社会化新闻网站,由硅谷教父保罗·格雷厄姆的创业孵化器 Y Combinator 创建。在程序员圈,尤其是技术大神圈里,非常流行, 里面有很多第一手的技术圈资料和新鲜八卦趣事,号称程序员圈的"微博"。
在GitHub上有一个关于该网站的API接口(https://github.com/HackerNews/API),该接口与Firebase合作,可以实时地提供公开的 Hacker News 数据。该API提供了数据接口 https://hacker-news.firebaseio.com/v0/ URL,其中V0是API的版本号,所有信息都是基于这个接口添加后缀进行。
更多信息可以去GitHub上学习了解,这里只重点介绍家展示2个最常用的查看实时数据的API接口以及调用。
(一) 查看新故事、热门故事和**故事
前500 个热门和新故事位于 /v0/topstories和 /v0/newstories 中。**故事位于 /v0/beststories。在数据接口(https://hacker-news.firebaseio.com/v0/ )后面接入查看。
比如查看调用**故事:https://hacker-news.firebaseio.com/v0/beststories.json?print=pretty,
使用 ?print=pretty控制响应数据的格式。使其以“美化”或“易读”的格式返回 JSON 数据。
一、 进入Dify编排工作流
第一步:开始节点
通过开始节点,我们可以配置程序启动的初始参数,
第二步:HTTP 请求节点
我们以调用Hacker News**故事的数据为例,经过上面的学习我们能确定获取前500**故事列表数据的API:https://hacker-news.firebaseio.com/v0/beststories.json?print=pretty
(注意:这里有一个问题,需要把http请求节点的BODY设置为none即可,设置成json的话会报错)
然后以get方式配置 HTTP 请求节点的API。
第三步:参数提取器节点
使用上一步HTTP请求节点可以得到Hacker News**故事列表的 ids。接下来的思路就是将得到的 ids 输入到迭代器中即可,来遍历 ids 获取文章的详情。
但是,这有一个问题,使用迭代的条件是确保输入值已经格式化为列表对象,如果HTTP请求节点直接连接迭代节点的话,你会发现没有可用的变量。所以,我们需要用一个参数提取器节点从HTTP请求节点输出的变量bodyString中提取名为"ids"的Array[Number]数组。这样不仅可以将参数转换提取出来,还能对参数进行预处理,比如限制结果数量等。通过这种方式,我们可以确保在链接到迭代节点时,能够得到格式化且符合要求的数组入参 ids。
第四步:迭代节点
迭代的作用是对数组执行多次步骤直至输出所有结果,是针对重复性任务的利器。应用场景如:长文章迭代生成器、遍历请求等。
在迭代节点中,我们能够获取到每一次遍历的元素,即每个文章的 id。通过这种方式,我们可以对每个 id 进行进一步的处理,例如发送新的 HTTP 请求来获取文章的详细信息。这样,我们就能逐一处理每个文章的 id,确保每篇文章都能被正确地获取和处理。
然后在迭代节点内添加HTTP 请求节点以获得文章详情,吸取刚才的经验,我们留意一下迭代器输出的变量是 Array[String]。而接下来我们要做的就是使用 LLM 节点对返回的结果进行整理总结,我们来看看LLM 节点。
第五步:模版转换节点
因为LLM节点不支持数组格式的入参,因此需要将数组转成文本才能进行下去。我们需要使用 代码执行节点 转换或者 模板转换节点转换。这里我们使用 模板转换节点 转换 :
第六步:LLM节点
现在可以利用大语言模型对文章进行格式化处理了。
第七步:发送企业微信群消息
接下来我们将整理好的资讯推送到企业微信群,添加节点 - 工具 - 发送群消息。在企业微信群中创建机器人,获得 WEBHOOK 的 KEY 后填入。
运行,结果展示:
至此,我们就完成了一个资讯获取 - 数据处理 - 推送到企业微信群的 Dify 应用。通过这个过程,我们展示了如何使用 Dify 的工作流来实现自动化资讯推送,并体验到了工作流的强大功能和便捷性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/190298.html