Автоматизация команд Slack

1. Введение

В этом практическом задании вы найдете инструкции по созданию сервиса суммирования в рабочем пространстве Slack путем интеграции с командой Slack Slash Command .

Пользователь вызывает команду слэша /summarize и вводит текст, который необходимо суммировать. Затем приложение Slack вызывает соответствующую облачную функцию, которая принимает текст и обращается к API PaLM для суммирования. Суммированный текст возвращается в команду слэша Slack и отображается в качестве ответа в приложении Slack.

Список используемых сервисов Google Cloud:

  1. Облачные функции
  2. Vertex AI PaLM API
  3. Облачный журнал

Что вы построите

Вы создадите

  • Облачная функция, которая вызывает API PaLM для суммирования текста, поступающего из Slack, с помощью команды Slash.
  • Приложение Slack, которое вызывает вышеупомянутую облачную функцию для создания сводной информации.

2. Требования

  • Браузер, например Chrome или Firefox.
  • Проект Google Cloud с включенной функцией выставления счетов.

3. Прежде чем начать

  1. В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud.
  2. Убедитесь, что для вашего проекта Google Cloud включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта.
  3. Убедитесь, что API Cloud Functions и API Vertex AI включены.
  4. Активируйте Cloud Shell из консоли Google Cloud, следуя инструкциям здесь.
  5. Если ваш проект не задан, используйте следующую команду для его настройки:
gcloud config set project <YOUR_PROJECT_ID>
  1. В оболочке Cloud Shell установите следующие переменные среды:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1

4. Развертывание облачных функций

Для создания и развертывания облачных функций выполните следующие действия:

  1. Клонируйте код из репозитория https://github.com/rominirani/genai-apptemplates-googlecloud , выполнив следующую команду в терминале Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Эта команда клонирует содержимое репозитория в папку genai-templates-googlecloud.
  2. Перейдите в папку нужного нам проекта, выполнив следующую команду в терминале Cloud Shell:
cd genai-apptemplates-googlecloud/summarization-slack
  1. Файлы main.py и requirements.txt должны находиться в папке summarization-slack, если вы выполните команду dir или перейдете в редактор Cloud Shell.
  2. Для развертывания облачной функции выполните команду ` 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

После развертывания облачной функции URL-адрес развернутой функции отображается в терминале Cloud Shell. URL-адрес имеет следующий формат:

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

Обратите внимание на отобразившийся URL-адрес, он понадобится для создания команды Slack Slash Command.

5. Создайте команду Slack Slash Command.

Давайте создадим пользовательскую команду с косой чертой в Slack. Эта пользовательская команда /summarize вызывает облачную функцию, которую мы развернули в предыдущем разделе.

Для создания команды со слэшем выполните следующие действия:

  1. Перейдите на api.slack.com/apps .
  2. Нажмите «Создать новое приложение».
  3. В окне «Создать приложение» выберите вариант «С нуля» .
  4. Введите название для вашего приложения. Например, Summarization Slack Application. Выберите рабочее пространство Slack для разработки вашего приложения.
  5. Нажмите «Создать приложение» . Откроется страница настроек .
  6. На странице настроек нажмите «Основные сведения» > «Команды со слэшем» . Нажмите «Создать новую команду» .
  7. В форме «Создать новую команду» укажите следующие значения:
  • Команда : введите команду с косой чертой. Например, /summarize.
  • URL запроса : укажите полный URL-адрес развернутой нами облачной функции. Например, https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/summarizeText
  • Введите краткое описание, подсказку по использованию и сохраните.
  1. Вернитесь в «Настройки» > «Основные сведения» . Нажмите «Установить приложение» , а затем нажмите «Установить в рабочее пространство» . Приложение будет установлено в ваше рабочее пространство.

На этом завершается создание пользовательского приложения Slack, которое теперь установлено в вашем рабочем пространстве Slack и имеет пользовательскую команду слэша ( /summarize ), которая помогает пользователю кратко изложить текст, предоставленный им в сообщении.

6. Проверьте команду "Слэш".

  1. Перейдите в рабочую область Slack, где установлено приложение Summarization Slack:

Перейдите по ссылке https://slack.com/intl/en-in/workspace-signin и введите "Найти свои рабочие пространства", чтобы увидеть название своего рабочего пространства. Выберите его.

  1. В чате введите текст, перед которым стоит команда слэш " /summarize ". Пример вызова показан ниже:

bcb511e5909709db.png

  1. Нажмите кнопку «Отправить» , чтобы вызвать облачную функцию и отобразить итоговый ответ, как показано ниже:

a62b223f30bb163e.png

7. Уборка

Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этой статье, выполните следующие действия:

  1. В консоли Google Cloud перейдите на страницу «Управление ресурсами» .
  2. В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить».
  3. В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
  4. Если вы хотите сохранить свой проект, пропустите описанные выше шаги и удалите облачную функцию, перейдя в раздел «Облачные функции», выбрав в списке функций ту, которую хотите удалить, и нажав кнопку «УДАЛИТЬ».

8. Поздравляем!

Поздравляем! Вы успешно создали сервис для суммирования текста в приложении Slack.