Cloud Run에서 PaLM API를 사용하는 Chat 앱

1. 소개

이 Codelab에서는 웹 애플리케이션에서 AI 기반 채팅 앱을 Google Cloud의 Cloud Run 서비스로 빌드하고 배포하는 방법을 보여줍니다. 이 채팅 앱을 통해 사용자는 Chat Bison 모델용 PaLM ( text-chat)을 사용하여 쿼리하고 응답을 받을 수 있습니다.

빌드할 항목

생성할 항목:

  • 애플리케이션을 실행할 수 있는 Google Cloud의 환경
  • 애플리케이션용 Docker 이미지
  • 애플리케이션을 실행하는 Cloud Run 서비스

2. 요구사항

  • 브라우저(Chrome 또는 Firefox 등)
  • 결제가 사용 설정된 Google Cloud 프로젝트

3. 시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
  2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
  3. 여기의 안내에 따라 Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
  4. 프로젝트가 설정되지 않은 경우 다음 명령어를 사용하여 설정합니다.
gcloud config set project <YOUR_PROJECT_ID>
  1. Cloud Shell에서 다음 환경 변수를 설정합니다.
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. 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. 환경 설정

  1. 샘플 코드를 프로젝트에 복사하려면 Cloud Shell에서 저장소를 클론합니다.
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. 이 명령어는 저장소 콘텐츠를 genai-templates-googlecloud 폴더에 클론합니다.
  2. Cloud Shell 터미널에서 다음 명령어를 실행하여 관심 있는 프로젝트의 폴더로 이동합니다.
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
  1. 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로 푸시하려면 다음을 수행합니다.

  1. Artifact Registry 저장소의 환경 변수를 설정합니다. 이름은 소문자, 숫자, 하이픈만 포함할 수 있으며 문자로 시작하고 문자나 숫자로 끝나야 합니다. 예를 들면 my-chat-app-repo입니다.
export AR_REPO='my-chat-app-repo'
  1. 서비스 이름의 환경 변수를 설정합니다. 예: chat-flask-app
export SERVICE_NAME='chat-flask-app'
  1. Docker 형식으로 저장소를 만듭니다.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
  1. Docker 인증을 구성합니다.
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
  1. 이미지 빌드
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
  1. 이미지가 Artifact Registry로 푸시되었는지 확인하려면 Artifact Registry 페이지로 이동합니다. 이 페이지에서 만든 저장소를 찾습니다.

6. 애플리케이션 배포

  1. 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

이 단계를 완료하는 데 몇 초 정도 걸릴 수 있습니다.

  1. 채팅 애플리케이션을 실행하려면 서비스 URL을 클릭합니다.

56c06b62e0ac95bf.png

다음 스크린샷과 같이 채팅 애플리케이션이 새 탭에서 열립니다.

eebde9c35c171563.png

7. 삭제

이 게시물에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.
  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력하고 종료를 클릭하여 프로젝트를 삭제합니다.
  4. 프로젝트를 유지하려면 위 단계를 건너뛰고 Cloud Run으로 이동하여 Cloud Run 서비스를 삭제한 후 서비스 목록에서 삭제할 서비스를 선택하고 삭제를 클릭합니다.

8. 축하합니다

축하합니다. Google Cloud에서 Cloud Run 서비스로 웹 애플리케이션용 AI 기반 채팅 앱을 빌드하고 배포했습니다. 이 채팅 앱을 사용하여 사용자가 쿼리를 입력하도록 할 수 있으며 이 앱은 Vertex AI 채팅 모델을 호출하여 응답을 제공합니다.