2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Chatbotを使用して、Slack上でAmazon Bedrock Agentとやり取りする

Last updated at Posted at 2024-09-29

この記事について

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のコンソールへアクセス、「クライアントを設定」をクリック

スクリーンショット 2024-09-29 151812.png

②認証画面にリダイレクトされるので、Slackワークスペースにサインインを行う

スクリーンショット 2024-09-29 134255.png

サインインを行った後、AWS ChatbotがSlackワークスペースにアクセスを許可して良いかを確認する画面が表示されるので、確認を行ったのち、「Allow」をクリックします。
スクリーンショット 2024-09-29 134336.png

すると、下記のような画面に遷移すると思います。これでSlackワークスペースとAWS Chatbotの連携が完了しました。
スクリーンショット 2024-09-29 134503.png

③Slackチャンネルへの連携にあたっての設定

次は、AWS Chatbotと、接続したいSlackチャンネルとの設定を行います。
「新しいチャネルを作成」ボタンから、連携先のチャンネルの情報を入力していきます。
今回はパブリックの、「test-aws-chatbot」というチャンネルに連携を行います。

スクリーンショット 2024-09-29 134654.png

設定の途中で、アクセス許可に関する設定を行います。(チャンネルのメンバーがサービスにアクセスする必要があるため)チャネルガードレールポリシーという部分で、Amazon Bedrockへのアクセスするポリシーをアタッチする必要があります。今回はAmazonBedrockFullAccessをアタッチしました。

スクリーンショット 2024-09-29 160954.png

「通知」セクションについては、今回は特に何も設定しません。
スクリーンショット 2024-09-29 161336.png

以上を設定したら、決定ボタンを押下します。以下のように、「設定済みのチャネル」という部分に、作成したチャネルが表示されていればOKです。
スクリーンショット 2024-09-29 134948.png

④Slackチャンネル内で、Bedrock Agentを接続する

対象のSlackチャンネル上で、以下を実行します。

@aws connector add connector_name arn:aws:bedrock:aws-region:XXXXXXXXXX:agent/AgentID AliasID

コネクタ名は「agent」としています。
正常に接続が成功していれば下記のような表示になります。
スクリーンショット 2024-09-29 141309-1.png

ちなみに、接続を解除したい場合は以下で解除できます。

@aws connector delete connector_name

解除に成功した場合はこんな感じの応答が帰ってきます。
スクリーンショット 2024-09-29 150002.png

動作確認してみる

実際にエージェントに質問してみた結果がこちらです。期待通りの結果になっていそうです🙌
①パターン1:デジタルガバナンスコードに関する質問
事前に作成したナレッジベースの内容に基づき回答を生成してくれています。

スクリーンショット 2024-09-29 163442.png

②パターン2:AWSの生成AIニュースに関する質問
生成AIニュースに関する質問が来た場合は、最新の生成AIニュースを3件取得し、参照元を提示して紹介させる、という指示を事前に与えていることを考慮すると、問題なく回答がされているようです。
スクリーンショット 2024-09-29 150914.png

③パターン3:一般的な質問
こちらも問題なく回答を生成してくれています。
スクリーンショット 2024-09-29 141530.png

所感

既に作成済みの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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?