1. 简介
在此 Codelab 中,您可以通过提供与 Slack Slash 命令的集成,找到有关如何在 Slack 工作区中创建摘要服务的说明。
用户调用斜杠命令 /summarize
,然后输入要汇总的文本。然后,Slack 应用调用关联的 Cloud Functions 函数,该函数会接受文本并调用 PaLM API 来生成摘要。然后,将汇总的文本返回给 Slack Slash 命令,并在 Slack 应用程序中显示为响应。
,了解所有最新动态。所使用的 Google Cloud 服务如下:
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
构建内容
您将创建
- 一个 Cloud Functions 函数,该函数使用 Slash 命令调用 PaLM API,以便对来自 Slack 的文本进行文本摘要
- 调用上述 Cloud Functions 函数进行摘要的 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 Functions 函数
如需创建和部署 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 Editor,您应该会在 summarymarization-slack 文件夹中同时看到 main.py 和 requirements.txt 文件。
- 要部署 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 命令,请执行以下步骤:
- 前往 api.slack.com/apps。
- 点击 Create New App。
- 在创建应用窗口中,选择从头开始选项。
- 输入应用的名称。例如,
Summarization Slack Application.
选择用于应用开发的 Slack 工作区。 - 点击 Create App。系统随即会打开设置页面。
- 在设置页面中,点击基本信息 >斜杠命令。点击创建新命令。
- 在创建新命令表单中,提供以下值:
- 命令:给出一个斜杠命令。例如
/summarize.
- 请求网址:提供我们部署的 Cloud Functions 函数的完整网址。例如
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
- 输入简短说明和用法提示并保存。
- 返回设置 >基本信息。点击安装应用,然后点击安装到 Workspace。该应用将安装到您的工作区中。
这便完成了自定义 Slack 应用的创建。该应用现已安装在您的 Slack 工作区中,并且有一个自定义 Slash 命令 (/summarize
),可帮助用户总结他们在消息中提供的文本。
6. 测试 Slash 命令
- 转到已安装 Slack 摘要应用的 Slack 工作区:
前往 https://slack.com/intl/en-in/workspace-signin,然后输入“查找您的工作区”找到工作区名称。选择该选项。
- 在聊天中,输入以正斜线命令“/summarize”为前缀的文本。调用示例如下所示:
- 点击 Send 按钮,以调用 Cloud Functions 函数并显示摘要响应,如下所示:
7. 清理
为避免系统因本博文中使用的资源向您的 Google Cloud 账号收取费用,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关停以删除项目。
- 如果您想保留项目,请跳过上述步骤,并删除 Cloud Functions 函数。为此,请前往 Cloud Functions,在函数列表中选中要删除的函数,然后点击“删除”。
8. 恭喜
恭喜!您已在 Slack 应用中成功创建了文本摘要服务。