3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock で Slackチャットボットを作ってみた

3
Last updated at Posted at 2026-02-15

概要

Amazon BedrockをSlackに連携させて、ナレッジの内容に即した回答を提供するチャットボットを作成する手順を紹介します。
今回は us-east-1 リージョンに構築していきます。
image.png

手順

  1. S3にナレッジを格納
  2. Bedrockのナレッジベースを作成
  3. Bedrockのエージェントを作成
  4. Amazon Q Developer in chat applications (旧 AWS Chatbot) を作成
  5. Slackからエージェントを呼び出す
  6. 環境削除

1. S3にナレッジを格納

S3にナレッジを格納します。今回はサンプルとして以下のようなテキストを格納していきます。

株式会社イワシパラダイスの社長の名前は「シロイルカシロイルカ3世」。
イワシパラダイスの副社長の名前は「マンタさん」
シロイルカシロイルカ3世の好きな食べ物は、皮ごと食べられるように品種改良されたパイナップル。
マンタさんの好きな食べ物は固めプリン。嫌いな食べ物は柔めこんにゃく。

まずはバケットを作成します。任意のバケット名(ここでは「bedrock-handson-20260207」)を指定して、あとはデフォルトでOK。「バケットを作成」をクリックします。
image.png

次に「アップロードボタン」から、先ほどのテキストをバケットに格納します。
image.png

S3の準備はこれにて完了です。

2. Bedrockのナレッジベースを作成

マネコンを開き、 Amazon Bedrock > ナレッジベース から、ナレッジベースを作成します。
今回は「ベクトルストアでナレッジベースを作成」を選択し、データソースとして先ほど作成したS3バケット(bedrock-handson-20260208)を指定します。
image.png

次に埋め込みモデルとベクトルストアを選択します。
今回は埋め込みモデルには Titan Text Embeddings V2 、ベクトルストアにはAmazon OpenSearch Serviceを選択します。
※Amazon OpenSearch Serviceは今回利用するサービスの中で一番費用がかかります。クリーンアップ作業を忘れずに実施してください。
image.png

出来ました。データソースの同期を行い、ナレッジベースの作成は完了です。
image.png

3. Bedrockのエージェントを作成

マネコンの Amazon Bedrock > エージェント から、エージェントを作成します。
image.png

エージェントビルダーで詳細を設定していきます。
今回、モデルは Claude Sonnet 4.5 v1 (US Anthropic Claude Sonnet 4.5) を選択します。
※モデル選択画面で「最適化済みBedrockエージェント」のチェックボックスをクリアすると選択できます。
エージェント向けの指示も、それらしく記載しておきます。
image.png
ここで一度設定を保存しておきましょう。

次にナレッジベースを追加します。先ほど指定したナレッジベースを指定しておきます。
image.png

また、Slackチャネルにエージェントを招待する時のために、エイリアスを作成しておきます。
image.png

最後にテストします。「準備」ボタンを押下した後、画面左側のテストウィンドウから質問文を投げてみましょう。
無事に回答が得られました。
image.png

4. Amazon Q Developer in chat applications (旧 AWS Chatbot) を作成する

マネコンの Amazon Q Developer in chat applications (旧 AWS Chatbot) > 新しいクライアントを設定 から、クライアントを作成します。
今回はSlackを選択します。
image.png

Slackにリダイレクトされるので、チャットボットを作成するワークスペースのURLを指定します。
image.png

Amazon Q Developer が Slack へアクセスすることを許可します。
image.png

Slackチャネルを設定しましょう。ここでは「bedrockハンズオン」チャンネルを指定しました。その他の設定値はデフォルトのままにしています。
image.png

作成が完了したら、クライアントがBedrockエージェントに接続するための権限を設定してやります。
今回は、チャネルロールとガードレールに「AmazonBedrockFullAccess」を追加しました。
image.png
image.png

5. Slackからエージェントを呼び出す

最後に疎通確認をします。

先ほど指定したSlackチャネルで、以下メッセージを送信します。
コネクター名には任意の文字列を指定してください。(1文字〜20文字、半角英数字(a-z, A-Z, 0-9)、アンダースコア( _ )、ハイフン( - )のみ利用可。)
今回はコネクター名には「bedrock-handson-0208」を指定しました。

@Amazon Q connector add {コネクター名} {Bedrockエージェントのエージェント ARN} {BedrockエージェントのエイリアスID}

image.png

初回メッセージ送信時はチャネルに Amazon Q アカウントを招待するか聞かれるので、招待しておきます。
上手くいくと下記メッセージが送られてきます。
image.png

最後に質問を投げてみましょう。以下の形で質問を投げます。

@Amazon Q ask {コネクター名} - {質問文}

image.png
返答を得ることができました!!

以上でSlackチャットボットの作成は完了です!

6. 環境削除

おまけです。使い終わった環境は削除しましょう。
基本的には作成したサービスについて、コンソール画面から削除を行えばOKです。

ただし、公式サイトにも記載されているように、ナレッジベースを削除してもベクトルストア自体は削除されません。
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/kb-delete.html
image.png
そのため、ナレッジベース削除後は必ず Amazon OpenSearch Service も削除するようにしてください!

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?