該解決方案包含無伺服器後端和 ReactJS 前端應用程序,該應用程式根據圖像和文字輸入建立產品描述,並使用新的託管生成 AI 服務 Amazon Bedrock 增強和翻譯產品描述。
零售企業通常擁有數千或數百萬種產品,所有這些產品都需要準確有效的描述。零售商通常擁有這些產品的現有元資料或圖像,可以將其作為生成人工智慧模型的輸入,以大大加快創建產品描述的過程。
您負責執行本指南時使用的 AWS 服務的費用。截至 2023 年 11 月,在美國東部(弗吉尼亞北部)以預設設定運行本指南的成本約為每月 86 美元,每月處理 1000 種產品。
本指南包括 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 磁碟區大小調整為至少 20GB。預設情況下,t2.micro 配備 10GB。
克隆儲存庫:
git clone https://github.com/aws-solutions-library-samples/guidance-for-generating-product-descriptions-with-bedrock.git
cd 到 repo 資料夾:
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、來源“我的 IP”,然後儲存規則。
如果上述所有命令都完成且沒有錯誤,則部署應該會成功。您可以透過導覽至 AWS 控制台中的 CloudFormation 服務、尋找名為LambdaStack
堆疊並瀏覽其資源來瀏覽建立的後端資源。
您可以按照以下步驟嘗試示範 Web 應用程式:
請參閱 Bedrock 產品頁面,以了解有關使用 Amazon Bedrock 的更多資源。
可以透過執行以下命令刪除已配置的基礎架構:
cd deployment && cdk destroy
其他注意事項和限制