OpenAI APIを使用して、AI関連のニュースを収集して発信するSlackBot(ずんだもん口調)を作ったお話
はじめに
こんにちは!北海道でエンジニアをしているNakaeです。
年明けくらいに社内でLangChainの教材を見つけたので、LangChainを題材に何か作れないかと思って勢いで作ったSlackBotについて記事を書こうと思います。(デプロイ後、速攻でお蔵入りとなったので供養も兼ねて)
作成の背景
LangChainの教材を見つけたというのが一番の背景ですが、もう一点作成に至った背景があります。
弊社はSNSや他社のTechブログから最新AI関連の情報を見つけて社内Slackに流して共有するというムーブメントがあるのですが、私はめんどくさがりなので自動で情報を集めて要約し、社内Slackに共有まで自動でやってくれるBotが欲しいなぁと思っていたということが作成に至った背景です。
できあがったもの
以下のように設定した時間に、今日のAI関連のニュースを収集・要約し、ずんだもん口調でSlack投稿するBotが完成しました。OpenAI APIとTavily APIを使用してPRTIMESからAI関連のニュースを検索したものを要約してずんだもん口調で発信するようにしています。

今回は作成したDockerコンテナをGCPのGoogleRunにデプロイして、GoogleSchedulerから定時にGetリクエストが送信されてSlackに投稿されるような構成にしました。
アーキテクチャは以下の通りです。
ソースコード
以下のGitHubリポジトリにソースコードを格納しております。
https://github.com/kouki6951/zunda-ainews-bot/tree/main
なぜずんだもん??
作成したBotがずんだもん口調なことに疑問を持たれた方もいるかと思われます。ずんだもん口調にした理由はOpenAI APIを使用した際のアウトプットにキャラクター付けをしたかったので、比較的自由に使用することができるずんだもんを採用しました。
終わりに
今回はAI関連のニュースを収集して発信するSlackBot(ずんだもん口調)を作成した話を記事にさせていただきました。実装をしたのが3カ月前で、記憶が大分曖昧になっているので解説不足感はどうしても否めないのは申し訳ありません。何か質問等あれば気軽にコメントしていただければ幸いです。
Discussion