ZapierとChatGPTで記事を選別してSlackに流すRSSの作り方
SlackにRSSなどで記事を流すと、目的とは違ったものが取得されてしまうことはありませんか?
例えば、「他社の技術ブログの中からSREの記事だけが見たい」などのときです。実行するにはちょっとした工夫が必要です。
今回はそういったケースに対応するために、ChatGPTとZapierを組み合わせた記事の選別方法を紹介します。
そもそもこのZapierが実装されたのは、↑のような私のなんとなくのつぶやきが発端でした。
「エンジニアが書く技術記事だけチャンネルに流れるようにしたい」
とSlackで発言したら、エンジニアの田中さんが数分で実装してくれました。爆速王。
田中さんはnote AI CreativeというnoteのAI特化の子会社に所属しており、こういった生成AIなどによる業務改善を主導して行ってくれています。社内に業務改善を推進してくれるチームがいるのは本当に心強い。
では、ここからZapierでChatGPTを活用した記事の選別方法について解説していきます。仕組みがわかればZapierではなくとも、IFTTTなどの他サービスにも流用できるはずです。
※ この実装はLayerXさんの記事を参考にして作られました
実装方法
ステップ1: Slackの投稿を拾う
noteでは #info-note-noteのみんな というチャンネルに、全社員のnote記事が流れるようになっています。今回はそのSlackチャンネルに流れている情報を取得して、技術記事かどうかを選別します。
この記事と同じように実装したいと思っている方がいたら、SlackにRSSで記事情報を集約するチャンネルを作ってから実装してみてください。もちろん直接RSSから情報を取得してもOKです。
ステップ2: 記事の情報を取得
記事のAPIを利用したり、URLからGETなどを使用したりして、記事の本文が取得します。取得した記事本文は次のステップで利用します。
ステップ3: Markdownに変換
取得した記事の本文をMarkdown形式に変換します。Markdown形式にすることで、後の処理や表示が簡単になります。
ステップ4: LLMで技術記事か判定
次に、ChatGPTを利用して記事が技術記事かどうかを判定します。技術記事かどうかの判定は0か1で返してもらうようにしています。
こうすることで、Zapierでtrue or falseの判定をしやすくしているのです。プロンプトは以下の通りです。
ChatGPTの判定結果が1(技術記事)であれば、次のステップに進みます。判定結果が0(技術記事でない)であれば、処理を中止します。
まとめ
ZapierとChatGPTを活用することで、業務の効率化を図ることができました。簡単なのでぜひ実装してみてください。
note AI Creativeは2023年の12月に設立されましたが、こういった業務改善を積極的に行っています。社内改善を行ってくれるチームが存在してくれることが、一種の福利厚生のような状態なので非常にありがたい。
▼note株式会社では、LLMエンジニアとLLM Opsエンジニアを積極採用中
▼noteの技術記事が読みたい方はこちら