1. 소개
이 Codelab에서는 Slack 슬래시 명령어와의 통합을 제공하여 Slack 작업공간에서 요약 서비스를 만드는 방법을 안내합니다.
사용자가 슬래시 명령어 /summarize
를 호출하고 요약할 텍스트를 입력합니다. 그런 다음 Slack 애플리케이션은 텍스트를 수락하는 연결된 Cloud 함수를 호출하고 요약을 위해 PaLM API를 호출합니다. 요약된 텍스트는 다시 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 Functions를 만들고 배포하려면 다음 단계를 따르세요.
- 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 편집기로 이동하면 summary-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로 이동합니다.
- Create New App(새 앱 만들기)을 클릭합니다.
- 앱 만들기 창에서 처음부터 옵션을 선택합니다.
- 앱의 이름을 입력합니다. 예:
Summarization Slack Application.
앱 개발을 위한 Slack 작업공간을 선택합니다. - Create App(앱 만들기)을 클릭합니다. 설정 페이지가 열립니다.
- 설정 페이지에서 기본 정보 > 슬래시 명령어. Create New Command(새 명령어 만들기)를 클릭합니다.
- Create New Command 양식에 다음 값을 입력합니다.
- 명령어: 슬래시 명령어를 지정합니다. 예를 들면
/summarize.
입니다. - 요청 URL: 배포한 Cloud 함수의 전체 URL을 입력합니다. 예를 들면
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
입니다. - 간단한 설명과 사용 힌트를 입력하고 저장합니다.
- 설정 > Basic Information 앱 설치를 클릭한 후 Workspace에 설치를 클릭합니다. 앱이 작업공간에 설치되어 있습니다.
이렇게 하면 Slack 작업공간에 설치되고 사용자가 메시지에 제공한 텍스트를 요약하는 데 도움이 되는 커스텀 슬래시 명령어 (/summarize
)가 있는 커스텀 Slack 앱의 생성이 완료됩니다.
6. 슬래시 명령어 테스트
- 요약 Slack 애플리케이션이 설치된 Slack Workspace로 이동합니다.
https://slack.com/intl/en-in/workspace-signin 페이지로 이동하여 '작업공간 찾기'를 입력합니다. 작업공간 이름을 찾을 수 있습니다. 해당 항목을 선택합니다.
- 채팅에서 슬래시 명령어 '/summarize'가 접두사로 붙은 텍스트를 입력합니다. 샘플 호출은 아래와 같습니다.
- Send 버튼을 클릭하여 Cloud 함수를 호출하고 아래와 같이 요약 응답을 표시합니다.
7. 삭제
이 게시물에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력하고 종료를 클릭하여 프로젝트를 삭제합니다.
- 프로젝트를 유지하려면 위 단계를 건너뛰고 Cloud Functions로 이동하여 Cloud 함수를 삭제한 후 함수 목록에서 삭제할 함수를 선택하고 삭제를 클릭합니다.
8. 축하합니다
축하합니다. Slack 애플리케이션에서 텍스트 요약 서비스를 만들었습니다.