1. 소개
이 Codelab에서는 Slack 슬래시 명령어와의 통합을 제공하여 Slack 작업공간에서 요약 서비스를 만드는 방법을 안내합니다.
사용자가 슬래시 명령어 /summarize를 호출하고 요약할 텍스트를 입력합니다. 그러면 Slack 애플리케이션이 텍스트를 수락하고 요약을 위해 PaLM API를 호출하는 연결된 Cloud 함수를 호출합니다. 요약된 텍스트는 Slack 슬래시 명령어로 다시 반환되고 Slack 애플리케이션에 응답으로 표시됩니다.
. 사용된 Google Cloud 서비스 목록은 다음과 같습니다.
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
빌드할 항목
다음 항목을 만듭니다.
- 슬래시 명령어를 사용하여 Slack에서 가져온 텍스트에 텍스트 요약을 위해 PaLM API를 호출하는 Cloud 함수
- 요약을 위해 위의 Cloud 함수를 호출하는 Slack 애플리케이션
2. 요구사항
3. 시작하기 전에
- Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
- Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
- Cloud Functions API 및 Vertex AI API가 사용 설정되어 있는지 확인합니다.
- 여기의 안내에 따라 Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
- 프로젝트가 설정되지 않은 경우 다음 명령어를 사용하여 설정합니다.
gcloud config set project <YOUR_PROJECT_ID>
- Cloud Shell에서 다음 환경 변수를 설정합니다.
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
4. Cloud 함수 배포
Cloud 함수를 만들고 배포하려면 다음 단계를 따르세요.
- Cloud Shell 터미널에서 다음 명령어를 실행하여 저장소 https://github.com/rominirani/genai-apptemplates-googlecloud에서 코드를 클론합니다.
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- 이 명령어는 저장소 콘텐츠를 genai-templates-googlecloud 폴더에 클론합니다.
- Cloud Shell 터미널에서 다음 명령어를 실행하여 관심 있는 프로젝트의 폴더로 이동합니다.
cd genai-apptemplates-googlecloud/summarization-slack
- dir 명령어를 실행하거나 Cloud Shell 편집기로 이동하여 summarization-slack 폴더에서 main.py 파일과 requirements.txt 파일을 모두 확인해야 합니다.
- 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 함수를 호출합니다.
슬래시 명령어를 만들려면 다음 단계를 따르세요.
- api.slack.com/apps으로 이동합니다.
- 새 앱 만들기 를 클릭합니다.
- 앱 만들기 창에서 처음부터 옵션을 선택합니다.
- 앱 이름을 입력합니다. 예를 들어
Summarization Slack Application.앱 개발을 위한 Slack 작업공간을 선택합니다. - 앱 만들기 를 클릭합니다. 설정 페이지가 열립니다.
- 설정 페이지에서 기본 정보 > 슬래시 명령어 를 클릭합니다. 새 명령어 만들기 를 클릭합니다.
- 새 명령어 만들기 양식에서 다음 값을 제공합니다.
- 명령어: 슬래시 명령어를 제공합니다. 예를 들어
/summarize.입니다. - 요청 URL: 배포한 Cloud 함수의 전체 URL을 제공합니다. 예를 들어
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText입니다. - 간단한 설명, 사용 힌트를 입력하고 저장합니다.
- 설정 > 기본 정보 로 돌아갑니다. 앱 설치 를 클릭한 다음 작업공간에 설치 를 클릭합니다. 앱이 작업공간에 설치됩니다.
이제 Slack 작업공간에 설치되어 있고 사용자가 메시지에 제공하는 텍스트를 요약하는 데 도움이 되는 커스텀 슬래시 명령어 (/summarize)가 있는 커스텀 Slack 앱이 만들어졌습니다.
6. 슬래시 명령어 테스트
- 요약 Slack 애플리케이션을 설치한 Slack 작업공간으로 이동합니다.
https://slack.com/intl/en-in/workspace-signin으로 이동하여 '작업공간 찾기'를 입력하여 작업공간 이름을 찾습니다. 작업공간을 선택합니다.
- 채팅에서 슬래시 명령어 '/summarize '로 시작하는 텍스트를 입력합니다. 샘플 호출은 아래와 같습니다.

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

7. 삭제
이 게시물에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행하세요.
- Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력하고 종료 를 클릭하여 프로젝트를 삭제합니다.
- 프로젝트를 유지하려면 위의 단계를 건너뛰고 Cloud Functions로 이동하여 함수 목록에서 삭제할 함수를 선택하고 삭제를 클릭하여 Cloud 함수를 삭제합니다.
8. 축하합니다
축하합니다. Slack 애플리케이션에서 텍스트 요약 서비스를 만들었습니다.