Slack 命令自动化

1. 简介

在此 Codelab 中,您可以找到有关在 Slack 工作区中创建摘要服务的说明,方法是与 Slack Slash 命令 集成。

用户调用 Slash 命令 /summarize 并输入要汇总的文本。然后,Slack 应用会调用关联的 Cloud Functions 函数,该函数接受文本并调用 PaLM API 进行汇总。然后,汇总的文本会返回到 Slack 斜杠命令,并在 Slack 应用中显示为响应。

使用的 Google Cloud 服务列表如下:

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

构建内容

您将创建

  • 一个 Cloud Functions 函数,用于调用 PaLM API,以汇总使用斜杠命令从 Slack 收到的文本
  • 一个 Slack 应用,用于调用上述 Cloud Functions 函数进行汇总。

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 here
  5. 如果项目未设置,请使用以下命令进行设置:
gcloud config set project <YOUR_PROJECT_ID>
  1. 在 Cloud Shell 中,设置以下环境变量:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. 部署 Cloud Functions 函数

如需创建和部署 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. 您应该会在 summarization-slack 文件夹中看到 main.pyrequirements.txt 这两个文件,方法是执行 dir 命令或导航到 Cloud Shell 编辑器。
  2. 如需部署 Cloud Functions 函数,请运行 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 Functions 函数后,已部署的 Cloud Functions 函数的网址会显示在 Cloud Shell 终端上。该网址的格式如下:

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

请记下显示的网址,创建 Slack 斜杠命令时需要用到该网址。

5. 创建 Slack Slash 命令

我们来在 Slack 中创建一个自定义 Slash 命令。此自定义命令 /summarize 会调用我们在上一部分中部署的 Cloud Functions 函数。

如需创建 Slash 命令,请执行以下步骤:

  1. 前往 api.slack.com/apps
  2. 点击创建新应用
  3. 创建应用 窗口中,选择从头开始 选项。
  4. 为您的应用输入名称。例如,Summarization Slack Application. 选择用于应用开发的 Slack 工作区。
  5. 点击创建应用设置 页面随即打开。
  6. 设置 页面中,依次点击基本信息 > Slash 命令 。点击创建新命令
  7. 创建新命令 表单中,提供以下值:
  • 命令:提供一个斜杠命令。例如,/summarize.
  • 请求网址:提供我们部署的 Cloud Functions 函数的完整网址。例如,https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • 输入简短说明、使用提示并保存。
  1. 返回到设置 > 基本信息 。点击安装应用 ,然后点击安装到工作区 。应用已安装到您的工作区。

这样就完成了自定义 Slack 应用的创建。该应用现已安装在您的 Slack Workspace 中,并且具有自定义斜杠命令 (/summarize),可帮助用户汇总他们在消息中提供的文本。

6. 测试 Slash 命令

  1. 前往您安装了 Summarization Slack Application 的 Slack 工作区:

前往 https://slack.com/intl/en-in/workspace-signin,然后输入“Find your workspaces”以找到您的工作区名称。选择该名称。

  1. 在聊天中,输入以斜杠命令“/summarize ”为前缀的文本。下面显示了一个示例调用:

bcb511e5909709db.png

  1. 点击发送 按钮,以调用 Cloud Functions 函数并显示汇总响应,如下所示:

a62b223f30bb163e.png

7. 清理

为避免系统因本博文中使用的资源向您的 Google Cloud 账号收取费用,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 管理资源 页面。
  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关停 以删除项目。
  4. 如果您想保留项目,请跳过上述步骤,然后删除 Cloud Functions 函数,方法是导航到 Cloud Functions,然后在函数列表中选中要删除的函数,然后点击“删除”。

8. 恭喜

恭喜!您已在 Slack 应用中成功创建文本汇总服务。