В этом руководстве показано, как создать приложение Google Chat, которое отвечает на вопросы на основе разговоров в чате с помощью генеративного ИИ на базе Vertex AI with Gemini. Приложение Chat использует API Google Workspace Events плюс Pub/Sub для распознавания вопросов, опубликованных в разделах Chat, и ответов на них в режиме реального времени, даже если они не упоминаются.
Приложение «Чат» использует все сообщения, отправленные в пространстве, в качестве источника данных и базы знаний: когда кто-то задает вопрос, приложение «Чат» проверяет ранее предоставленные ответы, а затем делится ими. Если ответ не найден, он говорит, что не может ответить. При каждом ответе пользователи могут нажать кнопку дополнительного действия, чтобы @упомянуть менеджера пространства и попросить ответ. Используя Gemini AI, приложение Google Chat адаптирует и расширяет свою базу знаний, постоянно обучаясь разговорам в разделах, к которым оно добавлено.
Вот как приложение Chat работает в пространстве адаптации и поддержки сотрудников:
Рисунок 2. Дана спрашивает, предлагает ли компания обучение публичным выступлениям. Рис. 3. Приложение Chat Assistant Knowledge Assistant предлагает Vertex AI with Gemini ответить на вопрос Даны на основе истории разговоров в чате, а затем делится ответом.
Предварительные условия
Аккаунт Google Workspace для бизнеса или предприятия с доступом к Google Chat .
Доступ к сервисам Google Cloud для выполнения следующих действий:
- Создайте проект Google Cloud.
- Свяжите платежный аккаунт Google Cloud с проектом Cloud. Чтобы узнать, есть ли у вас доступ, см. раздел Разрешения, необходимые для включения выставления счетов .
- Используйте неаутентифицированные вызовы функций Google Cloud , которые вы можете проверить, определив, использует ли ваша организация Google Cloud общий доступ с ограничением домена .
При необходимости обратитесь к администратору Google Cloud за доступом или разрешением.
При использовании Google Cloud CLI — среды разработки Node.js, настроенной для работы с gcloud CLI. См. Настройка среды разработки Node.js.
Цели
- Создайте приложение чата, которое использует генеративный искусственный интеллект для ответа на вопросы на основе знаний, которыми обмениваются в беседах в чате.
- С генеративным ИИ:
- Выявляйте и отвечайте на вопросы сотрудников.
- Постоянно учитесь на основе текущих разговоров в чате.
- Прослушивайте сообщения в пространстве чата и отвечайте на них в режиме реального времени, даже если приложение Chat не отправляет сообщения напрямую.
- Сохраняйте сообщения, записывая и читая их из базы данных Firestore.
- Упростите совместную работу в чате, упомянув менеджеров пространства, если ответ на вопрос не найден.
Архитектура
На следующей диаграмме показана архитектура ресурсов Google Workspace и Google Cloud, используемых приложением Chat с помощником по знаниям AI.
Приложение чата «Помощник по знаниям AI» работает следующим образом:
Пользователь добавляет приложение Chat Assistant Knowledge Assistant в пространство чата:
Приложение «Чат» предлагает пользователю, добавившему его в пространство «Чат», настроить аутентификацию и авторизацию.
Приложение Chat извлекает сообщения из пространства, вызывая метод
spaces.messages.list
в Chat API, а затем сохраняет полученные сообщения в базе данных Firestore.Приложение Chat вызывает метод
subscriptions.create
в API событий Google Workspace, чтобы начать прослушивание событий, таких как сообщения в пространстве. Конечная точка уведомления подписки — это тема Pub/Sub, которая использует Eventarc для пересылки события в приложение Chat.Приложение Chat публикует в группе вводное сообщение.
Пользователь в чате публикует сообщение:
Приложение Chat получает сообщение в режиме реального времени из темы Pub/Sub.
Приложение Chat добавит сообщение в базу данных Firestore.
Если пользователь позже отредактирует или удалит сообщение, приложение Chat получит обновленное или удаленное событие в режиме реального времени, а затем обновит или удалит сообщение в базе данных Firestore.
Приложение Chat отправляет сообщение в Vertex AI с помощью Gemini:
В подсказке Vertex AI with Gemini должен проверить, содержит ли сообщение вопрос. Если это так, Gemini отвечает на вопрос на основе истории сообщений области чата, хранящейся в Firestore, а затем приложение Google Chat отправляет сообщение в область чата. Если нет, не отвечайте.
Если Vertex AI с Gemini отвечает на вопрос, приложение Chat публикует ответ, вызывая метод
spaces.messages.create
в Chat API с использованием аутентификации приложения.Если Vertex AI с Gemini не может ответить на вопрос, приложение Chat публикует сообщение о том, что оно не может найти ответ на этот вопрос в истории пространства Chat.
Сообщения всегда содержат дополнительную кнопку действия, которую пользователи могут нажать, в результате чего приложение чата @упоминает менеджера пространства с просьбой ответить.
Приложение Chat получает уведомление жизненного цикла от API Google Workspace Events о том, что срок действия подписки на пространство Chat скоро истечет:
- Приложение Chat отправляет запрос на продление подписки, вызывая метод
subscriptions.patch
в API Google Workspace Events.
- Приложение Chat отправляет запрос на продление подписки, вызывая метод
Приложение Chat будет удалено из чат-группы:
Приложение Chat удаляет подписку, вызывая метод
subscriptions.delete
в API Google Workspace Events.Приложение Chat удаляет данные пространства Chat из Firestore.
Ознакомьтесь с продуктами, используемыми приложением Chat Assistant Knowledge Assistant
Приложение Chat с ИИ-помощником по знаниям использует следующие продукты Google Workspace и Google Cloud:
- Vertex AI API с Gemini: генеративная платформа искусственного интеллекта на базе Gemini. Приложение чата с помощником по знаниям в области искусственного интеллекта использует API-интерфейс Vertex AI с Gemini для распознавания, понимания и ответа на вопросы сотрудников.
- Chat API : API для разработки приложений Google Chat, которые получают события взаимодействия в чате, например сообщения, и отвечают на них. Приложение Chat Assistant Knowledge Assistant использует Chat API для следующих целей:
- Получать и отвечать на события взаимодействия, отправленные Chat.
- Список сообщений, отправленных в пространстве.
- Публикуйте ответы на вопросы пользователей в пространстве.
- Настройте атрибуты, определяющие, как оно будет отображаться в чате, например имя и изображение аватара.
- API событий Google Workspace : этот API позволяет вам подписываться на события и управлять уведомлениями об изменениях в приложениях Google Workspace. Приложение Chat с ИИ-помощником использует API Google Workspace Events для прослушивания сообщений, опубликованных в чате, чтобы оно могло обнаруживать вопросы и отвечать на них, даже если они не упоминаются.
- Firestore : бессерверная база данных документов. Приложение Chat с помощником по знаниям AI использует Firestore для хранения данных о сообщениях, отправленных в чат-пространстве.
- Pub/Sub : Pub/Sub — это асинхронная и масштабируемая служба обмена сообщениями, которая отделяет службы, создающие сообщения, от служб, обрабатывающих эти сообщения. Приложение Chat Assistant знаний AI использует Pub/Sub для получения событий подписки из пространств Chat.
- Eventarc : Eventarc позволяет создавать архитектуры, управляемые событиями, без необходимости внедрять, настраивать или поддерживать базовую инфраструктуру. Приложение Chat Assistant знаний AI использует Eventarc для маршрутизации событий из Pub/Sub в пространство чата и облачную функцию, которая получает и обрабатывает события подписки.
- Облачные функции : облегченная бессерверная вычислительная служба, которая позволяет создавать одноцелевые автономные функции, которые могут реагировать на взаимодействие в чате и события подписки без необходимости управлять сервером или средой выполнения. Приложение Chat Assistant Knowledge Assistant использует две облачные функции:
-
app
: размещение конечной точки HTTP, на которую Chat отправляет события взаимодействия, и в качестве вычислительной платформы для запуска логики, которая обрабатывает эти события и реагирует на них. -
eventsApp
: получает и обрабатывает события пространства чата, например сообщения из подписки Pub/Sub.
- Cloud Build : полностью управляемая платформа непрерывной интеграции, доставки и развертывания, которая запускает автоматические сборки.
- Cloud Run : полностью управляемая среда для запуска контейнерных приложений.
-
Подготовьте окружающую среду
В этом разделе показано, как создать и настроить проект 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 Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub, API событий Google Workspace, API Eventarc и Cloud Run. API администратора.
Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .
Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .
интерфейс командной строки gcloud
При необходимости установите текущий облачный проект на тот, который вы создали:
gcloud config set project PROJECT_ID
Замените PROJECT_ID на идентификатор созданного вами облачного проекта.
Включите API Google Chat, API Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub, API событий Google Workspace, API Eventarc и API администратора Cloud Run:
gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ workspaceevents.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com
Настройте аутентификацию и авторизацию
Аутентификация и авторизация позволяют приложению Chat получать доступ к ресурсам в Google Workspace и Google Cloud.
В этом руководстве вы опубликуете приложение Google Chat внутри компании, поэтому можно использовать информацию-заполнитель. Прежде чем публиковать приложение Google Chat на внешних ресурсах, замените заполнитель реальной информацией для экрана согласия.
Настройте экран согласия OAuth, укажите области и зарегистрируйте свое приложение.
API и службы > Экран согласия OAuth .
>В разделе «Тип пользователя» выберите «Внутренний» , затем нажмите «Создать» .
В поле «Имя приложения» введите
AI knowledge assistant
.В разделе «Электронная почта поддержки пользователей» выберите свой адрес электронной почты или соответствующую группу Google.
В разделе «Контактная информация разработчика» введите свой адрес электронной почты.
Нажмите «Сохранить и продолжить» .
Нажмите «Добавить или удалить области» . Появится панель со списком областей действия для каждого API, который вы включили в своем облачном проекте.
В разделе «Добавить области вручную» вставьте следующую область:
-
https://www.googleapis.com/auth/chat.messages
-
Нажмите «Добавить в таблицу» .
Нажмите Обновить .
Нажмите «Сохранить и продолжить» .
Просмотрите сводную информацию о регистрации приложения, затем нажмите « Вернуться на панель управления» .
Создайте учетные данные идентификатора клиента OAuth.
API и службы > Учетные данные .
>Нажмите «Создать учетные данные» > «Идентификатор клиента OAuth» .
Щелкните Тип приложения > Веб-приложение .
В поле Имя введите имя учетных данных. Это имя отображается только в консоли Google Cloud.
В разделе «Разрешенные URI перенаправления» нажмите «Добавить URI» .
В URI 1 введите следующее:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Замените следующее:
- REGION : регион облачной функции, например
us-central1
. Позже, когда вы создадите две облачные функции, вы должны установить для их региона это значение. - PROJECT_ID : идентификатор созданного вами облачного проекта.
- REGION : регион облачной функции, например
Нажмите Создать .
В окне создания клиента OAuth нажмите «Загрузить JSON» .
Сохраните загруженный файл как
client_secrets.json
. Позже, когда вы создаете две облачные функции, вы включаете файлclient_secrets.json
в каждое развертывание.Нажмите ОК .
Создайте тему Pub/Sub
Тема Pub/Sub работает с API событий Google Workspace, позволяя подписываться на события в пространстве чата, например сообщения, и уведомлять приложение Chat в режиме реального времени.
Вот как создать тему Pub/Sub:
Консоль Google Cloud
В консоли Google Cloud перейдите в > «Pub/Sub» .
«Меню»Нажмите Создать тему .
В поле «Идентификатор темы» введите
events-api
.Снимите флажок «Добавить подписку по умолчанию» .
В разделе «Шифрование» выберите ключ шифрования, управляемый Google .
Нажмите Создать . Появится тема Pub/Sub.
Чтобы эта тема Pub/Sub и API событий Google Workspace работали вместе, дайте пользователю Chat IAM разрешение публиковать сообщения в теме Pub/Sub:
На панели event-api в разделе РАЗРЕШЕНИЯ нажмите Добавить принципала .
В разделе «Добавить участников» в разделе «Новые участники » введите
[email protected]
.В разделе «Назначить роли» в разделе «Выбор роли» выберите Pub/Sub > Pub/Sub Publisher .
Нажмите Сохранить .
интерфейс командной строки gcloud
Создайте тему Pub/Sub с идентификатором темы
events-api
:gcloud pubsub topics create events-api
Предоставьте пользователю Chat IAM разрешение публиковать сообщения в теме Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:[email protected]' \ --role='roles/pubsub.publisher'
Создайте базу данных Firestore.
База данных Firestore сохраняется и извлекает данные из чатов, например сообщения. Вы не определяете модель данных, которая неявно задается в примере кода файлами model/message.js
и services/firestore-service.js
.
База данных приложения Chat с помощником по знаниям AI использует модель данных NoSQL, основанную на документах Модель данных Firestore .
организованных в коллекции . Дополнительную информацию см. в разделеНа следующей диаграмме представлен обзор модели данных приложения Chat помощника по знаниям искусственного интеллекта:
Корень содержит две коллекции:
spaces
, где каждый документ представляет пространство Chat, в которое добавлено приложение Chat. Каждое сообщение представлено документом в подколлекцииmessages
.users
, где каждый документ представляет пользователя, который добавил приложение Chat в пространство Chat.
Просмотр коллекций, документов и определений полей
spaces
Пространство чата, включающее приложение Chat Assistant Knowledge Assistant.
Поля | |
---|---|
Document ID | String Уникальный идентификатор конкретного пространства. Часть имени ресурса пространства в Chat API. |
messages | Subcollection of Documents ( Сообщения, отправленные в чат. Соответствует Document ID message в Firebase. |
spaceName | String Уникальное имя чат-группы в Chat API. Соответствует имени ресурса пространства в Chat API. |
messages
Сообщения, отправленные в чат.
Поля | |
---|---|
Document ID | String Уникальный идентификатор конкретного сообщения. |
name | String Уникальное имя сообщения в Chat API. Соответствует имени ресурса сообщения в Chat API. |
text | String Текстовое тело сообщения. |
time | String ( Timestamp format) Время создания сообщения. |
users
Пользователи, которые добавили приложение Chat Assistant Knowledge Assistant в пространство чата.
Поля | |
---|---|
Document ID | String Уникальный идентификатор конкретного пользователя. |
accessToken | String Токен доступа, предоставленный во время авторизации пользователя OAuth 2.0, используемый для вызова API Google Workspace. |
refreshToken | String Токен обновления, предоставленный во время авторизации пользователя OAuth 2.0. |
Вот как создать базу данных Firestore:
Консоль Google Cloud
В консоли Firestore .
>Нажмите Создать базу данных .
В разделе «Выберите режим Firestore » нажмите «Собственный режим» .
Нажмите Продолжить .
Настройте базу данных:
В поле «Назовите свою базу данных » оставьте идентификатор базы данных
(default)
.В разделе «Тип местоположения» выберите «Регион» .
В поле «Регион» укажите регион для вашей базы данных, например
us-central1
. Для обеспечения максимальной производительности выберите то же или ближайшее местоположение, где находятся облачные функции приложения чат.
Нажмите Создать базу данных .
интерфейс командной строки gcloud
Создайте базу данных Firestore в собственном режиме:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Замените LOCATION названием региона Firestore , например
us-central1
. Для обеспечения максимальной производительности выберите то же или ближайшее местоположение, где находятся облачные функции приложения чат.
Создание и развертывание приложения чата
Теперь, когда ваш проект Google Cloud создан и настроен, вы готовы создать и развернуть приложение Chat. В этом разделе вы делаете следующее:
- Создайте и разверните две облачные функции. Один для ответа на события взаимодействия в чате и один для ответа на события Pub/Sub.
- Создайте и разверните приложение Chat на странице конфигурации API Google Chat.
Создание и развертывание облачных функций
В этом разделе вы создадите и развернете две облачные функции с именами:
-
app
: размещает и запускает код приложения Chat, который реагирует на события, полученные от Chat в виде HTTP-запросов. -
eventsApp
: получает и обрабатывает события пространства чата, например сообщения от Pub/Sub.
Вместе эти облачные функции составляют логику приложения Chat-помощника по знаниям с использованием искусственного интеллекта.
При желании, прежде чем создавать облачные функции, просмотрите и ознакомьтесь с примером кода, размещенным на GitHub.
Создание и развертывание app
Консоль Google Cloud
Загрузите код с GitHub в виде zip-файла.
Распакуйте загруженный zip-файл.
Извлеченная папка содержит весь репозиторий образцов Google Workspace.
В извлеченной папке перейдите в каталог
google-chat-samples-main/node/ai-knowledge-assistant
.В каталог
google-chat-samples/node/ai-knowledge-assistant
добавьте файлclient_secrets.json
, который вы скачали при создании учетных данных идентификатора клиента OAuth для аутентификации и авторизации.Сожмите содержимое папки
ai-knowledge-assistant
в zip-файл.Корневой каталог zip-файла должен содержать следующие файлы и папки:
-
.gcloudignore
-
.gitignore
-
README.md
-
deploy.sh
-
env.js
-
events_index.js
-
http_index.js
-
index.js
-
client_secrets.json
-
package-lock.json
-
package.json
-
controllers/
-
model/
-
services/
-
test/
-
Функции облака .
>Убедитесь, что для вашего приложения Chat выбран проект Google Cloud.
Нажмите
Создать функцию .На странице «Создать функцию» настройте свою функцию:
- В разделе «Среда » выберите «Функция запуска облака» .
- В поле «Имя функции» введите
app
. - В разделе «Регион» выберите регион, например
us-central1
. Этот регион должен соответствовать региону, который вы указали в URI авторизованного перенаправления при создании учетных данных идентификатора клиента OAuth для аутентификации и авторизации. - В поле «Тип триггера» выберите HTTPS .
- В разделе «Аутентификация» выберите «Разрешить неаутентифицированные вызовы» .
- Нажмите Далее .
В среде выполнения выберите Node.js 20 .
В Точке входа удалите текст по умолчанию и введите
app
.В разделе «Исходный код» выберите «Загрузка Zip» .
В сегменте назначения создайте или выберите сегмент:
- Нажмите «Обзор» .
- Выберите ведро.
- Нажмите «Выбрать» .
Google Cloud загружает zip-файл и извлекает файлы компонентов в эту корзину. Затем Cloud Functions копирует файлы компонентов в Cloud Function.
В Zip-файл загрузите zip-файл, который вы скачали с GitHub, распаковали и повторно сжали:
- Нажмите «Обзор» .
- Перейдите к zip-файлу и выберите его.
- Нажмите Открыть .
Нажмите «Развернуть» .
Откроется страница сведений об облачных функциях , и ваша функция появится с двумя индикаторами хода выполнения: один для сборки, а другой для службы. Когда оба индикатора выполнения исчезнут и будут заменены галочками, ваша функция развернута и готова.
Отредактируйте пример кода, чтобы установить константы:
- На странице сведений о облачной функции нажмите «Изменить» .
- Нажмите Далее .
- В разделе «Исходный код» выберите «Встроенный редактор» .
- Во встроенном редакторе откройте и отредактируйте файл
env.js
:- Установите в качестве значения project идентификатор вашего облачного проекта.
- Установите значение location для региона облачной функции, например
us-central1
.
Нажмите «Развернуть» .
интерфейс командной строки gcloud
Клонируйте код с GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Перейдите в каталог, в котором находится код для этого приложения чата с помощником по знаниям AI:
cd google-chat-samples/node/ai-knowledge-assistant
В каталог
google-chat-samples/node/ai-knowledge-assistant
добавьте файлclient_secrets.json
, который вы скачали при создании учетных данных идентификатора клиента OAuth для аутентификации и авторизации.Отредактируйте файл
env.js
, чтобы установить переменные среды:- Установите в качестве значения project идентификатор вашего облачного проекта.
- Установите значение location для региона облачной функции, например
us-central1
.
Разверните функцию облака в Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Замените REGION на значение региона облачной функции, чтобы оно соответствовало значению, установленному в файле
env.js
, напримерus-central1
.
Создание и развертывание eventsApp
Консоль Google Cloud
Функции облака .
>Убедитесь, что для вашего приложения Chat выбран проект Google Cloud.
Нажмите
Создать функцию .На странице «Создать функцию» настройте свою функцию:
- В разделе «Среда » выберите «Функция запуска облака» .
- В поле «Имя функции» введите
eventsApp
. - В разделе «Регион» выберите регион, например
us-central1
. Этот регион должен соответствовать региону, который вы указали в URI авторизованного перенаправления при создании учетных данных идентификатора клиента OAuth для аутентификации и авторизации. - В поле «Тип триггера» выберите Cloud Pub/Sub .
- В теме Cloud Pub/Sub выберите имя созданной вами темы Pub/Sub в формате
projects/ PROJECT /topics/events-api
, где PROJECT — это идентификатор вашего облачного проекта. - Если вы видите сообщение, начинающееся с
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, нажмите «Предоставить все» . - Нажмите Далее .
В среде выполнения выберите Node.js 20 .
В Точке входа удалите текст по умолчанию и введите
eventsApp
.В разделе «Исходный код» выберите «ZIP из облачного хранилища» .
В разделе «Облачное хранилище » нажмите «Обзор» .
Выберите корзину, в которую вы загрузили zip-файл при создании облачной функции
app
.Нажмите на загруженный вами ZIP-файл.
Нажмите «Выбрать» .
Нажмите «Развернуть» .
Откроется страница сведений об облачных функциях , и ваша функция появится с тремя индикаторами хода выполнения: один для сборки, один для службы и один для триггера. Когда все три индикатора хода выполнения исчезнут и будут заменены галочками, ваша функция развернута и готова.
Отредактируйте пример кода, чтобы установить константы:
- На странице сведений о облачной функции нажмите «Изменить» .
- Нажмите Далее .
- В разделе «Исходный код» выберите «Встроенный редактор» .
- Во встроенном редакторе откройте и отредактируйте файл
env.js
:- Установите в качестве значения project идентификатор вашего облачного проекта.
- Установите значение location для региона облачной функции, например
us-central1
.
Нажмите «Развернуть» .
интерфейс командной строки gcloud
В интерфейсе командной строки gcloud, если вы еще этого не сделали, переключитесь в каталог, содержащий код для этого приложения чата AI Knowledge Assistant, которое вы ранее клонировали из GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
В каталог
google-chat-samples/node/ai-knowledge-assistant
добавьте файлclient_secrets.json
, который вы скачали при создании учетных данных идентификатора клиента OAuth для аутентификации и авторизации.Отредактируйте файл
env.js
, чтобы установить переменные среды:- Установите в качестве значения project идентификатор вашего облачного проекта.
- Установите значение location для региона облачной функции, например
us-central1
.
Разверните функцию облака в Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Замените REGION на значение региона облачной функции, чтобы оно соответствовало значению, установленному в файле
env.js
, напримерus-central1
.
Скопируйте URL-адрес триггера облачной функции app
.
Вы вставляете URL-адрес триггера облачной функции app
в следующем разделе при настройке приложения Chat в консоли Google Cloud .
Консоль Google Cloud
Функции облака .
>В столбце «Имя» списка облачных функций щелкните
app
.Нажмите «Триггер» .
Скопируйте URL-адрес .
интерфейс командной строки gcloud
Опишите функцию облака
app
:gcloud functions describe app
Скопируйте свойство
url
.
Настройте приложение Chat в консоли Google Cloud.
В этом разделе показано, как настроить API Chat в консоли Google Cloud с использованием информации о вашем приложении Chat, включая имя приложения Chat и URL-адрес триггера облачной функции приложения Chat, которому оно отправляет события взаимодействия с Chat.
В консоли Google Cloud нажмите Меню > продукты > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .
В поле «Имя приложения» введите
AI knowledge assistant
.В URL-адресе аватара введите
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.В поле «Описание» введите
Answers questions with AI
.Установите переключатель «Включить интерактивные функции» во включенное положение.
В разделе «Функциональность» выберите «Присоединяться к группам и групповым беседам» .
В разделе «Настройки подключения » выберите URL-адрес конечной точки HTTP .
В URL-адрес конечной точки HTTP вставьте URL-адрес триггера из облачной функции
app
в форматеhttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
, где REGION — это регион облачной функции, напримерus-central1
, а PROJECT_ID — это идентификатор проекта облака. проект, который вы создали.В разделе «Видимость » выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене Workspace» и введите свой адрес электронной почты.
При необходимости в разделе «Журналы » выберите «Записывать ошибки в журнал» .
Нажмите Сохранить . Появится сообщение о сохраненной конфигурации, означающее, что приложение Chat готово к тестированию.
Протестируйте приложение Чат
Протестируйте приложение чата «Помощник по знаниям ИИ» в пространстве чата с сообщениями, задавая вопросы, на которые приложение чата «Помощник по знаниям ИИ» может ответить.
Вот несколько способов протестировать приложение Chat Assistant Knowledge Assistant:
- Добавьте приложение чата «Помощник по знаниям искусственного интеллекта» в существующее пространство чата и задавайте вопросы, имеющие отношение к этому пространству.
- Создайте пространство чата и опубликуйте несколько сообщений, которые будут использоваться в качестве источника данных. Сообщения можно получить от Gemini с помощью подсказки типа
Answer 20 common onboarding questions employees ask their teams.
Или вы можете вставить несколько абзацев из обзорного руководства по разработке с помощью Chat , а затем задать вопросы по этому поводу.
В этом уроке давайте создадим пространство чата и вставим несколько абзацев из обзорного руководства по разработке с помощью чата .
Откройте Google Чат.
Создайте чат-группу:
Нажмите > «Создать пространство» .
новый чат»В поле «Имя пространства» введите
Testing AI knowledge assistant app
.В разделе «Для чего предназначено это пространство?» , выберите Сотрудничество .
В разделе «Настройки доступа» выберите, кто может получить доступ к пространству.
Нажмите Создать .
Добавьте сообщения для использования в качестве источника данных:
В веб-браузере посетите обзорное руководство по разработке с помощью Chat .
Скопируйте и вставьте содержимое руководства в созданное вами пространство чата.
Добавьте приложение Chat Assistant Knowledge Assistant:
На панели создания сообщения введите
@AI knowledge assistant
, в появившемся меню предложений выберите приложение Chat AI Knowledge Assistant и нажмитеenter
.Появится сообщение с вопросом, хотите ли вы добавить в пространство приложение чата «Помощник по знаниям AI». Нажмите Добавить в пространство .
Если вы впервые добавляете приложение Chat в пространство, вам необходимо настроить аутентификацию и авторизацию для приложения Chat:
- Нажмите Настроить .
- Откроется новое окно или вкладка браузера с просьбой выбрать учетную запись Google. Выберите учетную запись, с которой вы тестируете.
- Просмотрите разрешения, которые запрашивает приложение Chat Assistant Knowledge Assistant. Чтобы предоставить их, нажмите «Разрешить» .
- Сообщение о том, что
You may close this page now.
появляется. Закройте окно или вкладку браузера и вернитесь в область чата.
Задайте вопрос:
На панели создания сообщения введите вопрос, например
What are Google Chat apps?
Приложение Chat с помощником по знаниям AI отвечает.
При желании, если ответ не является точным или достаточным, чтобы улучшить историю разговоров ИИ, нажмите
Получить помощь . Приложение чата «Помощник по знаниям искусственного интеллекта» упоминает менеджера пространства и просит его ответить на вопрос. В следующий раз приложение Chat Assistant знает ответ!
Соображения, альтернативные варианты архитектуры и следующие шаги
В этом разделе рассматриваются другие способы создания приложения Chat Assistant Knowledge Assistant.
Firestore, Cloud Storage или вызов списка сообщений в Chat API
В этом руководстве рекомендуется хранить данные пространства чата, такие как сообщения, в базе данных Firestore, поскольку это повышает производительность по сравнению с вызовом метода list
в ресурсе Message
с помощью Chat API каждый раз, когда приложение Chat отвечает на вопрос. Кроме того, повторный вызов list messages
может привести к тому, что приложение Chat достигнет ограничений квоты API.
Однако если история разговоров в чате становится слишком длинной, использование Firestore может стать дорогостоящим.
Облачное хранилище — альтернатива Firestore. Каждое пространство, в котором активно приложение чата AI Knowledge Assistant, получает свой собственный объект, и каждый объект представляет собой текстовый файл, содержащий все сообщения в пространстве. Преимущество этого подхода заключается в том, что все содержимое текстового файла можно сразу передать в Vertex AI с помощью Gemini, но недостатком является то, что требуется больше усилий для обновления истории разговоров, поскольку вы не можете добавить его к объекту в облаке. Память, только заменить. Этот подход не имеет смысла, если вы регулярно обновляете историю сообщений, но было бы хорошим выбором, если бы вы периодически обновляли историю сообщений, скажем, раз в неделю.
Устранение неполадок
Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.
Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .
Очистить
Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > IAM и администрирование > ресурсами .
- В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.
Связанные темы
- Управляйте проектами с помощью Google Chat, Vertex AI и Firestore.
- Реагируйте на инциденты с помощью Google Chat, Vertex AI и Apps Script.