Slack 명령어 자동화

1. 소개

이 Codelab에서는 Slack 슬래시 명령어와의 통합을 제공하여 Slack 작업공간에서 요약 서비스를 만드는 방법을 안내합니다.

사용자가 슬래시 명령어 /summarize를 호출하고 요약할 텍스트를 입력합니다. 그러면 Slack 애플리케이션이 텍스트를 수락하고 요약을 위해 PaLM API를 호출하는 연결된 Cloud 함수를 호출합니다. 요약된 텍스트는 Slack 슬래시 명령어로 다시 반환되고 Slack 애플리케이션에 응답으로 표시됩니다.

. 사용된 Google Cloud 서비스 목록은 다음과 같습니다.

  1. Cloud Functions
  2. Vertex AI PaLM API
  3. Cloud Logging

빌드할 항목

다음 항목을 만듭니다.

  • 슬래시 명령어를 사용하여 Slack에서 가져온 텍스트에 텍스트 요약을 위해 PaLM API를 호출하는 Cloud 함수
  • 요약을 위해 위의 Cloud 함수를 호출하는 Slack 애플리케이션

2. 요구사항

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

3. 시작하기 전에

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

4. Cloud 함수 배포

Cloud 함수를 만들고 배포하려면 다음 단계를 따르세요.

  1. Cloud Shell 터미널에서 다음 명령어를 실행하여 저장소 https://github.com/rominirani/genai-apptemplates-googlecloud에서 코드를 클론합니다.
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. 이 명령어는 저장소 콘텐츠를 genai-templates-googlecloud 폴더에 클론합니다.
  2. Cloud Shell 터미널에서 다음 명령어를 실행하여 관심 있는 프로젝트의 폴더로 이동합니다.
cd genai-apptemplates-googlecloud/summarization-slack
  1. dir 명령어를 실행하거나 Cloud Shell 편집기로 이동하여 summarization-slack 폴더에서 main.py 파일과 requirements.txt 파일을 모두 확인해야 합니다.
  2. Cloud 함수를 배포하려면 gcloud functions deploy 명령어를 실행합니다.
gcloud functions deploy summarizeText \
--gen2 \
--runtime=python311 \
--source=. \
--region=$GCP_REGION \
--project=$GCP_PROJECT \
--entry-point=summarizeText \
--trigger-http \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION \
--max-instances=1

Cloud 함수를 배포하면 배포된 Cloud 함수의 URL이 Cloud Shell 터미널에 표시됩니다. URL의 형식은 다음과 같습니다.

https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText

표시된 URL을 기록해 둡니다. Slack 슬래시 명령어를 만드는 데 필요합니다.

5. Slack 슬래시 명령어 만들기

Slack에서 커스텀 슬래시 명령어를 만들어 보겠습니다. 이 커스텀 명령어 /summarize는 이전 섹션에서 배포한 Cloud 함수를 호출합니다.

슬래시 명령어를 만들려면 다음 단계를 따르세요.

  1. api.slack.com/apps으로 이동합니다.
  2. 새 앱 만들기 를 클릭합니다.
  3. 앱 만들기 창에서 처음부터 옵션을 선택합니다.
  4. 앱 이름을 입력합니다. 예를 들어 Summarization Slack Application. 앱 개발을 위한 Slack 작업공간을 선택합니다.
  5. 앱 만들기 를 클릭합니다. 설정 페이지가 열립니다.
  6. 설정 페이지에서 기본 정보 > 슬래시 명령어 를 클릭합니다. 새 명령어 만들기 를 클릭합니다.
  7. 새 명령어 만들기 양식에서 다음 값을 제공합니다.
  • 명령어: 슬래시 명령어를 제공합니다. 예를 들어 /summarize.입니다.
  • 요청 URL: 배포한 Cloud 함수의 전체 URL을 제공합니다. 예를 들어 https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText입니다.
  • 간단한 설명, 사용 힌트를 입력하고 저장합니다.
  1. 설정 > 기본 정보 로 돌아갑니다. 앱 설치 를 클릭한 다음 작업공간에 설치 를 클릭합니다. 앱이 작업공간에 설치됩니다.

이제 Slack 작업공간에 설치되어 있고 사용자가 메시지에 제공하는 텍스트를 요약하는 데 도움이 되는 커스텀 슬래시 명령어 (/summarize)가 있는 커스텀 Slack 앱이 만들어졌습니다.

6. 슬래시 명령어 테스트

  1. 요약 Slack 애플리케이션을 설치한 Slack 작업공간으로 이동합니다.

https://slack.com/intl/en-in/workspace-signin으로 이동하여 '작업공간 찾기'를 입력하여 작업공간 이름을 찾습니다. 작업공간을 선택합니다.

  1. 채팅에서 슬래시 명령어 '/summarize '로 시작하는 텍스트를 입력합니다. 샘플 호출은 아래와 같습니다.

bcb511e5909709db.png

  1. 보내기 버튼을 클릭하여 Cloud 함수를 호출하고 아래와 같이 요약 응답을 표시합니다.

a62b223f30bb163e.png

7. 삭제

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

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

8. 축하합니다

축하합니다. Slack 애플리케이션에서 텍스트 요약 서비스를 만들었습니다.