В этом руководстве показано, как создать приложение Google Chat, которое реагирует на инциденты в режиме реального времени. Реагируя на инцидент, приложение создает и заполняет пространство чата, облегчает разрешение инцидента с помощью сообщений, косых команд и диалогов, а также использует искусственный интеллект для обобщения ответа на инцидент в документе Google Docs.
Инцидент – это событие, для разрешения которого требуется немедленное внимание группы людей. Примеры инцидентов включают в себя:
- На платформе управления взаимоотношениями с клиентами (CRM) создается срочный случай, требующий совместной работы группы обслуживания над разрешением.
- Система отключается, оповещая группу инженеров по надежности объекта (SRE), чтобы они могли вместе работать над ее возобновлением.
- Происходит землетрясение высокой магнитуды, и спасателям необходимо координировать свои действия.
В рамках данного руководства оповещение об инциденте запускается, когда кто-то сообщает об инциденте нажатием кнопки на веб-странице. Веб-страница имитирует инцидент, предлагая пользователям ввести основную информацию об инциденте: название, описание и адреса электронной почты ответивших.
Посмотрите приложение Chat для управления инцидентами в действии:
Рисунок 2. Уведомление о создании пространства чата по инциденту. Рисунок 3. Реагирование на инцидент. Пространство чата. Рисунок 4. Разрешение инцидента с помощью команды косой черты. Рисунок 5. Диалоговое окно разрешения инцидента. Рисунок 6. Документ Google Docs по разрешению инцидентов, доступный в пространстве. Рисунок 7. Документ Google Docs со сводкой по разрешению инцидентов с использованием ИИ.
Предварительные условия
Если вам необходимо включить какие-либо из этих предварительных условий для вашей организации, попросите администратора Google Workspace включить их:
- Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
- Чтобы включить каталог (обмен контактами) для Google Workspace. Приложение для инцидентов использует каталог для поиска контактной информации лиц, отвечающих на инциденты, таких как имя и адрес электронной почты. Ответственные за инциденты должны быть пользователями с учетной записью Google Chat в вашей организации Google Workspace.
Цели
- Создайте приложение чата, которое реагирует на инциденты.
- Помогите пользователям реагировать на инциденты, выполнив следующие действия:
- Создание пространств реагирования на инциденты.
- Публикация сообщений с кратким описанием инцидентов и ответов.
- Поддержка совместной работы с помощью функций интерактивного приложения чата.
- Подведите итоги разговоров и принятых решений с помощью Vertex AI.
Архитектура
На следующей диаграмме показана архитектура ресурсов Google Workspace и Google Cloud, используемых приложением Google Chat для реагирования на инциденты.
Архитектура показывает, как приложение Google Chat для реагирования на инциденты обрабатывает инцидент и разрешает его.
Пользователь запускает инцидент с внешнего веб-сайта, размещенного на Apps Script.
Веб-сайт отправляет асинхронный HTTP-запрос в приложение Google Chat, также размещенное на Apps Script.
Приложение Google Chat для реагирования на инциденты обрабатывает запрос:
Служба Apps Script Admin SDK получает информацию о членах команды, например идентификатор пользователя и адрес электронной почты.
С помощью набора HTTP-запросов к Chat API с использованием службы расширенного чата Apps Script приложение Google Chat для ответа на инцидент создает пространство чата для инцидентов, заполняет его членами команды и отправляет сообщение в это пространство.
Члены команды обсуждают инцидент в чате.
Член команды вызывает косую черту, чтобы сообщить о разрешении инцидента.
HTTP-вызов API Chat с использованием расширенной службы Chat Apps Script выводит список всех сообщений пространства Chat.
Vertex AI получает перечисленные сообщения и генерирует сводку.
Служба Apps Script
DocumentApp
создает документ Docs и добавляет в него резюме Vertex AI.Приложение Google Chat для ответа на инцидент вызывает Chat API, чтобы отправить сообщение со ссылкой на сводный документ Документов.
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить проект Google Cloud для приложения Chat.
Создайте проект Google Cloud
Консоль Google Cloud
- В консоли Google Cloud выберите > IAM и администрирование > Создать проект .
- В поле «Имя проекта » введите описательное имя вашего проекта.
Необязательно: Чтобы изменить идентификатор проекта , нажмите «Изменить» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который соответствует вашим потребностям на протяжении всего срока существования проекта.
- В поле «Местоположение » нажмите «Обзор» , чтобы отобразить возможные местоположения для вашего проекта. Затем нажмите «Выбрать» .
- Нажмите Создать . Консоль Google Cloud перейдет на страницу панели инструментов, и ваш проект будет создан в течение нескольких минут.
интерфейс командной строки gcloud
В одной из следующих сред разработки получите доступ к Google Cloud CLI ( gcloud
):
- Cloud Shell : чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
Активировать Cloud Shell - Локальная оболочка : чтобы использовать локальную среду разработки, установите и инициализируйте интерфейс командной строки gcloud.
Чтобы создать облачный проект, используйте командуgcloud projects create
: Замените PROJECT_ID , указав идентификатор проекта, который вы хотите создать.gcloud projects create PROJECT_ID
Включить биллинг для облачного проекта
Консоль Google Cloud
- В консоли Google Cloud перейдите в раздел «Оплата» . Нажмите Меню > Оплата > проекты .
- В разделе «Выберите организацию» выберите организацию, связанную с вашим проектом Google Cloud.
- В строке проекта откройте меню «Действия» ( ), нажмите «Изменить биллинг» и выберите учетную запись Cloud Billing.
- Нажмите Установить учетную запись .
интерфейс командной строки gcloud
- Чтобы просмотреть список доступных платежных учетных записей, выполните:
gcloud billing accounts list
- Свяжите платежный аккаунт с проектом Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Замените следующее:
-
PROJECT_ID
— это идентификатор облачного проекта, для которого вы хотите включить оплату. -
BILLING_ACCOUNT_ID
— это идентификатор платежного аккаунта , который нужно связать с проектом Google Cloud.
-
Включите API
Консоль Google Cloud
В консоли Google Cloud включите API Google Chat, API Google Docs, API Admin SDK и API Vertex AI.
Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .
Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .
интерфейс командной строки gcloud
При необходимости установите текущий проект Cloud на тот, который вы создали с помощью команды
gcloud config set project
:gcloud config set project PROJECT_ID
Замените PROJECT_ID на идентификатор созданного вами облачного проекта.
Включите Google Chat API, Google Docs API, Admin SDK API и Vertex AI API с помощью команды
gcloud services enable
:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com
Настройте аутентификацию и авторизацию
Аутентификация и авторизация позволяют приложению Chat получать доступ к ресурсам в Google Workspace и Google Cloud для обработки реагирования на инциденты.
В этом руководстве вы публикуете приложение внутри компании, поэтому можно использовать информацию-заполнитель. Прежде чем публиковать приложение на внешних ресурсах, замените информацию-заполнитель реальной информацией для экрана согласия.
API и службы > Экран согласия OAuth .
>В разделе «Тип пользователя» выберите «Внутренний» , затем нажмите «Создать» .
В поле «Имя приложения» введите
Incident Management
.В разделе «Электронная почта поддержки пользователей» выберите свой адрес электронной почты или соответствующую группу Google.
В разделе «Контактная информация разработчика» введите свой адрес электронной почты.
Нажмите «Сохранить и продолжить» .
Нажмите «Добавить или удалить области» . Появится панель со списком областей действия для каждого API, который вы включили в своем облачном проекте.
В разделе «Добавление областей вручную» вставьте следующие области:
-
https://www.googleapis.com/auth/chat.spaces.create
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.app
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/documents
-
https://www.googleapis.com/auth/admin.directory.user.readonly
-
https://www.googleapis.com/auth/script.external_request
-
https://www.googleapis.com/auth/userinfo.email
-
https://www.googleapis.com/auth/cloud-platform
-
Нажмите «Добавить в таблицу» .
Нажмите Обновить .
Нажмите «Сохранить и продолжить» .
Просмотрите сводную информацию о регистрации приложения, затем нажмите « Вернуться на панель управления» .
Создание и развертывание приложения чата
В следующем разделе вы скопируете и обновите весь проект Apps Script, содержащий весь необходимый код приложения для вашего приложения Chat, поэтому нет необходимости копировать и вставлять каждый файл.
Некоторые функции включают подчеркивания в конце своих имен, например, processSlashCommand_()
из ChatApp.gs
. Подчеркивание скрывает функцию с веб-страницы инициализации инцидента, когда она открыта в браузере. Дополнительные сведения см. в разделе Частные функции .
Apps Script поддерживает два типа файлов: сценарии .gs
и файлы .html
. Чтобы обеспечить эту поддержку, клиентский JavaScript приложения включается в теги <script />
, а его CSS — в теги <style />
внутри HTML-файла.
При желании вы можете просмотреть весь проект на GitHub.
Вот обзор каждого файла:
-
Consts.gs
Определяет константы, на которые ссылаются другие файлы кода, включая идентификатор вашего облачного проекта, идентификатор местоположения Vertex AI и идентификатор команды с косой чертой для закрытия инцидента.
Посмотреть код
Consts.gs
-
ChatApp.gs
Обрабатывает события взаимодействия в чате, включая сообщения, щелчки карточек, команды с косой чертой и диалоговые окна. Отвечает на косую черту
/closeIncident
, открывая диалоговое окно для сбора сведений о разрешении инцидента. Читает сообщения в пространстве, вызывая методspaces.messages.list
в Chat API. Получает идентификаторы пользователей с помощью службы каталогов Admin SDK в Apps Script.Посмотреть код
ChatApp.gs
-
ChatSpaceCreator.gs
Получает данные формы, которые пользователи вводят на веб-странице инициализации инцидента, и использует их для настройки пространства чата, создавая и заполняя его, а затем публикует сообщение об инциденте.
Посмотреть код
ChatSpaceCreator.gs
-
DocsApi.gs
Вызывает API Документов Google для создания документа Документов Google на Google Диске пользователя и записывает в документ сводку информации об инциденте, созданную в
VertexAiApi.gs
.Посмотреть код
DocsApi.gs
-
VertexAiApi.gs
Обобщает разговор в чате с помощью Vertex AI. Это резюме публикуется в специально созданном документе в
DocsAPI.gs
.Посмотреть код
VertexAiApi.gs
-
WebController.gs
Обслуживает веб-сайт инициализации инцидентов.
Посмотреть код
WebController.gs
-
Index.html
HTML-код, содержащий веб-сайт инициализации инцидента.
Посмотреть код
Index.html
-
JavaScript.html
Обрабатывает поведение формы, включая отправку, ошибки и очистку, для веб-сайта инициализации инцидентов. Он включается в
Index.html
с помощью специальной функцииinclude
вWebController.gs
.Посмотреть код
JavaScript.html
-
Stylesheet.html
CSS для веб-сайта инициализации инцидента. Он включается в
Index.html
с помощью специальной функцииinclude
вWebController.gs
.Посмотреть код
Stylesheet.html
Найдите номер и идентификатор своего облачного проекта
В консоли Google Cloud перейдите к своему облачному проекту.
Нажмите «Настройки и утилиты» > «Настройки проекта» .
Обратите внимание на значения в полях Номер проекта и Идентификатор проекта . Вы будете использовать их в следующих разделах.
Создайте проект скрипта приложений.
Чтобы создать проект Apps Script и связать его с проектом Cloud:
- Нажмите следующую кнопку, чтобы открыть проект « Реагировать на инциденты с помощью сценария приложений Google Chat» .
Открыть проект - Нажмите Обзор .
- На странице обзора нажмите Сделайте копию .
Назовите свою копию проекта Apps Script:
Нажмите «Копия ответа на инциденты в Google Chat» .
В названии проекта введите
Incident Management Chat app
.Нажмите «Переименовать» .
В своей копии проекта Apps Script перейдите в файл
Consts.gs
и заменитеYOUR_PROJECT_ID
на идентификатор вашего облачного проекта.
Установите облачный проект проекта Apps Script.
- В проекте Apps Script нажмите Настройки проекта .
- В разделе «Проект Google Cloud Platform (GCP)» нажмите «Изменить проект» .
- В поле «Номер проекта GCP» вставьте номер вашего облачного проекта.
- Нажмите Установить проект . Проект Cloud и проект Apps Script теперь связаны.
Создание развертывания скрипта приложений
Теперь, когда весь код готов, разверните проект Apps Script. Идентификатор развертывания используется при настройке приложения Chat в Google Cloud.
В Apps Script откройте проект приложения реагирования на инциденты.
Нажмите «Развертывание» > «Новое развертывание» .
Если надстройка и веб-приложение еще не выбраны, рядом с пунктом «Выбрать тип» щелкните «Типы развертывания». и выберите Надстройка и веб-приложение .
В поле «Описание» введите описание этой версии, например
Complete version of incident management app
.В разделе «Выполнить от имени» выберите «Пользователь, имеющий доступ к веб-приложению».
В разделе «У кого есть доступ » выберите «Любой в вашей организации Workspace» , где «ваша организация Workspace» — это название вашей организации Google Workspace.
Нажмите «Развернуть» . Скрипт приложений сообщает об успешном развертывании и предоставляет идентификатор развертывания и URL-адрес веб-страницы инициализации инцидента.
Запишите URL-адрес веб-приложения , чтобы посетить его позже, когда начнете инцидент. Скопируйте идентификатор развертывания . Этот идентификатор вы используете при настройке приложения Chat в консоли Google Cloud.
Нажмите Готово .
Настройте приложение Chat в консоли Google Cloud.
В этом разделе показано, как настроить API Google Chat в консоли Google Cloud, используя информацию о вашем приложении Chat, включая идентификатор развертывания, которое вы только что создали из проекта Apps Script.
В консоли Google Cloud нажмите Меню > продукты > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .
В поле «Имя приложения» введите
Incident Management
.В URL-адресе аватара введите
https://developers.google.com/chat/images/quickstart-app-avatar.png
.В поле «Описание» введите
Responds to incidents.
.Установите переключатель «Включить интерактивные функции» во включенное положение.
В разделе «Функциональность» выберите «Получать сообщения 1:1» , «Присоединяйтесь к группам и групповым беседам» .
В разделе «Настройки подключения » выберите «Скрипт приложений» .
В поле «Идентификатор развертывания » вставьте идентификатор развертывания Apps Script, который вы скопировали ранее из развертывания проекта Apps Script.
Зарегистрируйте косую черту , которую использует полностью реализованное приложение Chat:
В разделе «Команды косой черты» нажмите «Добавить команду косой черты» .
В поле Имя введите
/closeIncident
.В поле «Идентификатор команды» введите
1
.В поле «Описание» введите
Closes the incident being discussed in the space.
Выбрать Открывает диалоговое окно .
Нажмите Готово . Команда косой черты зарегистрирована и внесена в список.
В разделе «Видимость » выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене рабочей области» и введите свой адрес электронной почты.
В разделе «Журналы» выберите «Записывать ошибки в журнал» .
Нажмите Сохранить . Появится сообщение о сохраненной конфигурации, означающее, что приложение готово к тестированию.
Протестируйте приложение Чат
Чтобы протестировать приложение Chat для управления инцидентами, инициируйте инцидент с веб-страницы и убедитесь, что приложение Chat работает должным образом:
Перейдите по URL-адресу веб-приложения для развертывания Apps Script.
Когда Apps Script запросит разрешение на доступ к вашим данным, нажмите «Просмотреть разрешения» , войдите в систему с помощью соответствующей учетной записи Google в своем домене Google Workspace и нажмите «Разрешить» .
Откроется веб-страница инициализации инцидента. Введите информацию о тесте:
- В заголовке «Инцидент» введите
The First Incident
. - При необходимости в разделе «Отвечающие на инциденты» введите адреса электронной почты ваших коллег, отвечающих на инциденты. Они должны быть пользователями с учетной записью Google Chat в вашей организации Google Workspace, иначе создать пространство не удастся. Не вводите свой собственный адрес электронной почты, поскольку он добавляется автоматически.
- В поле «Первое сообщение» введите
Testing the incident management Chat app.
- В заголовке «Инцидент» введите
Нажмите Создать пространство для чата . Появится сообщение
creating space
.После того, как пространство создано,
Space created!
появится сообщение. Нажмите «Открыть пространство» , чтобы открыть пространство в чате на новой вкладке.При желании вы и другие специалисты по реагированию на инциденты можете отправлять сообщения в это пространство. Приложение обобщает эти сообщения с помощью Vertex AI и публикует ретроспективный документ.
Чтобы завершить реагирование на инцидент и начать процесс разрешения, в области чата введите
/closeIncident
. Откроется диалоговое окно управления инцидентами.В поле «Закрыть инцидент» введите описание разрешения инцидента, например
Test complete
.Нажмите «Закрыть инцидент» .
Приложение «Управление инцидентами» перечисляет сообщения в пространстве, суммирует их с помощью Vertex AI, вставляет сводку в документ Google Docs и публикует документ в пространстве.
Очистить
Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > IAM и администрирование > ресурсами .
- В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.
Связанные темы
- Отвечайте на вопросы, основанные на разговорах в чате, с помощью приложения Gemini AI Chat.
- Управляйте проектами с помощью Google Chat, Vertex AI и Firestore.
- Приложение реагирования на инциденты выполняет аутентификацию с использованием учетных данных пользователя для вызова API и сервисов Google Cloud, таких как Chat API и Vertex AI API. Это означает, что пользователь, инициализирующий инцидент, должен иметь доступ к этим сервисам. Чтобы сделать приложение более надежным, рассмотрите возможность вызова Vertex AI API с учетной записью службы вместо учетных данных пользователя, вызывающего косую черту
/closeIncident
. Сведения о настройке учетной записи службы для Vertex AI API см. в разделе Использование пользовательской учетной записи службы .