직원 생산성 GenAI Assistant 예제 는 AI 기술의 통합을 통해 쓰기 작업의 효율성과 효과를 높이도록 설계된 혁신적인 코드 샘플입니다. AWS 사용자를 위해 맞춤화된 이 보조 예제는 Amazon Bedrock 및 생성적 AI 모델을 활용하여 초기 템플릿 생성을 자동화하며, 이 템플릿은 필요에 따라 사용자 지정할 수도 있습니다. 사용자는 여러 데이터 유형과의 동적 상호 작용을 지원하는 Claude 3 제품군과 같은 최첨단 AI의 다중 모드 기능을 활용하여 텍스트와 이미지를 모두 입력할 수 있습니다.
직원 생산성 GenAI Assistant 예제는 Lambda, API Gateway, DynamoDB 및 S3와 같은 강력한 AWS 서버리스 기술을 기반으로 구축되어 Cognito를 통해 확장성, 고가용성 및 보안을 보장합니다. 이러한 기술은 직원 생산성 GenAI Assistant 예제가 엄격한 보안 표준을 유지하면서 사용자 요구에 따라 온디맨드 방식으로 대응할 수 있는 기반을 제공합니다. 생성 기능의 핵심은 맞춤형 고품질 콘텐츠를 신속하게 제공하는 데 도움이 되는 Amazon Bedrock에서 사용할 수 있는 강력한 AI 모델에서 파생됩니다.
직원 생산성 GenAI Assistant 예제는 일련의 대화형 GIF를 통해 기능을 보여 주므로 사용자가 해당 기능을 쉽게 이해하고 활용할 수 있습니다.
효율적인 인터페이스와 포괄적인 도구를 제공함으로써 직원 생산성 GenAI Assistant 예제는 복잡한 문서 생성을 단순화할 뿐만 아니라 사용자 생산성과 창의성을 향상시킵니다. 이 GitHub 리포지토리는 사용자 소유 AWS 계정에 이 솔루션을 배포하기 위한 가이드 역할을 하여 누구나 이 AI 기반 글쓰기 도우미의 고급 기능을 설정하고 혜택을 누릴 수 있도록 보장합니다.
아키텍처 패턴 및 재사용 가능한 구성요소
대화형 기능 외에도 Employee Productivity GenAI Assistant 예제는 AWS에서 Generative AI 솔루션을 구축하기 위한 강력한 아키텍처 패턴을 제공합니다. 이 예에서는 Amazon Bedrock과 Lambda, API Gateway, DynamoDB 등의 AWS 서버리스 서비스를 활용하여 Generative AI 애플리케이션 배포에 대한 확장 가능하고 안전한 접근 방식을 보여줍니다. 이 아키텍처 패턴은 다양한 사용 사례에 맞는 다양한 Generative AI 솔루션을 구축하기 위한 기반으로 사용될 수 있습니다. 또한 이 솔루션에는 React 프레임워크에 구축된 재사용 가능한 구성 요소 기반 UI가 포함되어 있어 개발자가 특정 요구 사항에 맞게 인터페이스를 쉽게 확장하고 사용자 지정할 수 있습니다. 또한 이 예에서는 WebSocket을 사용한 스트리밍 지원 구현을 보여줍니다. 이를 통해 채팅 기반 상호 작용과 일회성 요청 모두에서 실시간 응답이 가능하고 Generative AI 도우미의 사용자 경험과 응답성이 향상됩니다.
improve-employee-productivity-using-genai/
│
├── backend/ - Contains all backend related files.
│ ├── artifacts/ - Artifacts such as screenshots
│ ├── src/ - Source code for Lambda functions.
│ ├── utils/ - Utility scripts such as helper to create Cognito users
│ ├── layer/ - Code for Lambda layers.
│ └── template.yaml - Main SAM template for Infrastructure as Code (IaC) deployment.
│
└── frontend/ - Houses the frontend React application.
│ ├── src/ - Main folder for React code.
│ └── App.js - Entry point for the React application.
│ └── .env - Environment variables created on deployment (auto-generated).
│
├── deploy.sh - Single bash script for deploying both backend and frontend.
└── default_templates.json - Default templates that gets uploaded to DynamoDB at deployment for bootstrap.
Employee Productivity GenAI Assistant 예제의 배포 및 개발을 시작하기 전에 다음 사전 요구 사항이 설정되어 있는지 확인하십시오.
pip
설치되어 있고 작동하는지 확인하십시오.직원 생산성 GenAI Assistant 예제의 배포 또는 개발을 진행하기 전에 이러한 항목이 설치되고 올바르게 구성되었는지 확인하십시오.
️ 중요 : 배포를 진행하기 전에 모든 필수 구성 요소를 완료했는지 확인하세요.
직원 생산성 GenAI Assistant 배포 예제에는 백엔드와 프런트엔드 설정을 모두 처리하는 bash 스크립트 실행이 포함됩니다. 다음은 스크립트가 수행하는 세부 단계입니다.
직원 생산성 GenAI Assistant 예제를 배포하려면 AWS 지역을 필수 인수로 포함하여 터미널에서 다음 명령을 사용하십시오.
./deploy.sh --region=your-aws-region --email=your-email
./deploy.sh --backend --region=your-aws-region --email=your-email
./deploy.sh --frontend --region=your-aws-region --email=your-email
./deploy.sh --delete --region=your-aws-region --email=your-email
./deploy.sh --container --region=your-aws-region --email=your-email
your-aws-region
적절한 AWS 지역(예: us-east-1
)으로 바꾸세요.
프로젝트 디렉터리의 루트에서 이러한 명령을 실행하고 your-aws-region
사용하려는 실제 AWS 지역으로 바꾸십시오.
배포가 완료되면 아래 배포 후 단계 지침으로 이동하세요.
스크립트의 기능에 대한 자세한 내용은 아래를 참조하세요.
--delete
플래그가 사용되는 경우 스크립트는 지정된 AWS 스택을 삭제하라는 확인 메시지를 표시합니다.--backend
지정된 경우) :sam build --template "$SAM_TEMPLATE" --parallel --cached
--container
지정된 경우 ./deploy.sh
는 다음과 같이 SAM을 실행하도록 트리거됩니다. sam build --template "$SAM_TEMPLATE" --parallel --cached --use-container
--frontend
지정된 경우) :.env
파일을 만들거나 덮어씁니다.aws-exports.json
생성하거나 덮어씁니다.AWS CloudShell을 사용하면 AWS 콘솔 내에서 무료로 즉시 액세스할 수 있는 Linux 환경을 확보할 수 있습니다. AWS CloudShell을 사용하여 솔루션을 설치하려면 아래 단계를 순서대로 따르십시오.
종속 항목 설치 : 먼저 필요한 개발 도구와 라이브러리가 설치되어 있는지 확인하세요. AWS CloudShell을 열고 다음 명령을 실행합니다.
# Install Development Tools
sudo yum groupinstall " Development Tools " -y &&
# Install necessary libraries
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel ncurses-devel readline-devel sqlite-devel -y
PyEnv를 사용하여 Python 3.11 설치 : AWS CloudShell은 Python 3.11과 함께 제공되지 않으므로 PyEnv를 설치한 다음 Python 3.11을 설치하고 셸에서 기본 Python 버전으로 설정해야 합니다.
# Install PyEnv
git clone https://github.com/pyenv/pyenv.git ~ /.pyenv
# Set .bash_profile env
echo ' ' >> ~ /.bash_profile
echo ' # Pyenv Configuration ' >> ~ /.bash_profile
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bash_profile
echo ' export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bash_profile
echo ' eval "$(pyenv init -)" ' >> ~ /.bash_profile
# Reinitialize your Shell
source ~ /.bash_profile
# Install Python 3.11
pyenv install 3.11
# Set Python 3.11 as default with PyEnv
pyenv global 3.11
CloudShell에 새 작업 폴더 생성 : AWS CloudShell 홈 디렉터리에는 1GB의 스토리지만 있으므로 이 애플리케이션을 구축하고 배포하려면 임시 스토리지를 사용해야 합니다. 먼저 루트 디렉터리에 폴더를 만들고 적절한 사용자 권한을 설정해 보겠습니다.
# Folder creation
sudo mkdir /aws-samples &&
# Setting folder permissions
sudo chown cloudshell-user -R /aws-samples
리포지토리 복제 및 솔루션 배포 : 이제 폴더와 모든 종속 항목이 설치되었으므로 AWS CloudShel을 사용하여 솔루션을 배포하는 방법을 단계별로 살펴보겠습니다.
# Navigate to the newly created folder
cd /aws-samples
# Clone the repo in the /aws-samples folder
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai.git
# Navigate to the git folder
cd improve-employee-productivity-using-genai/
# Before running the deployment command, set the maximum npm memory to 1024MB to avoid OOM error
export NODE_OPTIONS= " --max_old_space_size=1024 "
솔루션의 백엔드 배포 : 이제 애플리케이션을 배포하기 위한 모든 종속 항목이 있으므로 아래 명령을 사용하여 솔루션의 백엔드를 배포할 수 있습니다. Cloudshell에는 동일한 명령으로 두 가지를 계속 배포할 메모리가 충분하지 않기 때문에 백엔드에 대한 배포 옵션을 사용한 다음 프런트엔드에 대한 배포 옵션을 사용하고 있습니다. 아래 명령을 실행하기 전에 지역과 이메일을 변경하세요.
# Run the deployment command for the backend
./deploy.sh --backend --region=your-aws-region --email=your-email
솔루션의 프런트엔드 배포 : 마지막으로 남은 작업은 솔루션의 프런트엔드를 배포하는 것입니다. 위의 백엔드 명령에서 실행한 것과 동일한 지역 및 이메일을 사용하세요.
# Run the deployment command for the frontend
./deploy.sh --frontend --region=your-aws-region --email=your-email
배포에는 15~30분 정도 걸릴 수 있습니다. 20분 이상 AWS CloudShell과 상호 작용하지 않으면 CloudShell 환경이 삭제된다는 점에 유의하세요. 자동 종료를 방지하려면 두 번째 CloudShell 탭을 열어두고 10분마다 한 번씩 일부 명령을 실행하는 것이 좋습니다.
참고 : CloudShell의 메모리 부족으로 인해 이 명령이 실패하는 경우
--frontend
명령을 다시 실행하면 작동합니다.
배포가 완료되면 솔루션에 액세스하기 위한 CloudFront URL, 사용자 이름 및 임시 암호가 표시됩니다. 배포 후 섹션을 확인하세요.
AWS Cloud9을 사용하여 직원 생산성 GenAI Assistant 예제를 배포하면 간소화되고 일관된 개발 환경 설정이 제공됩니다. Cloud9 환경을 설정하고 애플리케이션을 효율적으로 배포하려면 다음 세부 단계를 따르세요.
참고: EBS 볼륨의 크기는 자동으로 조정됩니다 .
AWS Cloud9 콘솔을 엽니다 .
새 환경 만들기 :
GenAI-Productivity-Env
로 지정하고 다음 단계 를 클릭합니다.환경 구성 :
t3/t3.medium
이상을 선택하여 컴퓨팅 성능이 충분한지 확인하세요.AWS System Manager (SSM)
선택합니다. 검토 및 생성 :
환경이 준비되면 직원 생산성 GenAI Assistant 예제 배포를 위해 준비해야 합니다.
Cloud9 환경에 액세스하세요 .
프로젝트 저장소 복제 :
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai
cd improve-employee-productivity-using-genai
백엔드와 프런트엔드를 모두 배포하거나 별도로 처리할 수 있습니다.
백엔드와 프런트엔드를 모두 배포하려면(권장) :
./deploy.sh --container --region= < your-aws-region > --email= < your-email >
AWS 지역(예: us-east-1)과 실제 이메일 주소로 바꿉니다.
백엔드만 배포하려면: :
./deploy.sh --backend --container --region= < your-aws-region > --email= < your-email >
AWS 지역(예: us-east-1)과 실제 이메일 주소로 바꿉니다.
프런트엔드만 배포하려면 다음 을 따르세요.
./deploy.sh --frontend --region= < your-aws-region > --email= < your-email >
AWS 지역(예: us-east-1)과 실제 이메일 주소로 바꿉니다.
배포 스크립트가 완료되면 다음 섹션 배포 후 단계로 이동합니다.
Employee Productivity GenAI Assistant 예제를 성공적으로 배포한 후 배포에서는 기본적으로 Cognito의 관리자만 생성하므로 다음 단계에 따라 직원 생산성 GenAI Assistant 예제 배포에 대한 액세스 권한을 부여할 추가 Cognito 사용자를 생성하십시오.
애플리케이션에 액세스하십시오 .
애플리케이션에 로그인하세요 .
<your-email>
)를 사용하여 로그인하세요.애플리케이션 살펴보기 :
추가 사용자 생성(선택 사항) :
EmployeeProductivityGenAIAssistantExample
사용자 풀을 선택합니다.사용자 역할 할당(선택 사항) :
? 직원 생산성 GenAI Assistant 예제를 배포하고 설정한 것을 축하합니다! 그 기능을 살펴보고 경험을 즐겨보세요.
.env
및 aws-exports.json
파일을 검토하여 CloudFront 분산 애플리케이션에서 환경 변수를 올바르게 설정했는지 확인하세요. 흥미로운 데모를 통해 직원 생산성 GenAI Assistant 예제의 기능을 살펴보세요. 각 기능은 시스템 작동을 보여주는 대화형 GIF를 통해 강조 표시됩니다.
놀이터 유용성 :
템플릿 생성 :
활동 중인 템플릿 응용 프로그램 :
활동 내역 기능 :
템플릿을 사용한 대화형 채팅 :
다중 양식 입력 :
이러한 도구는 서버리스 환경에서 AI 모델과의 상호 작용을 간소화하여 생산성과 창의성을 높이도록 설계되었습니다.
직원 생산성 GenAI Assistant 예제 실행 비용은 사용 패턴과 활용하기로 선택한 특정 Amazon Bedrock 모델에 따라 달라질 수 있습니다. 대략적인 추정치를 제공하기 위해 각 사용자가 평균 500개의 입력 토큰과 200개의 출력 토큰으로 하루 5번 도구를 사용하는 50명의 사용자가 있는 시나리오를 고려하는 비용 추정기 링크를 만들었습니다.
예상 월별 비용은 다음 가정을 기반으로 합니다.
Bedrock 요금은 AWS Bedrock 요금 페이지에서 확인할 수 있습니다. 해당 시나리오의 예상 비용은 다음과 같습니다.
클로드 3 하이쿠 모델 :
클로드 3 소네트 모델 :
클로드 3.5 소네트 모델 :
클로드 3 Opus 모델 :
참고 : 비용 추정은 단일 모델을 사용하여 계산되지만 필요에 따라 모델 간에 전환할 수 있는 유연성이 있습니다. 예를 들어 특정 요청에 대해 Opus와 같은 고급 모델이 필요한 경우 해당 사용량에 대해서만 요금이 청구됩니다. 대부분의 요청에 대해 Haiku와 같은 보다 비용 최적화된 모델을 활용할 수 있습니다. 이는 도구의 전체 비용을 낮추고 요구 사항에 맞게 최적화하는 데 도움이 됩니다.
참고 : 추정에는 적격 서비스에 대한 AWS 프리 티어가 고려되지 않습니다. 프리 티어 한도 내에 있는 경우 실제 비용은 더 낮을 수 있습니다. 또한 AWS 서비스 가격은 시간이 지남에 따라 변경될 수 있으므로 실제 비용은 이러한 추정치와 다를 수 있습니다.
이는 단지 추정치일 뿐 정확한 비용을 나타내지는 않는다는 점에 유의하는 것이 중요합니다. 목적은 주어진 시나리오를 기반으로 잠재적 비용에 대한 높은 수준의 아이디어를 제공하는 것입니다. 실제 비용은 특정 사용 패턴과 활용하기로 선택한 Amazon Bedrock 모델에 따라 달라집니다.
클라우드 및 서버리스 아키텍처의 가장 큰 장점 중 하나는 수요에 따라 리소스를 확장하거나 축소할 수 있다는 것입니다. 결과적으로 솔루션 비용은 그에 따라 증가하거나 감소하므로 사용한 리소스에 대해서만 비용을 지불하면 됩니다.
또한 AWS Lambda, S3, CloudFront, DynamoDB 및 Amazon Cognito와 같은 솔루션의 일부 구성 요소는 여전히 AWS 프리 티어 한도 내에 있는 경우 추가 비용이 발생하지 않을 수 있습니다.
비용 추정기 링크 : https://calculator.aws/#/estimate?id=5fa739dd54db78d439bb602e17bd8af8a1d78f07
참고 : Claude 모델은 아직 계산기에서 지원되지 않으므로 비용 견적에는 Amazon Bedrock에 대한 요금이 포함되지 않습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
직원 생산성 GenAI Assistant 예제에 대한 기여를 환영합니다! 제안 사항이 있거나 문제를 보고하고 싶다면 언제든지 끌어오기 요청이나 문제를 열어주세요.
솔루션을 구현할 때 보안, 안정성, 관찰 가능성을 보장하려면 모범 사례를 따르는 것이 중요합니다. 다음은 몇 가지 권장 사항이지만 이 목록은 완전한 것이 아니며 고려해야 할 사항이 더 있을 수 있습니다.
데이터 보안을 강화하려면 다양한 서비스에 대해 AWS Key Management Service(KMS)에 저장된 고객 관리형 키(CMK)를 사용하여 암호화를 활성화하는 것이 좋습니다. 이를 통해 암호화 키에 대한 액세스를 제어할 수 있어 추가 보안 계층이 제공됩니다.
강력한 관찰 가능성 및 로깅 메커니즘을 구현하는 것은 모니터링, 문제 해결 및 보안 감사에 매우 중요합니다.
AccessLogSetting
속성을 정의합니다.Virtual Private Cloud(VPC)에서 실행되는 Lambda 기능의 경우 안전하고 효율적인 통신을 촉진하기 위해 VPC 엔드포인트가 적절하게 구성되었는지 확인하십시오. 이렇게 하면 모든 호출을 VPC 내부로 유지하고 AWS 퍼블릭 엔드포인트 사용을 방지하는 데 도움이 됩니다.
이러한 모범 사례를 구현하면 환경의 보안, 안정성 및 관찰 가능성을 크게 향상시킬 수 있습니다. 가장 적절한 구성을 결정하려면 항상 애플리케이션과 인프라의 특정 요구 사항을 고려하십시오.