2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dify】Triggerで毎日NHKニュース要約をSlack通知させてみた

Posted at

はじめに

こんにちは。Fusicの大宮です🫡

今回は、Dify v1.10.0のアップデートで追加されたTrigger機能の検証を目的として、
毎日7時半にNHKニュース要約をSlack通知をさせてみました。

ワークフロー

image.png

処理フロー

1. Schedule Trigger (スケジュールトリガー)

そもそもTriggerには、3種類あります。

  • Schedule Trigger
  • Webhook Trigger
  • Plugin Trigger

今回使用するのは Schedule Trigger , Webhook Trigger です。
Schedule Trigger は日次でDifyワークフローを動作させるためであり、
Webhook Trigger は動作検証のために使用しました。

image.png
上の画像のようなビジュアル設定の他、Cron式を使用した設定が可能です。

2. RSS取得

NHKニュースのRSSフィードを HTTP Request ノードで取得します。
エンドポイントは以下の通りです。

https://www3.nhk.or.jp/rss/news/cat0.xml

Dify の HTTP Request ノードでは、XML もそのまま文字列として取得できるため、
後続のコードノードで自由にパースできます。(もうねコードノードが一番好き)

image.png

続くコードノードではElementTreeでXMLをパースし、必要なデータだけを抽出しています。
今回抽出している項目は次の三つです。

title
link
description

抽出後は、後続の処理と連携できるよう、それぞれ JSON 文字列として出力しました。

3. 要約LLM

抽出した description を LLM に渡し、3文以内の要約を生成します。
構造化出力(Structured Output)機能を利用してスキーマを設定しています。

{
  "type": "object",
  "properties": {
    "summaries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": ["summaries"],
  "additionalProperties": false
}

このスキーマにより、返却値の形式を summaries 配列に限定できます。
LLM に構造を任せすぎないための設計 として、
要約対象は description のみとし、タイトルやリンクは LLM に渡していません。

4. Slack通知

最後に、要約結果とタイトル・リンクをまとめて Slack に送信します。
Slack の Incoming Webhook プラグインを使用すれば、
Webhook URLの入力だけでメッセージの送信が可能です。

コードノードで以下のような整形処理を行いました。

  • JSON 文字列として渡されてきた titles / links をデコード
  • Slack に読みやすいよう、番号付きのテキストブロックを生成
    例:
【NEWS 1】
要約本文
記事URL

整形後のテキストを Slack Webhook ノードに渡して通知
以上で処理は完了します!
image.png

所感

Difyの得意とするシンプルな開発体験や自動化をさらに強化させた良いアップデートだったと思います。
Plugin Triggerは特に、業務自動化に欠かせない機能になるのではないでしょうか、、👀

  • シンプルなUIでスケジュール設定ができる
  • 自動化タスクは定期or自動検知で行いたいものが多い

今後もTriggerを含む、機能の検証を継続していきたいと思います。

ではまた!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?