ChatGPTで要約 -> Discordに通知するBot
2024-06-30
概要
主に英語サイトが配信してる記事の翻訳&要約を作って、Discordに通知してくれるBot。 要約はChatGPTを使用。
作った(作ってる)背景
記事(特に英語)の情報は、翻訳&全体読むの大変なので、興味の強い記事しか読まなかった。 ただ、もうちょっと情報取得を増やしたいなと思って、翻訳&要約したらいけるかもで作ってみた。 とりあえず要約対象のソースは一旦適当(mediumと独自サイトを一つずつ)にして、とりあえず動く状態まで作成中。 使い続けて良さそうだったら、対応プラットフォーム(rss配信してるところだと構造同じで使いまわせるはず)を増やしていきたい。
改善
デプロイ自動化
プッシュからデプロイまで自動化した。
Githubにpush -> CloudBuildでKMS復号&イメージビルド&CloudRunJobsデプロイ
個別サイトも自動で最新記事取得&内容要約
mediumみたいなrss配信しててサイト構造が同じサイト以外は、個別でHTMLをparseして一覧から最新記事の取得&記事の内容内容を取得することが必要だった -> 一覧ページから最新記事を取得して、最新記事の内容を自動で要約してもらえるように修正
- 最新記事じゃなくて古い記事を取得してしまう
- 要約が依頼したフォーマット通りにならない
みたいなケースもあるけど、一旦個別対応しなくてもいいようになった。
使用技術
開発環境:Docker, docker compose
サーバー:TypeScript, Node.js
DB:Postgres(無料なのでNeon使ってみた)
ORM:Prisma(初めて使った)
要約:ChatGPT API
CI:GithubActions
イメージ:ArtifactRegistry, CloudBuild
機密情報管理:KMS(APIキー等の環境変数周りの機密情報)
バッチ処理:CloudRunJobs
おわり
🐻