1. 소개
이 Codelab에서는 웹 애플리케이션에서 AI 기반 채팅 앱을 Google Cloud의 Cloud Run 서비스로 빌드하고 배포하는 방법을 보여줍니다. 이 채팅 앱을 통해 사용자는 Chat Bison 모델용 PaLM ( text-chat)을 사용하여 쿼리하고 응답을 받을 수 있습니다.
빌드할 항목
생성할 항목:
- 애플리케이션을 실행할 수 있는 Google Cloud의 환경
- 애플리케이션용 Docker 이미지
- 애플리케이션을 실행하는 Cloud Run 서비스
2. 요구사항
3. 시작하기 전에
- Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
- Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
- 여기의 안내에 따라 Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
- 프로젝트가 설정되지 않은 경우 다음 명령어를 사용하여 설정합니다.
gcloud config set project <YOUR_PROJECT_ID>
- Cloud Shell에서 다음 환경 변수를 설정합니다.
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
- Cloud Shell 터미널에서 다음 명령어를 실행하여 필요한 Google Cloud API를 사용 설정합니다.
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com
4. 환경 설정
- 샘플 코드를 프로젝트에 복사하려면 Cloud Shell에서 저장소를 클론합니다.
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- 이 명령어는 저장소 콘텐츠를 genai-templates-googlecloud 폴더에 클론합니다.
- Cloud Shell 터미널에서 다음 명령어를 실행하여 관심 있는 프로젝트의 폴더로 이동합니다.
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
- Vertex AI 초기화를 위해 다음 환경 변수를 설정합니다.
GCP_PROJECT : Google Cloud 프로젝트 ID입니다. 예를 들면 my_project입니다.
GCP_REGION : Cloud 함수를 배포할 리전입니다. 예를 들면 us-central1입니다.
export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'
5. Docker 이미지 빌드
애플리케이션의 Docker 이미지를 빌드하여 Artifact Registry로 푸시하려면 다음을 수행합니다.
- Artifact Registry 저장소의 환경 변수를 설정합니다. 이름은 소문자, 숫자, 하이픈만 포함할 수 있으며 문자로 시작하고 문자나 숫자로 끝나야 합니다. 예를 들면 my-chat-app-repo입니다.
export AR_REPO='my-chat-app-repo'
- 서비스 이름의 환경 변수를 설정합니다. 예: chat-flask-app
export SERVICE_NAME='chat-flask-app'
- Docker 형식으로 저장소를 만듭니다.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
- Docker 인증을 구성합니다.
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
- 이미지 빌드
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
- 이미지가 Artifact Registry로 푸시되었는지 확인하려면 Artifact Registry 페이지로 이동합니다. 이 페이지에서 만든 저장소를 찾습니다.
6. 애플리케이션 배포
- Cloud Run에 애플리케이션을 서비스로 배포합니다.
gcloud run deploy "$SERVICE_NAME" \
--port=8080 \
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \
--allow-unauthenticated \
--region=$GCP_REGION \
--platform=managed \
--project=$GCP_PROJECT \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION
이 단계를 완료하는 데 몇 초 정도 걸릴 수 있습니다.
- 채팅 애플리케이션을 실행하려면 서비스 URL을 클릭합니다.
다음 스크린샷과 같이 채팅 애플리케이션이 새 탭에서 열립니다.
7. 삭제
이 게시물에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력하고 종료를 클릭하여 프로젝트를 삭제합니다.
- 프로젝트를 유지하려면 위 단계를 건너뛰고 Cloud Run으로 이동하여 Cloud Run 서비스를 삭제한 후 서비스 목록에서 삭제할 서비스를 선택하고 삭제를 클릭합니다.
8. 축하합니다
축하합니다. Google Cloud에서 Cloud Run 서비스로 웹 애플리케이션용 AI 기반 채팅 앱을 빌드하고 배포했습니다. 이 채팅 앱을 사용하여 사용자가 쿼리를 입력하도록 할 수 있으며 이 앱은 Vertex AI 채팅 모델을 호출하여 응답을 제공합니다.