LayerX エンジニアブログ

LayerX の エンジニアブログです。

今日から始めるChatGPT+Zapierで雑パーソナライズ情報収集

皆さんこんにちは。CTOの松本です。LLM使ってますか?ChatGPT毎日触ってますか? LLMに熱狂してすでに1年以上が経ちましたが周辺エコシステムが充実してきたことでいろいろな取り組みがとても簡単に実現出来るようになったなーと感じています。 ということで今回はZapierを使った小ネタのご紹介です。

AI・LLM事業部の今

とその前に、AI・LLM事業部での取り組みから着想を得たものでして、AI・LLM事業部について簡単に紹介させてください。

LayerXの新規事業であるAI・LLM事業部では、バクラクでも取り組んできたビジネス文書の解析の延長としてLLMを活用して文書分析エンジンの開発を進めています。現在このエンジンを使ったエンタープライズ向けの新規プロダクト開発にいそしんでおります。とても楽しいですし、最近は様々なお客様からの引き合いも増えておりまして、事業成長に向けて満を持しての組織拡大というフェーズに至りつつあります。

note.com

ちなみに、BizDev、ソフトウェアエンジニア、SRE、プロダクトマネージャ、プロジェクトマネージャ全方位でポジションが空いておりまして絶賛募集中となります。

open.talentio.com

背中を預けられる心強いチーム × 大規模言語モデル × 新規事業、絶対楽しいと思います、少しでも気になった方以下でカジュアル面談もありますのでぜひ!

jobs.layerx.co.jp

海外ニュースの効率的収集

ところで皆さん、海外のニュースは読んでいますか?読んで業務に活かしたいですよね?私もそうです。 でも英語が出てくると、ちょっと疲れてる時には読む気がなくなったりということがしょっちゅうです。

そういう時も、記事をコピーしてChatGPTやClaude3で日本語の要約を生成して読む、対話して考えを深めるといったことをこれまでやってきました。 とはいえ、毎度コピーしてPrompt書いて、というのも面倒です。ましてやスマホだと、コピペもプロンプトも面倒さがさらに増しますね。

また、なんなら見落としているニュースも沢山あるかもしれません。気になるサイトのRSSフィードを集めてみても、目が滑ってしまってる、なんてことよくあると思います。

Zapierで組むパーソナライズ情報収集

こうした課題に対して、最近個人でもZapierを課金してみて解決策を作り最近運用しています。 Zapierは皆さんご存知かもしれませんが、様々なサービスのAPIを組み合わせて業務自動化を行う、いわゆるiPaaS(integration Platform as a Service)と呼ばれるサービスの一派です。例えばメールが届いたら自動でSlackに通知する、などが簡単に作れます。

Automate your work today | Zapier

このZapierにChatGPTやClaude3を組み合わせると強力な自動化が色々と作れるのですが、今回はこの仕組を活用して私の興味に合うニュースを効率的に収集する仕組を作りました。

大まかには以下のようなステップで情報収集をしています。

  1. RSSフィードをZapierで取得
  2. ChatGPT(gpt-3.5-turbo) + Zapierのフィルタで興味に合致しているか確認
  3. ZapierのWeb parserでコンテンツを取得
  4. ChatGPT(gpt-4-turbo)で内容を日本語で要約
  5. Slackに投稿

Zapの全体像

RSSフィードの収集はZapierが標準でRSSフィードクローラのappを用意しているのでそれを活用しています。Multiple Feeds指定にしておくと複数RSSを読み込めます。

RSSの設定

自分の興味に合致しているかのフィルターはChatGPTの連携を用いて以下のようなPromptを設定し、該当結果をresult=1 OR 0で出力してもらい、Zapierのフィルタで返答に1が含まれているか見ています。なんとなく自分が気になるキーワードを並べておき、RSSのタイトルとDescriptionから判定させている感じですね。

フィルタ関連の設定

その後は一般的なWebページの取得と要約というステップになっています。要約では自分の欲しいフォーマットを設定しておくと良いかもしれません。

Webページの取得と要約

ここで生まれた結果をSlackの特定チャンネルに投稿するようにすれば、ざっと気になるメディアのニュースが吸収できるようになります。

結果

Zapier + LLMの可能性

LLMの良いところは、出力の自由さにあります。今回はカテゴリに該当するかをresult=1のようなフォーマットで出力させ、フィルタすべきかの2値的な判定に使っていましたが、例えば必要な情報だけを抽出して後段の処理に渡すとか、さらにその内容を元にフィルタを加えるとかいろいろな処理が考えられます。

またZapierのzapに使えるパーツとしてはif文に相当するfilterだけでなく、Pathsという複数分岐型の機能も作ることが出来ます。ChatGPTやClaude3を活用しつつ定型の出力を行い、filterやpathsを加えることで、「重要な要件だけ処理をする」など様々なレコメンド、パーソナライズ的ワークフローを組めます。

本当に可能性、無限大だなと感じており、またこうした仕組み、だいたい10~20分もあれば組めてしまいます。 Bet Technologyに事業を改善しようという際にはZapier等のiPaaSとLLMの組み合わせ、とても便利です。

ぜひご活用を!というお話でした。