1. 簡介
在本程式碼研究室中,您可以整合 Slack Slash Command,進而在 Slack Workspace 中建立摘要服務的操作說明。
使用者叫用了斜線指令 /summarize
,並輸入要產生摘要的文字。接著,Slack 應用程式會叫用相關聯的 Cloud 函式,這些函式可接受文字,並叫用 PaLM API 來提供摘要。之後匯總的文字就會傳回 Slack Slash Command,並在 Slack 應用程式中顯示為回應。
,直接在 Google Cloud 控制台實際操作。以下列出使用的 Google Cloud 服務:
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
建構項目
您會自行建立
- 這個 Cloud 函式使用 Slash Command 對 Slack 傳送的文字叫用 PaLM API
- 會叫用上述 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 編輯器,您應該會在摘要資料夾中看到 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 Shell 終端機中會顯示已部署的 Cloud 函式網址。網址的格式如下:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
請注意畫面顯示的網址,需要建立 Slack Slash 指令。
5. 建立 Slack Slash Command
讓我們在 Slack 中建立自訂的 Slash 指令。這個自訂指令 /summarize
會叫用我們在上一節部署的 Cloud 函式。
如要建立 Slash 指令,請執行下列步驟:
- 前往 api.slack.com/apps。
- 按一下「Create New App」。
- 在「建立應用程式」視窗中選擇「從頭開始」選項。
- 輸入應用程式名稱。舉例來說,
Summarization Slack Application.
選取 Slack Workspace 來進行應用程式開發。 - 按一下「Create App」。「Settings」(設定) 頁面隨即開啟。
- 在「設定」頁面中,按一下「基本資訊」>斜線指令 (Slash Commands)。按一下「Create New Command」。
- 在「Create New Command」(建立新指令) 表單中,提供下列值:
- 指令:使用斜線指令。例如:
/summarize.
- 要求網址:提供我們部署的 Cloud 函式完整網址。例如:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
- 輸入簡短說明、使用提示並儲存。
- 返回「設定」>基本資訊。依序按一下「Install your app」和「Install to Workspace」。應用程式將會安裝至工作區。
如此一來,您建立的自訂 Slack 應用程式現已安裝在您的 Slack Workspace 中,而且具備自訂 Slash 指令 (/summarize
),可協助使用者總結他們在訊息中提供的文字。
6. 測試斜線指令
- 前往已安裝摘要 Slack 應用程式的 Slack Workspace:
前往 https://slack.com/intl/en-in/workspace-signin 並輸入「Find your workspaces」找出工作區名稱請選取該選項。
- 在即時通訊中,於文字前面加上斜線指令「/summarize」;以下是叫用範例:
- 點選「傳送」按鈕,叫用 Cloud 函式並顯示摘要回應,如下所示:
7. 清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本文中所用資源的費用,請按照下列步驟操作:
8. 恭喜
恭喜!您已成功在 Slack 應用程式中建立文字摘要服務。