このソリューションには、サーバーレス バックエンドと ReactJS フロントエンド アプリケーションが含まれており、画像とテキスト入力から製品説明を作成し、新しいマネージド生成 AI サービスである Amazon Bedrock を使用して製品説明を強化および翻訳します。
小売業では多くの場合、何千、何百万もの商品があり、そのすべてに正確かつ効果的な説明が必要です。小売業者は多くの場合、これらの製品の既存のメタデータや画像を生成 AI モデルへの入力として提供することで、製品説明の作成プロセスを大幅に加速できます。
このガイダンスの実行中に使用される AWS サービスの費用はお客様の負担となります。 2023 年 11 月の時点で、米国東部 (バージニア北部) でデフォルト設定でこのガイダンスを実行する場合のコストは、毎月 1,000 個の製品を処理する場合、月額約 86 ドルです。
このガイダンスには、AWS サービス Rekognition、Bedrock、Cognito、Lambda、API Gateway、CloudWatch が含まれており、料金は次のとおりです。
控えめに(過大評価の誤りですが)このソリューションを使用して、入力画像に基づいて製品説明を月に 1000 回生成し(スペイン語、ドイツ語、フランス語への翻訳の生成を含む)、Lambda 関数の呼び出しごとに 30 秒という最悪のケースを想定します。 Claude Instant および Jurassic モデルへのすべての呼び出しに対して 1000 入出力トークンの場合、コストはおよそ次のようになります。
すべての前提条件をローカル マシンにインストールする必要があります。
cdk
コマンド) をインストールします。ここで説明したように、これまでアカウントで CDK を使用したことがない場合は、 cdk bootstrap
を実行する必要もあります。注: Docker がインストールされ、実行されている必要があります。 docker ps
のようなコマンドがエラーなしで実行されることを確認することで、Docker デーモンが実行されていることを確認できます。コンテナが実行されていない場合、 docker ps
次のようにコンテナの空のリストを返す必要があります。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
AWS Cloud9 で EC2 環境を作成し、EC2 インスタンスをパブリック サブネットで起動し、そのパブリック IPv4 アドレス (#cloud9_ec2_ip) を書き留めます。
環境 (ステップ 1 で作成) が使用する EBS ボリュームのサイズを少なくとも 20 GB に変更します。 t2.micro にはデフォルトで 10GB が付属しています。
リポジトリのクローンを作成します。
git clone https://github.com/aws-solutions-library-samples/guidance-for-generating-product-descriptions-with-bedrock.git
cd でリポジトリ フォルダーに移動します。
cd guidance-for-generating-product-descriptions-with-bedrock
(オプション) プロジェクト固有の依存関係用に新しい Python virtualenv を作成します。
python -m venv .env && source .env/bin/activate
CDK の依存関係をインストールします。
pip install -r deployment/requirements.txt
AWS CDK のブートストラップ (これまでに行っていない場合):
cd deployment && cdk bootstrap
バックエンドをデプロイします。
cd deployment && cdk deploy
cd でプロジェクトのルートに戻ります。
cd ..
初期 Cognito ユーザーを作成します。
deployment/create-user.sh <>
CDK スタック出力からの適切な値でconfig.js
更新します。これは、次のコマンドを実行すると自動的に実行できます。
deployment/update-config.sh
フロントエンドの依存関係をインストールします。
cd source/frontend && npm install
サンプル クライアント アプリを実行し、Webpack がリッスンするポート番号 (#web_port) を書き留めます。 8080。
npm start
ステップ 1 で作成した EC2 のセキュリティ グループを開き、カスタム TCP、ポート範囲 #web_port、ソース「My IP」を許可する受信ルールを追加して、ルールを保存します。
上記のコマンドがすべてエラーなしで完了すると、デプロイは成功するはずです。作成されたバックエンド リソースを参照するには、AWS コンソールで CloudFormation サービスに移動し、 LambdaStack
という名前のスタックを見つけて、そのリソースを参照します。
次の手順に従って、デモ Web アプリを試すことができます。
Amazon Bedrock の使用に関する詳細リソースについては、Bedrock 製品ページを参照してください。
プロビジョニングされたインフラストラクチャは、次のコマンドを実行して削除できます。
cd deployment && cdk destroy
追加の考慮事項と制限事項