Slack 命令自动化

1. 简介

在此 Codelab 中,您可以通过提供与 Slack Slash 命令的集成,找到有关如何在 Slack 工作区中创建摘要服务的说明。

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

,了解所有最新动态。所使用的 Google Cloud 服务如下:

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

构建内容

您将创建

  • 一个 Cloud Functions 函数,该函数使用 Slash 命令调用 PaLM API,以便对来自 Slack 的文本进行文本摘要
  • 调用上述 Cloud Functions 函数进行摘要的 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 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. 通过执行 dir 命令或转到 Cloud Shell Editor,您应该会在 summarymarization-slack 文件夹中同时看到 main.pyrequirements.txt 文件。
  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 Slash 命令需要此网址。

5. 创建 Slack Slash 命令

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

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

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

这便完成了自定义 Slack 应用的创建。该应用现已安装在您的 Slack 工作区中,并且有一个自定义 Slash 命令 (/summarize),可帮助用户总结他们在消息中提供的文本。

6. 测试 Slash 命令

  1. 转到已安装 Slack 摘要应用的 Slack 工作区:

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

  1. 在聊天中,输入以正斜线命令“/summarize”为前缀的文本。调用示例如下所示:

bcb511e5909709db.png

  1. 点击 Send 按钮,以调用 Cloud Functions 函数并显示摘要响应,如下所示:

a62b223f30bb163e.png

7. 清理

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

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

8. 恭喜

恭喜!您已在 Slack 应用中成功创建了文本摘要服务。