【Amazon Bedrockエージェント】AWS Chatbotを利用してSlackからBedrockを使えるようになったのでやってみた

目次
はじめに
こんにちは!クラウドビルダーズのKawabataです!
SlackでBedrockが使えるようになったというニュースが舞い込んできたので早速やってみました!
↓↓↓ニュースはこちら↓↓↓
Bedrock エージェントの作成
1. Bedrockのコンソールからエージェントを作成します

2. 「Agent builder」の画面から以下設定して「保存して終了」を押下
– エージェント名
– モデル
– エージェント向けの指示
– 「Additional setting」の「ユーザー入力」を「Enable」にします


3. 「保存」->「準備」->「保存して終了」の順に押下

4. 「エイリアスを作成」を押下

5. 「エイリアス名」を入力して「エイリアスを作成」を押下

IAMポリシー、IAMロールの作成
1. 以下IAMポリシーを作成します
Resourceは作成したBedrockエージェントのものに書き換えます
今回は「bedrock-agnet-invoke-policy」という名前で作成しています
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowInvokeBedrockAgent",
"Effect": "Allow",
"Action": "bedrock:InvokeAgent",
"Resource": [
"arn:aws:bedrock:aws-region:111122223333:agent-alias/AGENT12345/ALIAS12345"
]
}
]
}
2. 上記ポリシーをアタッチしたIAMロールを作成します
今回は「bedrock-agent-invoke-role」という名前で作成しています
AWS Chatbotの設定
1. AWS Chatbotのコンソールから「チャットクライアントを設定」で「Slack」を選択

2. ワークスペースへの権限リクエストについて聞かれるので、「許可する」を押下

3. 「新しいチャンネルを設定」を押下

4. 以下項目を設定して「設定」を押下
– 設定名
– Slackチャンネル
– チャンネルロール
-> 作成したIAMロール
– チャンネルガードレールポリシー
-> 作成したIAMポリシー


Slackの設定
1. 選択したSlackチャンネルから「チャンネルの詳細」->「インテグレーション」->「アプリの追加」の順に押下

2. 「AWS Chatbot」を選択する

3. 以下文章をSlackで送信してBedrock Agentを接続する
@aws connector add connector_name arn:aws:bedrock:aws-region:111122223333:agent/AgentID AliasID

質問してみる
以下文章を送信することで質問できます!
@aws ask connector_name your_message

つまずいたポイント
1. ポリシー作成時のarnはエージェントのarnではなく、エージェントエイリアスのarnを書き込む
※ALIAS12345の部分は「エイリアスID」になります
エージェントARN
arn:aws:bedrock:aws-region:111122223333:agent/AGENT12345
エージェントエイリアスARN
arn:aws:bedrock:aws-region:111122223333:agent-alias/AGENT12345/ALIAS12345

2. SlackでBedrock Agentを設定する際の名前は1-20文字

さいごに
今まではSlack上でアプリを作ったり、Lambdaを作成したりしないといけなかったですが、
簡単にSlackからBedrockを利用できるようになりました!
いろんな活用方法をこれから検討していきたいと思います!