follmy

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

おわり

🐻


プロフィール

koyamaaa2です。

プライバシーポリシー