この記事について
2024年9月17日に、AWSから
AWS Chatbot now allows you to interact with Amazon Bedrock agents from Microsoft Teams and Slackというニュースが発表されました。
AWS Chatbotにおいて、Amazon Bedrock Agent との連携が容易にできるようになったとのことで、実際にSlack内でAmazon Bedrock Agentとのやりとりを試してみた記事になります。
前提
- 任意のワークスペースでSlackチャンネルを作成済み
- Amazon Bedrock Agent を作成済みであること
- エージェントarnと、エイリアスIDを連携の際に使用します
- エージェントはこちらの記事で作成したエージェントを使用しました。ここでは、詳細の構築手順の解説は割愛します(※1)
※1 エージェントの振るまいとしては、以下のようになっています。
①AWSの生成AIに関する質問が来た場合は、AWSの生成AIニュースのサイトから最新の記事を3件を要約して、参照元をつけて回答させる
②デジタルガバナンスコードに関する質問が来た場合は、ナレッジベース内のドキュメントを参照して回答させる
(ナレッジベースには経産省の資料を格納しています)(※2)
③一般的な質問に関しては、FM(基盤モデル)が持つ一般的な知識に基づき回答させる
※2 ナレッジベースに格納している資料は以下です。
経済産業省資料
デジタルガバナンスコード2.0
デジタルガバナンスコード3.0~DX経営による企業価値向上に向けて~(案)
手順
①AWS Chatbotのコンソールへアクセス、「クライアントを設定」をクリック
②認証画面にリダイレクトされるので、Slackワークスペースにサインインを行う
サインインを行った後、AWS ChatbotがSlackワークスペースにアクセスを許可して良いかを確認する画面が表示されるので、確認を行ったのち、「Allow」をクリックします。
すると、下記のような画面に遷移すると思います。これでSlackワークスペースとAWS Chatbotの連携が完了しました。
③Slackチャンネルへの連携にあたっての設定
次は、AWS Chatbotと、接続したいSlackチャンネルとの設定を行います。
「新しいチャネルを作成」ボタンから、連携先のチャンネルの情報を入力していきます。
今回はパブリックの、「test-aws-chatbot」というチャンネルに連携を行います。
設定の途中で、アクセス許可に関する設定を行います。(チャンネルのメンバーがサービスにアクセスする必要があるため)チャネルガードレールポリシーという部分で、Amazon Bedrockへのアクセスするポリシーをアタッチする必要があります。今回はAmazonBedrockFullAccessをアタッチしました。
以上を設定したら、決定ボタンを押下します。以下のように、「設定済みのチャネル」という部分に、作成したチャネルが表示されていればOKです。
④Slackチャンネル内で、Bedrock Agentを接続する
対象のSlackチャンネル上で、以下を実行します。
@aws connector add connector_name arn:aws:bedrock:aws-region:XXXXXXXXXX:agent/AgentID AliasID
コネクタ名は「agent」としています。
正常に接続が成功していれば下記のような表示になります。
動作確認してみる
実際にエージェントに質問してみた結果がこちらです。期待通りの結果になっていそうです🙌
①パターン1:デジタルガバナンスコードに関する質問
事前に作成したナレッジベースの内容に基づき回答を生成してくれています。
②パターン2:AWSの生成AIニュースに関する質問
生成AIニュースに関する質問が来た場合は、最新の生成AIニュースを3件取得し、参照元を提示して紹介させる、という指示を事前に与えていることを考慮すると、問題なく回答がされているようです。
③パターン3:一般的な質問
こちらも問題なく回答を生成してくれています。
所感
既に作成済みのBedrock Agentが存在していた、という前提はありますが、連携させるのにかかった時間は約30分くらいでした。ノーコードで簡単に連携を行うことができ、非常に便利だと感じました。
普段の業務ではよくSlackを使用するので、今回試した内容をもう少しひねって、何か業務改善に転用できたら良いなと思いました。
参照
https://aws.amazon.com/jp/about-aws/whats-new/2024/09/aws-chatbot-amazon-bedrock-agent-microsoft-teams-slack/
https://docs.aws.amazon.com/chatbot/latest/adminguide/connect-bedrock-agents.html