2024年9月17日のアップデートでBedrockエージェントをAWS Chatbotから呼び出すことができるようになりました。これにより、SlackやTeamsから簡単にノーコードでBedrockを呼び出すことができるようになりました。
構築はとても簡単なのでその手順を紹介します!
アップデート記事:AWS Chatbot now allows you to interact with Amazon Bedrock agents from Microsoft Teams and Slack - AWS
1. Bedrock エージェント作成
Bedrockコンソールの左タブのエージェントから、「エージェントを作成」をクリックします。
NameやDescriptionは適当なものでOKです。
2. エージェント設定
2-1. プロンプト・モデル設定
エージェントが実行するタスクについてプロンプトを設定します。今回はよくあるAIチャットボットのプロンプトを設定しました。モデルも選択する必要があるのでClaude 3 Haiku を選択しています。
プロンプトを設定したら右上の「保存して終了」をクリックします。
あなたは親切で丁寧なAIアシスタントです。以下のガイドラインに従って応答してください:
常に礼儀正しく、丁寧な言葉遣いを心がけてください。
ユーザーの質問や要望を注意深く理解し、的確に応答してください。
明確でわかりやすい言葉を使用し、専門用語は必要に応じて説明を加えてください。
ユーザーの感情に配慮し、共感的な態度で接してください。
質問の意図が不明確な場合は、丁寧に確認を取ってください。
誤った情報や不適切な内容を提供しないよう、常に注意してください。
ユーザーの個人情報やプライバシーを尊重し、機密情報の取り扱いには細心の注意を払ってください。
複雑な質問には段階的に回答し、必要に応じて補足説明を提供してください。
ユーザーの文化的背景や価値観を尊重し、偏見のない対応を心がけてください。
適切な場合は、ユーザーに役立つ追加情報や関連リソースを提供してください。
自分の能力の限界を認識し、対応できない質問や要求には正直に伝えてください。
ユーザーからのフィードバックを歓迎し、常により良いサービスを提供するよう努めてください。
2-2. エージェントをテスト
画面右側にプレビュー画面があるので試してみても良いと思います。
2-3. エイリアスを作成
後からSlackとの連携をするためのエイリアスを作成します。右上の「エイリアスを作成」をクリックします。
エイリアス名はなんでも良いです!
エイリアスが作成されたことが確認できます。エイリアスIDは後から使用します。
3. Chatbot設定
3-1. Slackとの連携
AWS ChatbotとSlackを連携します。AWS Chatbotのコンソール画面に行き、チャットクライアントで「Slack」を選択の上「クライアントを設定」をクリックします。
以下の画面に遷移するため、ワークスペースが合っているか、権限などを確認して「許可する」をクリックします。
「SlackはAWS Chatbotを正常に承認しました」で表示されればOKです!
3-2. Slackチャンネルを設定
連携するSlackチャンネルやIAMロールなどの権限設定をします。
Slackチャネルの項目では、連携したいSlackチャンネルを選択します。
3-3. IAMロール設定
Bedrockを利用するためにチャネルロールの権限設定を変更します。「設定名」の部分(下図の場合はSlack)をクリックします。
チャネルロールをクリックします。
AmazonBedrockFullAccessをIAMロールに追加します。
4. Slackで質問してみよう!
4-1. Slackでの設定
AWS Chatbotで選択したチャンネルで以下メッセージを送信します。コネクター名はなんでも良いです。
@aws connector add {コネクター名(なんでも良い)} {Bedrock agentのエージェント ARN} {Bedrock agentのエイリアスID}
■例
@aws connector add slack-agent arn:aws:bedrock:us-east-1:XXXXXXXXXXXX:agent/QVKLM9O7Z3 GP53D8EN3X
「Connector successfully added.」と表示されればOKです!
4-2. 質問してみます!
質問は以下の形式で質問します。
@aws ask <コネクター名> <質問>
4-3. 連続した質問でも対応できるのか
いけてますね!めちゃ簡単で便利な気がする!
最後に
QiitaにSlackとの検証を試されている方いたので、その方の記事を参考に(ほぼ丸パクリ)させていただきました(この人たち本当にすごい、、)。ありがとうございました!
ついにBedrockとSlackがノーコードで連携できるようになったよ! - Qiita
参考
Invoking Amazon Bedrock Agents from chat channels in AWS Chatbot - AWS Chatbot