Tự động hoá lệnh trong Slack

1. Giới thiệu

Trong lớp học lập trình này, bạn có thể tìm thấy hướng dẫn tạo dịch vụ tóm tắt trong Không gian làm việc Slack bằng cách tích hợp với Lệnh dấu gạch chéo của Slack.

Người dùng gọi Lệnh dấu gạch chéo /summarize và nhập văn bản cần tóm tắt. Sau đó, ứng dụng Slack gọi Cloud Function được liên kết, chấp nhận văn bản và gọi API PaLM để tóm tắt. Văn bản được tóm tắt sẽ được trả về Lệnh dấu gạch chéo của Slack và hiển thị dưới dạng phản hồi trong Ứng dụng Slack.

. Danh sách các dịch vụ của Google Cloud được sử dụng là:

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

Sản phẩm bạn sẽ tạo ra

Bạn sẽ tạo

  • Cloud Function gọi API PaLM để tóm tắt văn bản đến từ Slack bằng Lệnh dấu gạch chéo
  • Ứng dụng Slack gọi Cloud Function ở trên để tóm tắt.

2. Yêu cầu

  • Một trình duyệt, chẳng hạn như Chrome hoặc Firefox
  • Một dự án Google Cloud đã bật tính năng thanh toán

3. Trước khi bắt đầu

  1. Trong Google Cloud Console, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án Google Cloud
  2. Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên đám mây của Google Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán đã được bật trên một dự án hay chưa
  3. Đảm bảo rằng bạn đã bật Cloud Functions API và Vertex AI API.
  4. Kích hoạt Cloud Shell từ bảng điều khiển Cloud bằng cách làm theo hướng dẫn tại đây
  5. Nếu dự án của bạn chưa được thiết lập, hãy dùng lệnh sau để thiết lập:
gcloud config set project <YOUR_PROJECT_ID>
  1. Trong Cloud Shell, hãy thiết lập các biến môi trường sau:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. Triển khai Cloud Function

Để tạo và triển khai Cloud Functions, hãy làm theo các bước sau:

  1. Sao chép mã từ kho lưu trữ https://github.com/rominirani/genai-apptemplates-googlecloud bằng cách thực thi lệnh sau trong cửa sổ dòng lệnh Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Lệnh này sẽ sao chép nội dung kho lưu trữ vào thư mục genai-templates-googlecloud.
  2. Chuyển đến thư mục của dự án mà chúng ta quan tâm bằng cách thực thi lệnh sau từ Cửa sổ dòng lệnh Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
  1. Bạn sẽ thấy cả hai tệp main.pyrequirements.txt trong thư mục summarization-slack bằng cách thực thi lệnh dir hoặc bằng cách chuyển đến Trình chỉnh sửa Cloud Shell.
  2. Để triển khai Cloud Function, hãy chạy lệnh 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

Sau khi bạn triển khai Cloud Function, URL của Cloud Function đã triển khai sẽ xuất hiện trên Cửa sổ dòng lệnh Cloud Shell. URL có định dạng như sau:

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

Hãy lưu ý URL đã xuất hiện, bạn sẽ cần URL này để tạo Lệnh dấu gạch chéo của Slack.

5. Tạo Lệnh dấu gạch chéo của Slack

Hãy tạo một Lệnh dấu gạch chéo tuỳ chỉnh trong Slack. Lệnh tuỳ chỉnh /summarize này gọi Cloud Function mà chúng ta đã triển khai trong phần trước.

Để tạo Lệnh dấu gạch chéo, hãy thực hiện các bước sau:

  1. Truy cập api.slack.com/apps.
  2. Nhấp vào Create New App (Tạo ứng dụng mới).
  3. Trong cửa sổ Create an app (Tạo ứng dụng), hãy chọn tuỳ chọn From scratch (Từ đầu).
  4. Nhập tên cho ứng dụng. Ví dụ: Summarization Slack Application. Chọn Không gian làm việc Slack để phát triển ứng dụng.
  5. Nhấp vào Create App (Tạo ứng dụng). Trang Settings (Cài đặt) sẽ mở ra.
  6. Trên trang Settings (Cài đặt), hãy nhấp vào Basic Information > Slash Commands (Thông tin cơ bản > Lệnh dấu gạch chéo). Nhấp vào Create New Command (Tạo lệnh mới).
  7. Trong biểu mẫu Create New Command (Tạo lệnh mới), hãy cung cấp các giá trị sau:
  • Command (Lệnh): đưa ra một lệnh dấu gạch chéo. Ví dụ: /summarize.
  • Request URL (Yêu cầu URL): cung cấp URL đầy đủ của Cloud Function mà chúng ta đã triển khai. Ví dụ: https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • Nhập Nội dung mô tả ngắn, Gợi ý sử dụng rồi lưu.
  1. Quay lại Settings > Basic Information (Cài đặt > Thông tin cơ bản). Nhấp vào Install your app (Cài đặt ứng dụng) rồi nhấp vào Install to Workspace (Cài đặt vào không gian làm việc). Ứng dụng sẽ được cài đặt vào không gian làm việc của bạn.

Thao tác này hoàn tất việc tạo Ứng dụng Slack tuỳ chỉnh hiện đã được cài đặt trong Không gian làm việc Slack và có một lệnh dấu gạch chéo tuỳ chỉnh (/summarize) giúp người dùng tóm tắt văn bản mà họ cung cấp trong tin nhắn.

6. Kiểm thử Lệnh dấu gạch chéo

  1. Chuyển đến Không gian làm việc Slack nơi bạn đã cài đặt Ứng dụng Slack tóm tắt:

Truy cập https://slack.com/intl/en-in/workspace-signin rồi nhập "Find your workspaces" (Tìm không gian làm việc của bạn) để tìm tên không gian làm việc. Chọn tên đó.

  1. Trong cuộc trò chuyện, hãy nhập văn bản có tiền tố là lệnh dấu gạch chéo "/summarize ". Một lời gọi mẫu được minh hoạ dưới đây:

bcb511e5909709db.png

  1. Nhấp vào nút Send (Gửi) để gọi Cloud Function và hiển thị phản hồi tóm tắt như minh hoạ dưới đây:

a62b223f30bb163e.png

7. Dọn dẹp

Để tránh bị tính phí vào tài khoản Google Cloud cho các tài nguyên được sử dụng trong bài đăng này, hãy làm theo các bước sau:

  1. Trong bảng điều khiển Cloud, hãy chuyển đến trang Quản lý tài nguyên.
  2. Trong danh sách dự án, hãy chọn dự án mà bạn muốn xoá, rồi nhấp vào Delete (Xoá).
  3. Trong hộp thoại, hãy nhập mã dự án, rồi nhấp vào Shut down (Tắt) để xoá dự án.
  4. Nếu bạn muốn giữ lại dự án, hãy bỏ qua các bước trên và xoá Cloud Function bằng cách chuyển đến Cloud Functions rồi trong danh sách các hàm, hãy đánh dấu hàm mà bạn muốn xoá và nhấp vào DELETE (XOÁ).

8. Xin chúc mừng

Xin chúc mừng! Bạn đã tạo thành công một dịch vụ tóm tắt văn bản trong Ứng dụng Slack.