이 솔루션에는 서버리스 백엔드와 이미지 및 텍스트 입력에서 제품 설명을 생성하고 새로운 관리형 생성 AI 서비스인 Amazon Bedrock을 사용하여 제품 설명을 향상 및 번역하는 ReactJS 프런트 엔드 애플리케이션이 포함되어 있습니다.
소매업체에는 수천 또는 수백만 개의 제품이 있는 경우가 많으며, 모든 제품에는 정확하고 효과적인 설명이 필요합니다. 소매업체는 제품 설명 작성 프로세스를 크게 가속화하기 위해 생성 AI 모델에 대한 입력으로 제공할 수 있는 이러한 제품에 대한 기존 메타데이터 또는 이미지를 보유하고 있는 경우가 많습니다.
이 지침을 실행하는 동안 사용되는 AWS 서비스 비용은 귀하의 책임입니다. 2023년 11월 기준으로 미국 동부(버지니아 북부)에서 기본 설정으로 이 지침을 실행하는 데 드는 비용은 매월 1000개의 제품을 처리하는 데 드는 비용은 월 약 $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 볼륨의 크기를 최소 20GB로 조정합니다. 기본적으로 t2.micro에는 10GB가 제공됩니다.
저장소를 복제합니다.
git clone https://github.com/aws-solutions-library-samples/guidance-for-generating-product-descriptions-with-bedrock.git
repo 폴더로 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
샘플 클라이언트 앱을 실행하고 웹팩이 수신하는 포트 번호(#web_port)를 적어 둡니다. 8080.
npm start
1단계에서 생성한 EC2의 보안 그룹을 열고 사용자 지정 TCP, 포트 범위 #web_port, 소스 "내 IP"를 허용하는 인바운드 규칙을 추가한 다음 규칙을 저장합니다.
위 명령이 모두 오류 없이 완료되면 배포가 성공한 것입니다. AWS 콘솔에서 CloudFormation 서비스로 이동하여 LambdaStack
이라는 스택을 찾고 해당 리소스를 검색하여 생성된 백엔드 리소스를 찾아볼 수 있습니다.
다음 단계에 따라 데모 웹 앱을 사용해 볼 수 있습니다.
Amazon Bedrock 사용에 대한 자세한 리소스는 Bedrock 제품 페이지를 참조하세요.
다음 명령을 실행하여 프로비저닝된 인프라를 삭제할 수 있습니다.
cd deployment && cdk destroy
추가 고려 사항 및 제한 사항