Slack 指令自動化

1. 簡介

在本程式碼研究室中,您將瞭解如何透過整合 Slack 斜線指令,在 Slack 工作區中建立摘要服務。

使用者叫用 Slash 指令 /summarize,並輸入要摘要的文字。接著,Slack 應用程式會叫用相關聯的 Cloud 函式,接受文字並叫用 PaLM API 進行摘要。摘要文字隨即會傳回 Slack 斜線指令,並顯示為 Slack 應用程式中的回覆。

。使用的 Google Cloud 服務清單如下:

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

建構項目

您將建立

  • Cloud 函式:透過斜線指令,針對來自 Slack 的文字叫用 PaLM API 進行文字摘要
  • Slack 應用程式,可叫用上述 Cloud Function 進行摘要。

2. 需求條件

  • ChromeFirefox 瀏覽器
  • 已啟用計費功能的 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 Functions,請按照下列步驟操作:

  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.pyrequirements.txt 檔案。
  2. 如要部署 Cloud Function,請執行 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 Shell 終端機會顯示已部署的 Cloud 函式網址。網址格式如下:

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

請記下顯示的網址,建立 Slack 斜線指令時會用到。

5. 建立 Slack 斜線指令

現在,請在 Slack 中建立自訂斜線指令。這個自訂指令 /summarize 會叫用我們在前一節部署的 Cloud 函式。

如要建立斜線指令,請按照下列步驟操作:

  1. 前往 api.slack.com/apps
  2. 按一下「Create New App」(建立新應用程式)
  3. 在「建立應用程式」視窗中,選擇「從頭開始」選項。
  4. 輸入應用程式名稱。例如:Summarization Slack Application. 選取應用程式開發的 Slack 工作區。
  5. 按一下「建立應用程式」。「設定」頁面隨即開啟。
  6. 在「設定」頁面中,依序點選「基本資訊」>「斜線指令」。按一下「建立新指令」
  7. 在「Create New Command」表單中,提供下列值:
  • 指令:輸入斜線指令。例如:/summarize.
  • 要求網址:提供我們部署的 Cloud 函式完整網址。例如:https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • 輸入簡短說明和使用提示,然後儲存。
  1. 返回「設定」>「基本資訊」。按一下「安裝應用程式」,然後按一下「安裝至 Workspace」。應用程式會安裝到您的工作區。

這樣就完成了自訂 Slack 應用程式的建立程序,該應用程式現在已安裝在 Slack 工作區中,並具有自訂斜線指令 (/summarize),可協助使用者摘要訊息中提供的文字。

6. 測試斜線指令

  1. 前往已安裝摘要 Slack 應用程式的 Slack 工作區:

前往 https://slack.com/intl/en-in/workspace-signin,然後輸入「Find your workspaces」(尋找工作區),找出工作區名稱。選取該選項。

  1. 在對話中,輸入以斜線指令「/summarize」為前置字元的文字。以下是叫用範例:

bcb511e5909709db.png

  1. 按一下「傳送」按鈕,即可叫用 Cloud 函式並顯示摘要回應,如下所示:

a62b223f30bb163e.png

7. 清理

如要避免系統向您的 Google Cloud 帳戶收取本文章所用資源的費用,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中前往「管理資源」頁面。
  2. 在專案清單中選取要刪除的專案,然後按一下「刪除」
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關機) 即可刪除專案。
  4. 如要保留專案,請略過上述步驟,然後前往 Cloud Functions,從函式清單中勾選要刪除的函式,並按一下「刪除」。

8. 恭喜

恭喜!您已在 Slack 應用程式中成功建立文字摘要服務。