はじめに
今回Amazon BedrockとDifyを使ってチャットボットを作成してみました。
構成としてはとてもシンプルで、EC2上にDifyのコンテナをデプロイし、
Bedrockと連携してチャットボットの回答を作成するという構成となります。

目次
手順の概要
- Bedrockの設定
- CloudFormationの実行
- IAMの設定
- Difyの設定
- チャットボットの作成
手順
Bedrockの設定
まずは、Difyから呼び出すBedrockのモデルを指定します。
AWSコンパネにログインし、Bedrockと検索して、選択します。
Bedrockに移動できたらリージョンをオレゴンに変更します。

リージョンを変更した理由は、アメリカのリージョンのほうが使用できるモデルが多いので変更しましたが、東京リージョンでも同じ設定で使用することができるので、必ずしもリージョンを変える必要はありません。
有効にするモデルを選択する。
今回は下記2つのモデルを選択しました。
・Titan Text Embeddings V2
・Claude 3.5 Sonnet v2
選択したら、次は必要な情報を入力します。
ここまで入力したらBedrockの設定は終わりです。
アクセスが付与されるまで数分時間がかかることがあります。
CloudFormationの実行
次はCloudFormationを使用してEC2インスタンスとDifyのコンテナを作成します。
今回は、[Dify での生成 AI アプリケーション構築ワークショップ]で紹介されているCloudFormationテンプレートを参考に、一部修正したものを使用して検証を行いました。
テンプレートダウンロードし、CFnを使ってリソースの作成をしていきます。
CloudFormationの画面に移動して、まずリージョンを東京に変更します。
リージョンの変更が完了したら、スタックを作成していきます。
スタックの作成画面に移動したら、画像のように「テンプレートファイルのアップロード」を選択し、先ほど保存したテンプレートファイルをアップロードする。ファイルを選択したら次へを押す。
スタック名を入力します。ここで入力する名前は任意です。今回「DifyTest」にしました。
次はオプションの設定になりますが、ここでは特に設定することはないので、一番下までいき、チェックボックスにチェックを入れ「次へ」を押す。
最後に全体的な設定の確認を行い、問題なければ送信を押す。
リソースができるまで少し待ちます。
画面左の更新ボタンを押し、「CREATE_COMPLETE」と表示されていればリソースの作成が完了しています。
リソースの作成が完了したら、「出力」タブを開き、「InstancePublicIP」に記載のあるIPアドレスをコピーし、メモしておきます。このIPアドレスは後で使用します。
IAMの設定
次はIAMの設定をしていきます。
DifyがBedrockのAPIを呼び出すためにIAMユーザーの作成し、必要なポリシーを直接付与を実施、IAMユーザーのアクセスキーとシークレットキーを作成していきます。
ユーザー名は任意です。
今回はDifyTestという名前で作成しました。
次はポリシーの設定をしていきます。
許可オプションの「ポリシーを直接アタッチする」を選択し、下記2つのポリシーを選択します。
・AmazonSSMManagedInstanceCore
・AmazonBedrockFullAccess
選択できたら「次へ」を押し、最終確認をして「ユーザーの作成」を押します。
ユーザー作成が完了したら、作成したユーザー名を押す。
ユーザーを選択したら、「セキュリティ認証情報」を押し、「アクセスキーを作成」を押す。
「アクセスキーの作成」を押すと下記画面が出てくるので、ユースケースの選択をする。
選択項目は「AWS の外部で実行されるアプリケーション」を選択する。
選択できたら「次へ」を押す。
「次へ」を押すと説明タグの設定の画面になるが、ここは特に入力することはないので「アクセスキーの作成」を押す。「アクセスキーの作成」を押すと下記画面が出てくる。
ここでアクセスキーとシークレットアクセスキーが表示されるので、メモします。
2つのアクセスキーはこの後使用するのでメモする必要があります。
CSVをダウンロードしておくこともできます。
これでコンパネでの設定は終わったので次はDifyの設定をしていきます。
Difyの設定
WEBブラウザを立ち上げ、http://(メモしておいたInstancePublicIP) に接続する。
接続すると下記画面が表示されるので、メールアドレス、ユーザ名、パスワードを入力する。
入力して、「セットアップ」を押すとログイン画面になるので、先ほど入力した情報でログインする。
ログインできたら、DifyとBedrockを連携させるための設定を実施する。
画面右上のユーザ名を選択し、「設定」を選択する。
設定を開き、「モバイルプロバイダー」を選択し、「Amazon Bedrock」をインストールする。
インストールが完了したら、セットアップをしていく。
入力する内容は、「AWS Region」と「Avaiable Model Name」を入力していく。
「AWS Region」はBedrockの設定の際に使用したリージョンを入力します。
「Avaiable Model Name」はClaude 3.5 Sonnet V2を使用する場合、
「anthropic.claude-3-5-sonnet-20241022-v2:0」 とモデル名を入力する。
入力できたら、保存を押し、モデルの選択をしていく。
モデルの選択は「モデルの表示」を選択し、下記モデル以外を無効にする。
・OpenAI
・cohere.rerank-v3-5:0
・amazon.titan-embed-text-v2:0
モデルの選択ができたら次にシステムモデルの設定をしていく。
右上の「システムモデル設定」を押す。
推論モデルと埋め込みモデルをプルダウンから選択する。
今回、推論モデルを「OpenAI」、埋め込みモデルを「amazon.titan-embed-text-v2:0」
Rerank モデルを「cohere.rerank-v3-5:0」 を選択する。
これでDifyの設定は終了です!
最後にチャットボットを作成していきます。
チャットボットの作成
設定画面を閉じて、Difyのダッシュボード画面に戻り、「最初から作成」を選択する。
選択すると下記画面になるので、「チャットフロー」を選択し、任意のアプリ名を入力する。
説明欄は特に入力しなくてもいいです。入力し終えたら「作成する」を押します。
作成できたら下記画像のような画面になるので、「プレビュー」を押し、質問などすれば返信が返ってきます。
まとめ
今回この検証を通じてAIツールがどのようにできたのかを経験することができました。
初めてAIを使用して、自分だけのチャットツールを作成しましたが、こんなに簡単にチャットボットが作れるんだと驚きました。
もう少し時間を使うことで凝ったものができそうな気がしてワクワクしました。
「まずはちょっと作ってみたい」ということであれば2時間ほどでできるのでぜひ触ったことない人は触ってみてください。
投稿者プロフィール
最新の投稿
AIサービス2025年10月6日Amazon BedrockとDifyでチャットボット作ってみた


