🔔

AWSの最新アップデート情報の要約をSlackに通知するシステムを作ってみた

に公開

こんにちは。こしです。

今回は、日々の技術のキャッチアップを楽にできるシステムを構築してみました。

作ろうと思ったきっかけ

最近、業務でChatGPTのAPIを使うことが多く、その知見を活かしてみたいと思って作りました。

また、最新のAWSの情報などを集めるのを毎回(朝)忘れてしまう...というか読むのが面倒臭いな~と感じておりました。

なので、私の悩みとしては

  • 定期的に読むように、通知したい
  • 内容を要約して、簡単に理解できるようにする
  • できれば、アップデート内容、今までの課題、検証項目、などを出してほしい

上記3点でした。

リポジトリ

Githubに公開しています。

https://github.com/Hide1221git/aws-update-summarize-bot

システム構成図

システム構成図

  • 定期実行は、Github Actionsのスケジュール機能を使用
  • Github Actionsの仮想環境で、pythonの実行環境のインストール、実行

Pythonスクリプト

主に3フェーズあります。

  1. AWSのRSSフィードから、アップデート内容を取得
  2. 1の内容をプロンプトとともに、Open AI APIで要約を取得
  3. SlackのIncomming WebhookでSlackに通知

プロンプト

Open AI APIに送る際のプロンプトは、以下のようになっています。

prompt = f"""
    以下はAWS公式のアップデート情報です。
    Zennに投稿できるような技術ブログ風のMarkdown形式の要約を作成してください。

    ## タイトル
    {title}

    ## 概要
    {summary}

    ## 現在時刻を取得し、現在のAWSの仕組みと、アップデート情報で何が違うのかを比較して、どのような違いがあるのかをまとめて。また、形式は以下を守ってください。
    ## 形式
    ・現在までのAWSの仕組み
    ・現在までの課題をや、クラウド環境を構築する人の悩みを収集し、端的に説明
    ・アップデートを使って、どのように悩みが解決されるのかを説明

    ## 検証方法

    """

動作確認

定期実行と手動実行のときの動作確認をします。

  • 要約したものがマークダウンの形式で帰ってきていること
  • 日によって内容が違うこと
  • 手動実行と定期実行で大体同じ要約が出力されること

定期実行

定期実行

手動実行

手動実行

いい感じですね。

まとめ

今回は、AWSのアップデート内容を、定期的にわかりやすくSlackに通知するシステムを作ってみました。
Open AI APIを利用した個人開発は初めてだったので、楽しかったです。
Githubにも上げておりますので、よかったら使ってみてください。
また、もっち良い方法がありましたら、教えていただけると助かります。

GitHubで編集を提案

Discussion