Slack 指令自動化

1. 簡介

在本程式碼研究室中,您可以整合 Slack Slash Command,進而在 Slack Workspace 中建立摘要服務的操作說明。

使用者叫用了斜線指令 /summarize,並輸入要產生摘要的文字。接著,Slack 應用程式會叫用相關聯的 Cloud 函式,這些函式可接受文字,並叫用 PaLM API 來提供摘要。之後匯總的文字就會傳回 Slack Slash Command,並在 Slack 應用程式中顯示為回應。

,直接在 Google Cloud 控制台實際操作。以下列出使用的 Google Cloud 服務:

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

建構項目

您會自行建立

  • 這個 Cloud 函式使用 Slash Command 對 Slack 傳送的文字叫用 PaLM API
  • 會叫用上述 Cloud 函式產生摘要的 Slack 應用程式。

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 編輯器,您應該會在摘要資料夾中看到 main.pyrequirements.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 Shell 終端機中會顯示已部署的 Cloud 函式網址。網址的格式如下:

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

請注意畫面顯示的網址,需要建立 Slack Slash 指令。

5. 建立 Slack Slash Command

讓我們在 Slack 中建立自訂的 Slash 指令。這個自訂指令 /summarize 會叫用我們在上一節部署的 Cloud 函式。

如要建立 Slash 指令,請執行下列步驟:

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

如此一來,您建立的自訂 Slack 應用程式現已安裝在您的 Slack Workspace 中,而且具備自訂 Slash 指令 (/summarize),可協助使用者總結他們在訊息中提供的文字。

6. 測試斜線指令

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

前往 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. 在專案清單中選取要刪除的專案,然後按一下「Delete」(刪除)
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。
  4. 如要保留專案,請略過上述步驟並刪除 Cloud 函式,方法是前往 Cloud Functions 頁面,在函式清單中勾選要刪除的函式,然後按一下「刪除」。

8. 恭喜

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