1. はじめに
この Codelab では、Slack スラッシュ コマンドとの統合を提供して、Slack ワークスペースで要約サービスを作成する手順について説明します。
ユーザーがスラッシュ コマンド /summarize を呼び出し、要約するテキストを入力します。次に、Slack アプリケーションは、テキストを受け取り、要約のために PaLM API を呼び出す関連付けられた Cloud Functions の関数を呼び出します。要約されたテキストは Slack スラッシュ コマンドに返され、Slack アプリケーションにレスポンスとして表示されます。
。使用されている Google Cloud サービスのリストは次のとおりです。
- Cloud Functions
- Vertex AI PaLM API
- Cloud Logging
作成するアプリの概要
作成する
- スラッシュ コマンドを使用して Slack から送信されたテキストに対して、テキスト要約のために PaLM API を呼び出す Cloud Functions の関数
- 上記の 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 エディタに移動すると、summarization-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 の URL が Cloud Shell ターミナルに表示されます。URL の形式は次のとおりです。
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
表示された URL をメモします。Slack スラッシュ コマンドの作成に必要になります。
5. Slack スラッシュ コマンドを作成する
Slack でカスタム スラッシュ コマンドを作成しましょう。このカスタム コマンド /summarize は、前のセクションでデプロイした Cloud Functions を呼び出します。
スラッシュ コマンドを作成する手順は次のとおりです。
- api.slack.com/apps に移動します。
- [Create New App] をクリックします。
- [Create an app] ウィンドウで、[From scratch] オプションを選択します。
- アプリの名前を入力します(例:
Summarization Slack Application.)。アプリ開発用の Slack ワークスペースを選択します。 - [アプリを作成] をクリックします。[設定] ページが開きます。
- [設定] ページで、[基本情報] > [スラッシュ コマンド] をクリックします。[Create New Command] をクリックします。
- [Create New Command] フォームで、次の値を指定します。
- コマンド: スラッシュ コマンドを入力します。例:
/summarize. - リクエスト URL: デプロイした Cloud Functions の完全な URL を指定します。例:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText - 簡単な説明と使用方法のヒントを入力して保存します。
- [設定] > [基本情報] に戻ります。[Install your app] をクリックし、[Install to Workspace] をクリックします。アプリがワークスペースにインストールされます。
これで、Slack Workspace にインストールされ、ユーザーがメッセージで指定したテキストを要約するのに役立つカスタム スラッシュ コマンド(/summarize)を備えたカスタム Slack アプリの作成が完了しました。
6. スラッシュ コマンドをテストする
- 要約 Slack アプリケーションをインストールした Slack ワークスペースに移動します。
https://slack.com/intl/en-in/workspace-signin にアクセスし、「Find your workspaces」と入力してワークスペース名を確認します。それを選択します。
- チャットで、スラッシュ コマンド「/summarize」で始まるテキストを入力します。呼び出しの例を以下に示します。

- [送信] ボタンをクリックして Cloud Functions を呼び出し、次のように要約応答を表示します。

7. クリーンアップ
この投稿で使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
- プロジェクトを保持する場合は、上記の手順をスキップして、Cloud Functions に移動し、関数のリストから削除する関数をオンにして [削除] をクリックして、Cloud Functions の関数を削除します。
8. 完了
おめでとうございます!Slack アプリケーションでテキスト要約サービスを作成できました。