Amazon Bedrock を利用したサンプルアプリケーションです。
ローカル環境で動作させるためには以下の条件が必要です。
- Node.jsがインストールされていること
- AWSのクレデンシャルがローカル環境で利用できること
- AWS CDKツールキットがインストールされていること
- Dockerがインストールされていて、起動されていること
- AWS CDKがDockerイメージを作成するために必要です
- ルートディレクトリで以下を実行する
npm ci
- バックエンド環境の構築
- cdkディレクトリに移動する
cd cdk
- ライブラリをインストールする
npm ci
- デプロイする
cdk deploy LocalBedrockSampleStack
- 途中でデプロイ確認が入るので、
y
を入力する
- デプロイが完了したら、出力されたCognito情報、Lambda情報をメモする
Outputs:
userpoolid
userpoolclientid
identitypoolid
predictstreamfunctionarn
- cdkディレクトリに移動する
- フロントエンド環境の構築
- フロントエンドのディレクトリに移動する
cd ../front
- ライブラリをインストールする
npm ci
- 環境変数を設定する
cp .env.template .env
.env
ファイルを開き、リージョンと先ほどメモしたCognito情報、Lambda情報を設定するVITE_APP_REGION
:ap-northeast-1
VITE_APP_USER_POOL_ID
: CDKで出力されたuserpoolid
VITE_APP_USER_POOL_CLIENT_ID
: CDKで出力されたuserpoolclientid
VITE_APP_IDENTITY_POOL_ID
: CDKで出力されたidentitypoolid
VITE_APP_PREDICT_STREAM_FUNCTION_ARN
: CDKで出力されたpredictstreamfunctionarn
- ローカルサーバーを起動する
npm run dev
http://localhost:3000
にアクセスする
- フロントエンドのディレクトリに移動する
- 動作確認
- 画面を開くと、ログイン画面が表示されるので、Create Accountでユーザー登録を行う
- 確認コードがメールで送信されるので、確認コードを入力してConfirmをクリックする
- サンプル画面が表示されるので、下部のテキストエリアに文章を入力して送信をクリックする
- バックエンド環境の削除
- cdkディレクトリに移動する
cd cdk
- デプロイしたリソースを削除する
cdk destroy LocalBedrockSampleStack
- 途中で削除確認が入るので、
y
を入力する
- 念の為、AWSコンソールから以下を確認する
- Cognitoユーザープール
- CognitoIDプール
- Lambda関数
- IAMロール、ポリシー
- CloudWatch Logsからロググループを削除する
- CloudWatch Logsは自動で作成されているため、手動で削除する
- /aws/lambda/bedrock-sample-local-predict-stream
- CloudWatch Logsは自動で作成されているため、手動で削除する
- cdkディレクトリに移動する
AWS環境にデプロイするためには以下の条件が必要です。
- Node.jsがインストールされていること
- AWSのクレデンシャルがローカル環境で利用できること
- AWS CDKツールキットがインストールされていること
- Dockerがインストールされていて、起動されていること
- AWS CDKがDockerイメージを作成するために必要です
- ルートディレクトリで以下を実行する(別で実行していた場合は不要です)
npm ci
- AWS環境の構築
- cdkディレクトリに移動する
cd cdk
- ライブラリをインストールする(別で実行していた場合は不要です)
npm ci
- デプロイする
cdk deploy AwsBedrockSampleStack
- 途中でデプロイ確認が入るので、
y
を入力する
- cdkディレクトリに移動する
- cdkディレクトリに移動する
cd cdk
- デプロイしたリソースを削除する
cdk destroy AwsBedrockSampleStack
- 途中で削除確認が入るので、
y
を入力する
- 念の為、AWSコンソールから以下を確認する
- Cognitoユーザープール
- CognitoIDプール
- Lambda関数
- CloudFront
- S3バケット
- IAMロール、ポリシー
- CloudWatch Logsからロググループを削除する
- CloudWatch Logsは自動で作成されているため、手動で削除する
- /aws/lambda/bedrock-sample-local-predict-stream