该解决方案包含无服务器后端和 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
其他注意事项和限制