はじめに
10月に入り、やっと秋らしい感じになってきました。
データ分析エンジニアの木介です。
先日、AWS Chatbotの新機能を利用して、BedrockがTeamsやSlackと簡単に連携できるようになったと発表がありました。
今回は、その内容を確認して、BedrockとTeamsを連携する方法について、説明していきます。
概要
TeamsへのBedrockを使ったアプリの導入
構築環境
Teamsは、「一般法人向けプラン」と「家庭向けプラン」がありますが、今回は前者の「一般法人向けプラン」の内容を利用します。
以下が利用するAWS サービスです
また今回はus-east-1でのリージョンで構築を行っていきますが、AWS ChatbotのAmazon Bedrockとの連携はすべてのリージョンでサポートされているとのことです。
料金についてはTeamsにAIエージェントを配信するAWS Chatbotは無料で利用可能ですが、配信されるサービス(今回ではAgents for Amazon Bedrock)には別途費用が必要となります。
1. Agents for Amazon BedrockでAIエージェントを作成する
ではまずAmazon Bedrockを使ってチャットボットで回答をするAIエージェントを作成していきます。
AWSマネジメントコンソールのAmazon Bedrockより「エージェントを作成を選択」します。
以下の画面が出てくるので、任意のエージェント名を入力し作成を選択します。
エージェントの設定については以下の部分のみを修正し、他はデフォルトで設定をしました。
- モデル:Claude 3 Sonnet
- ユーザ入力:Enabled
- 質問に対して情報不足な時に追加情報を求める
- Memory: Enabled
- 会話内容を記憶する
上記設定後、保存して終了→準備でテストが可能になります。
作成したAIエージェントのテストが右側のチャット欄から行えます。
作成したAIエージェントで回答が出来ていることが分かります。
2. AWS Chatbotの設定
次にAWS Chatbotでチャットボットの設定を行っていきます。
まずBedrockと連携したいTeamsアカウントからリンクを取得します。
チャネルより右クリックで「チャネルへのリンクを取得」でリンクをコピーします。
AWS Chatbotの設定で必要ですのでメモしておいてください。
AWSマネジメントコンソールのAWS Chatbotの画面よりTeamsを選択して「クライアントを設定」を選択します。
以下の画面で先ほど取得したチャネルへのリンクを入力し、設定を選択。
以下のアクセス許可について承諾が必要となります。
次にチャネルの設定を行っていきます。
以下から「新しいチャネルを設定」を選択します。
Bedrockでのチャネルの設定については以下の形で行っていきます。
画面の「チャネルのURL」項目についてはチャットボットを導入したいTeamsのチャネルのリンクを入力してください。
またアクセス許可のロール設定については「チャネルIAMロール」としました。
これにより、指定したチャネル内のメンバー全員に同じ権限を付与できます。
こちらで作成したロールに後ほどBedrockを使うための権限を付与します。
先ほど作成したロールにBedrockへのアクセス権限を付与していきます。
ロールを選択して、許可を追加から「インラインポリシーを作成」を選択。
以下の形で先ほど作成したエージェントのARNとエイリアスIDを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowInvokeBedrockAgent", "Effect": "Allow", "Action": "bedrock:InvokeAgent", "Resource": [ "arn:aws:bedrock:us-east-1:111222333444:agent-alias/AGENTARN/ALIASID" ] } ] }
以上でAWS Chatbotの設定が完了しました。
3. Teamsの設定
それでは最後にTeams側の設定を行っていきます。
アプリの検索よりAWSを検索し、以下のアプリをチャネルに追加します。
これでTeamsでBedrockを使ったチャットボットが利用できます。
使い方
では早速作成したチャットボットをTeamsで使ってみましょう。
先ほどTeamsに導入したawsアプリでTeams上でAWS CLIの機能が利用可能となります。
まず動作確認として@aws connectorを入力してみましょう。
上記の形で応答があれば成功です。
次に以下のコマンドで利用するエージェントを指定します。
AGENT-IDとALIAS-IDに作成したエージェントのIDを指定します。
@aws connector add ai-chatbot arn:aws:bedrock:us-east-1:111111111111:agent/AGENT-ID ALIAS-ID
以下のレスポンスがあればOKです。
会話については以下のコマンドで行うことができます。
@aws ask ai-chatbot “会話内容”
以下が実際に行った内容です。
手順1で作成したエージェントの設定どおりに、不明点に対して聞き返したり、会話を記憶出来ていることが分かります。
以上でBedrockをTeamsで利用するまでの一通りの流れを紹介しました。
Agents for Amazon Bedrockと連携できるのでKnowledge Basesも扱うことができ、色々なことに応用が出来そうです。
まとめ
今回はノーコードでAmazon BedrockとTeamsを連携する方法を解説しました。
Amazon Bedrock Knowledge Basesを利用することで社内ドキュメントとの連携も可能となり、様々な場面で活用できると感じましたので、皆さんも是非試してみてください。
Acroquest Technologyでは、キャリア採用を行っています。
- Azure OpenAI/Amazon Bedrock等を使った生成AIソリューションの開発
- ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
- マイクロサービス、DevOps、最新のOSSやクラウドサービスを利用する開発プロジェクト
- 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。
www.wantedly.com