Планируйте поездки с помощью ИИ-агента, доступного в Google Workspace

Уровень владения программированием : Продвинутый
Продолжительность : 45 минут
Тип проекта : Дополнение для Google Workspace, расширяющее функциональность чата , Gmail , календаря , диска , документов, таблиц и презентаций .

В этом руководстве показано, как опубликовать агентов ИИ в Google Workspace в качестве дополнений Google Workspace, используя Apps Script или HTTP-конечные точки. После публикации дополнения пользователи смогут взаимодействовать с агентами ИИ в своих рабочих процессах.

Обзор

В этом руководстве вы развернете пример Travel Concierge из комплекта разработки агентов (ADK) . Travel Concierge — это разговорный многоагентный ИИ, использующий такие инструменты, как API мест платформы Google Maps, Google Search Grounding и сервер протокола контекста модели (MCP).

ADK по умолчанию предоставляет разработчикам интерфейсы для чата и текстовых сообщений. В этом руководстве вы добавите графический пользовательский интерфейс (GUI) в приложения Google Workspace, к которому ваши пользователи смогут получить прямой доступ в чате, Gmail, календаре, диске, документах, таблицах и презентациях.

  • Использование ИИ-агента из приложения «Чат» для генерации идей для путешествий.
    Рисунок 1. Использование ИИ-агента из приложения «Чат» для генерации идей для путешествий.
  • Использование ИИ-агента из Gmail для планирования поездки на основе контекста выбранного электронного письма.
    Рисунок 2. Использование ИИ-агента из Gmail для планирования поездки на основе контекста выбранного электронного письма.

Цели

  • Настройте среду.
  • Разверните агента искусственного интеллекта.
  • Настройте проект.
  • Развернуть в Gmail, Календарь, Диск, Документы, Таблицы, Презентации.
  • Развернуть в чате.
  • Проверьте решение.

Об этом решении

Данное решение основано на следующих ключевых технологиях: ADK, API Google Cloud и Google Workspace , Vertex AI Agent Engine и фреймворк Card .

Графический интерфейс пользователя (GUI) разработан по-разному для приложений, использующих чат и не использующих чат (Gmail, Календарь, Диск, Документы, Таблицы, Презентации), чтобы учесть их специфические особенности и ограничения.

Функции

Следующие функции приложения Travel Concierge являются общими для всех приложений Google Workspace:

  • Постоянные пользовательские сессии: управление сессиями осуществляется с помощью Vertex AI. Каждый пользователь использует одну сессию во всех приложениях Workspace. Пользователи могут вручную сбросить свою сессию, чтобы начать новый разговор.

  • Расширенные возможности обмена сообщениями: пользователи отправляют текстовые сообщения и получают ответы с расширенным текстовым содержимым и виджетами в виде карточек.

  • Обработка ошибок: Непредвиденные ошибки обрабатываются корректно с помощью настраиваемых повторных попыток и статусов в ответах.

Приложение «Чат» обладает следующими дополнительными функциями:

  • Многорежимная система обмена сообщениями между пользователями: пользователи могут отправлять сообщения с вложениями, включая аудио- и видеозаписи, сделанные непосредственно в чате.

  • Более визуально продвинутые ответы: Ответы могут генерироваться с использованием более сложных виджетов, таких как карусели с изображениями, благодаря использованию функций чата в рамках Card Framework и большему пространству для отрисовки.

Другие приложения обладают следующими дополнительными функциями:

  • Контекст профиля Google: Пользователи могут отправлять сообщения, используя информацию из своего профиля (в данном примере только даты рождения).

  • В контексте Gmail: пользователи могут отправлять сообщения в виде электронных писем (в данном примере ограничено одной темой и одним текстом).

  • Доступ к пространству чата для агентов: Пользователи могут одним нажатием кнопки открыть пространство для личных сообщений (DM) в приложении «Чат» в новой вкладке.

Архитектура

Приложение Travel Concierge получает и обрабатывает события взаимодействия с надстройкой Google Workspace из приложений Google Workspace, использует Vertex AI для управления агентом ADK AI и проведения пользовательских сессий, а также применяет API Google Cloud и Google Workspace для сбора контекста и отображения ответов.

На следующих диаграммах показан основной сценарий взаимодействия пользователя: отправка сообщения агенту искусственного интеллекта.

HTTP

  • Архитектурная схема приложения «Чат».
    Рисунок 3. Приложение «Чат» дополняет контекст вложениями из сообщения пользователя и отправляет набор сообщений с историей взаимодействий суб-агентов и окончательным общим ответом в хронологическом порядке.
  • Архитектурная схема для приложений, не относящихся к чату.
    Рисунок 4. В приложениях, не относящихся к чату, контекст дополняется профилем пользователя в Google и выбором элемента, а также отображается набор разделов с историей взаимодействий суб-агентов и окончательным общим ответом в обратном хронологическом порядке.

Apps Script

  • Архитектурная схема приложения «Чат».
    Рисунок 3. Приложение «Чат» дополняет контекст вложениями из сообщения пользователя и отправляет набор сообщений с историей взаимодействий суб-агентов и окончательным общим ответом в хронологическом порядке.
  • Архитектурная схема для приложений, не относящихся к чату.
    Рисунок 4. В приложениях, не относящихся к чату, контекст дополняется профилем пользователя в Google и выбором элемента, а также отображается набор разделов с историей взаимодействий суб-агентов и окончательным общим ответом в обратном хронологическом порядке.

Предварительные требования

Подготовьте окружающую среду

В этом разделе показано, как создать и настроить проект Google Cloud.

Создайте проект в Google Cloud.

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в > IAM и администрирование > Создать проект .

    Перейдите в раздел «Создать проект».

  2. В поле «Название проекта» введите описательное название для вашего проекта.

    Необязательно: чтобы изменить идентификатор проекта , нажмите «Редактировать» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который будет соответствовать вашим потребностям на протяжении всего срока действия проекта.

  3. В поле «Местоположение» нажмите «Обзор» , чтобы отобразить возможные места для вашего проекта. Затем нажмите «Выбрать» .
  4. Нажмите «Создать» . Консоль Google Cloud перенаправит вас на страницу «Панель управления», и ваш проект будет создан в течение нескольких минут.

gcloud CLI

В одной из следующих сред разработки получите доступ к интерфейсу командной строки Google Cloud ( gcloud ):

  • Cloud Shell : Чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
    Активировать Cloud Shell
  • Локальная оболочка : Для использования локальной среды разработки установите и инициализируйте интерфейс командной строки gcloud.
    Для создания облачного проекта используйте команду ` gcloud projects create :
    gcloud projects create PROJECT_ID
    Замените PROJECT_ID на идентификатор проекта, который вы хотите создать.

Включить выставление счетов для облачного проекта

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в «Биллинг» . Нажмите меню > Биллинг > Мои проекты .

    Перейдите в раздел «Оплата моих проектов».

  2. В разделе «Выберите организацию» выберите организацию, связанную с вашим проектом Google Cloud.
  3. В строке проекта откройте меню «Действия» ( ), нажмите «Изменить выставление счетов» и выберите учетную запись Cloud Billing.
  4. Нажмите «Настроить учетную запись» .

gcloud CLI

  1. Чтобы отобразить список доступных платежных аккаунтов, выполните следующую команду:
    gcloud billing accounts list
  2. Свяжите платежный аккаунт с проектом Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Заменить следующее:

    • PROJECT_ID — это идентификатор проекта в облаке, для которого вы хотите включить выставление счетов.
    • BILLING_ACCOUNT_ID — это идентификатор платежного аккаунта , который будет связан с проектом Google Cloud.

Включите API Google Cloud.

HTTP

  1. В консоли Google Cloud включите API-интерфейсы надстроек Vertex AI, Places, People, Google Chat, Gmail, Cloud Build, Cloud Functions, Cloud Pub/Sub, Cloud Logging, Artifact Registry, Cloud Run и Google Workspace.

    Включите API

  2. Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .

  3. Убедитесь, что вы включаете правильные API, затем нажмите «Включить» .

Apps Script

  1. В консоли Google Cloud включите API Vertex AI, Places, People и Google Chat.

    Включите API

  2. Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .

  3. Убедитесь, что вы включаете правильные API, затем нажмите «Включить» .

Получите ключ API Google Maps Platform Places

  1. В консоли Google Cloud перейдите на страницу Google Maps Platform > Keys & Credentials .

    Перейдите в раздел «Ключи и учетные данные».

  2. В диалоговом окне «Начало работы с платформой Google Maps» отображается ваш недавно созданный ключ API — буквенно-цифровая строка. Эта строка понадобится вам в следующих разделах.

Создайте учетную запись службы в консоли Google Cloud.

Создайте новую учетную запись службы с ролью Vertex AI User , выполнив следующие шаги:

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в > IAM и администрирование > Учетные записи служб .

    Перейти к учетным записям служб

  2. Нажмите «Создать учетную запись службы» .
  3. Заполните данные учетной записи службы, затем нажмите «Создать и продолжить» .
  4. Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud. Для получения более подробной информации см. раздел «Предоставление, изменение и отзыв доступа к ресурсам» .
  5. Нажмите «Продолжить» .
  6. Необязательно: укажите пользователей или группы, которые могут управлять этой учетной записью службы и выполнять с ней действия. Дополнительные сведения см. в разделе «Управление имитацией учетной записи службы» .
  7. Нажмите «Готово» . Запишите адрес электронной почты учетной записи службы.

gcloud CLI

  1. Создайте учетную запись службы:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. Необязательно: назначьте роли вашей учетной записи службы, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud. Для получения более подробной информации см. раздел «Предоставление, изменение и отзыв доступа к ресурсам» .

Учетная запись службы отображается на странице учетных записей служб. Далее создайте закрытый ключ для учетной записи службы.

Создать закрытый ключ

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

  1. В консоли Google Cloud перейдите в > IAM и администрирование > Учетные записи служб .

    Перейти к учетным записям служб

  2. Выберите свой сервисный аккаунт.
  3. Нажмите «Клавиши» > «Добавить клавишу» > «Создать новую клавишу» .
  4. Выберите JSON , затем нажмите «Создать» .

    Ваша новая пара открытого/закрытого ключей будет сгенерирована и загружена на ваш компьютер в виде нового файла. Сохраните загруженный JSON-файл как credentials.json в вашей рабочей директории. Этот файл является единственной копией данного ключа. Информацию о том, как безопасно хранить ключ, см. в разделе «Управление ключами учетных записей служб» .

  5. Нажмите «Закрыть» .

Для получения дополнительной информации об учетных записях служб см. раздел «Учетные записи служб» в документации Google Cloud IAM .

Для работы дополнений Google Workspace требуется настройка экрана согласия. Настройка экрана согласия OAuth для вашего дополнения определяет, что Google отображает пользователям.

  1. В консоли Google Cloud перейдите в >Google Auth platform > Брендинг .

    Перейти к разделу «Брендинг»

  2. Если вы уже настроили Google Auth platformВы можете настроить следующие параметры экрана согласия OAuth в разделах «Брендинг» , «Аудитория» и «Доступ к данным» . Если вы видите сообщение, в котором говорится... Google Auth platform Если конфигурация еще не выполнена , нажмите «Начать» :
    1. В разделе «Информация о приложении» , в поле «Название приложения» , введите название для приложения.
    2. В разделе «Электронная почта службы поддержки пользователей» выберите адрес электронной почты, по которому пользователи смогут связаться с вами, если у них возникнут вопросы относительно их согласия.
    3. Нажмите «Далее» .
    4. В разделе «Аудитория» выберите «Внутренняя» .
    5. Нажмите «Далее» .
    6. В поле «Контактная информация» укажите адрес электронной почты , на который вы сможете получать уведомления об изменениях в вашем проекте.
    7. Нажмите «Далее» .
    8. В разделе «Завершить» ознакомьтесь с Политикой использования пользовательских данных сервисов Google API и, если вы согласны, выберите «Я согласен с Политикой использования пользовательских данных сервисов Google API» .
    9. Нажмите «Продолжить» .
    10. Нажмите «Создать» .
  3. На данный момент добавление областей действия можно пропустить. В будущем, при создании приложения для использования за пределами вашей организации Google Workspace, необходимо изменить тип пользователя на «Внешний» . Затем добавьте необходимые для вашего приложения области авторизации. Для получения дополнительной информации см. полное руководство по настройке согласия OAuth .

Внедрите агента искусственного интеллекта Travel Concierge ADK.

  1. Если вы еще этого не сделали, пройдите аутентификацию в своей учетной записи Google Cloud и настройте Google Cloud CLI для использования вашего проекта Google Cloud.

    gcloud auth application-default login
    gcloud config set project PROJECT_ID
    gcloud auth application-default set-quota-project PROJECT_ID

    Замените PROJECT_ID на идентификатор созданного вами облачного проекта.

  2. Загрузите этот репозиторий GitHub.

    Скачать

  3. В предпочитаемой вами локальной среде разработки распакуйте загруженный архив и откройте каталог adk-samples/python/agents/travel-concierge .

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/travel-concierge
  4. Создайте новый сегмент облачного хранилища, предназначенный специально для агента ADK AI.

    gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION

    Заменить следующее:

    1. Укажите в переменной CLOUD_STORAGE_BUCKET_NAME уникальное имя корзины, которое вы хотите использовать.
    2. PROJECT_ID содержит идентификатор созданного вами облачного проекта.
    3. Укажите в PROJECT_LOCATION местоположение созданного вами облачного проекта.
  5. Установите следующие переменные среды:

    export GOOGLE_GENAI_USE_VERTEXAI=1
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_PLACES_API_KEY=PLACES_API_KEY
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME
    export TRAVEL_CONCIERGE_SCENARIO=travel_concierge/profiles/itinerary_empty_default.json

    Заменить следующее:

    1. PROJECT_ID содержит идентификатор созданного вами облачного проекта.
    2. Укажите в PROJECT_LOCATION местоположение созданного вами облачного проекта.
    3. PLACES_API_KEY содержит строку с созданным вами ключом API.
    4. В поле CLOUD_STORAGE_BUCKET_NAME укажите имя созданного вами хранилища (bucket).
  6. Установите и разверните агент ADK AI.

    uv sync --group deployment
    uv run python deployment/deploy.py --create
  7. Номер проекта и идентификатор двигателя из последнего распечатанного журнала обозначьте как PROJECT_NUMBER и ENGINE_ID соответственно; они понадобятся вам позже для настройки проекта.

    Created remote agent: projects/PROJECT_NUMBER/locations/us-central1/reasoningEngines/ENGINE_ID

Ознакомьтесь с примером кода.

При желании, перед настройкой проекта, уделите немного времени ознакомлению с примерами кода, размещенными на GitHub.

Создайте и настройте проект.

Python

  1. Загрузите этот репозиторий GitHub.

    Скачать

  2. В предпочитаемой вами локальной среде разработки распакуйте загруженный архив и откройте каталог add-ons-samples/python/travel-adk-ai-agent .

    unzip add-ons-samples-main.zip
    cd add-ons-samples-main/python/travel-adk-ai-agent
  3. Переместите JSON-файл ключа credentials.json из учетной записи службы, загруженной на предыдущих шагах, в каталог проекта.

  4. В консоли Google Cloud перейдите в раздел Cloud Run :

    Перейти к Cloud Run

  5. Нажмите «Написать функцию» .

  6. На странице создания сервиса настройте свою функцию:

    1. В поле «Название услуги» введите travel-concierge-app .
    2. В списке «Регион» выберите местоположение созданного вами облачного проекта PROJECT_LOCATION .
    3. В разделе «URL-адрес конечной точки» нажмите Значок для создания копии .
    4. В списке «Среда выполнения» выберите самую последнюю версию Python.
    5. В разделе «Аутентификация» выберите «Разрешить публичный доступ» .
    6. В разделе «Контейнеры, тома, сеть, безопасность» , в подразделе «Ресурсы» :
      1. В поле «Память» выберите 1 ГиБ .
      2. В поле "ЦП" выберите 2 .
    7. Нажмите «Создать» и дождитесь, пока Cloud Run создаст службу. Консоль перенаправит вас на вкладку «Источник» .
  7. В предпочитаемой вами локальной среде разработки разверните исходный код проекта:

    gcloud run deploy travel-concierge-app --quiet --source . \
        --region PROJECT_LOCATION  \
        --function adk_ai_agent  \
        --set-env-vars LOCATION=LOCATION,PROJECT_NUMBER=PROJECT_NUMBER,ENGINE_ID=ENGINE_ID,BASE_URL=BASE_URL

    Заменить следующее:

    1. В PROJECT_LOCATION указывается местоположение ранее созданной вами функции Cloud Run.
    2. LOCATION — местоположение проекта Google Cloud, созданного на предыдущих шагах, PROJECT_LOCATION .
    3. PROJECT_NUMBER — номер проекта агента Travel Concierge ADK AI, развернутого на предыдущих этапах.
    4. ENGINE_ID содержит идентификатор движка агента искусственного интеллекта Travel Concierge ADK, развернутого на предыдущих шагах.
    5. BASE_URL содержит URL-адрес конечной точки , который вы скопировали ранее.

Apps Script

Чтобы создать проект Apps Script и настроить его для использования развернутого вами агента Travel Concierge ADK AI:

  1. Нажмите на следующую кнопку, чтобы открыть проект Travel Concierge ADK AI Agent Apps Script.
    Открыть проект

  2. Нажмите «Обзор Overview) , затем Значок для создания копии Сделайте копию .

  3. Назовите свою копию проекта Apps Script:

    1. Нажмите «Копировать агент ИИ для консьерж-сервиса путешествий» (Click Copy of Travel Concierge ADK AI
    2. В поле «Название проекта» введите Travel Concierge ADK AI Agent .
    3. Нажмите «Переименовать» .
  4. В проекте Apps Script нажмите Значок для настроек проекта В редакторе переместите файл VertexAi.gs вверх, пока он не окажется выше файла AgentHandler.gs , используя действие « Переместить файл вверх» .

  5. В проекте Apps Script нажмите Значок для настроек проекта В настройках проекта нажмите «Изменить свойства скрипта» , затем нажмите «Добавить свойство скрипта» , чтобы добавить следующие свойства скрипта:

  6. ENGINE_ID ENGINE_ID идентификатор движка агента искусственного интеллекта Travel Concierge ADK, развернутого на предыдущих шагах.

  7. LOCATION — местоположение проекта Google Cloud, созданного на предыдущих шагах, PROJECT_LOCATION .

  8. PROJECT_NUMBER — номер проекта агента ИИ Travel Concierge ADK PROJECT_NUMBER развернутого на предыдущих этапах.

  9. SERVICE_ACCOUNT_KEY содержит JSON-ключ из учетной записи службы, загруженной на предыдущих шагах, например, { ... } .

  10. Нажмите «Сохранить свойства сценария».

  11. В проекте Apps Script нажмите Значок для настроек проекта Настройки проекта .

  12. В разделе «Проект Google Cloud Platform (GCP)» нажмите «Изменить проект» .

  13. В поле "Номер проекта GCP" вставьте номер проекта агента Travel Concierge ADK AI, развернутого на предыдущих шагах, PROJECT_NUMBER .

  14. Нажмите «Установить проект» . Проект «Облако» и проект «Apps Script» теперь связаны.

Развернуть в Gmail, Календарь, Диск, Документы, Таблицы, Презентации

Python

Для тестирования используйте развертывание с помощью дополнения Google Workspace, чтобы установить пример проекта во все приложения Google Workspace (кроме Google Chat).

  1. В предпочитаемой вами локальной среде разработки откройте файл deployment.json из исходного кода проекта и замените все вхождения $BASE_URL значением BASE_URLURL-адресом конечной точки , который вы скопировали на предыдущих шагах.

  2. Создайте развертывание дополнения Google Workspace с именем travel-concierge-addon :

    gcloud workspace-add-ons deployments create travel-concierge-addon \
        --deployment-file=deployment.json
  3. Установите и разверните надстройку Google Workspace:

    gcloud workspace-add-ons deployments install travel-concierge-addon

Apps Script

Установите проект Apps Script во все приложения Google Workspace (кроме Google Chat), чтобы включить тестирование.

  1. В проекте Apps Script перейдите в меню «Развернуть» > «Проверить развертывания» , затем нажмите «Установить» .

Теперь дополнение доступно из боковых панелей приложения Google Workspace.

Развернуть в чате

Python

Установите демонстрационный проект в Chat, используя URL-адрес конечной точки , чтобы включить тестирование.

  1. В консоли найдите Google Chat API , нажмите Google Chat API , затем «Управление » и «Конфигурация» .

    Перейдите на страницу настройки Google Chat API.

  2. Настройте приложение «Чат»:

    1. В поле «Название приложения» введите Travel ADK AI Agent .
    2. В поле «URL-адрес аватара» введите https://goo.gle/3SfMkjb .
    3. В поле «Описание» введите Travel ADK AI Agent .
    4. В разделе «Настройки подключения» выберите «URL конечной точки HTTP» .
    5. В разделе «Триггеры» выберите «Использовать общий URL-адрес конечной точки HTTP для всех триггеров» .
    6. В поле URL-адреса конечной точки HTTP вставьте ранее скопированный URL-адрес конечной точки , BASE_URL .
    7. Зарегистрируйте быструю команду , которую будет использовать полностью реализованное приложение чата:
      1. В разделе «Команды» нажмите «Добавить команду» .
      2. В поле «Идентификатор команды» введите 1 .
      3. В поле «Описание» введите Reset session .
      4. В разделе «Тип команды» выберите «Быстрая команда» .
      5. В поле «Имя» введите Reset session .
      6. Нажмите «Готово» . Быстрая команда зарегистрирована и отображается в списке.
    8. В разделе «Видимость» выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене рабочего пространства» и введите свой адрес электронной почты.
    9. В разделе «Журналы» выберите « Записывать ошибки в журнал» и перейдите в раздел «Ведение журнала» .
    10. Нажмите « Сохранить ».

Apps Script

Установите проект Apps Script в Chat, используя идентификатор развертывания Head Deployment ID , чтобы включить тестирование.

  1. В проекте Apps Script перейдите в меню «Развертывание» > «Тестовые развертывания» , затем... Значок для копирования идентификатора развертывания головного узла Скопировать под идентификатором развертывания заголовка .

  2. В консоли найдите Google Chat API , нажмите Google Chat API , затем «Управление » и «Конфигурация» .

    Перейдите на страницу настройки Google Chat API.

  3. Настройте приложение «Чат»:

    1. В поле «Название приложения» введите Travel ADK AI Agent .
    2. В поле «URL-адрес аватара» введите https://goo.gle/3SfMkjb .
    3. В поле «Описание» введите Travel ADK AI Agent .
    4. В разделе «Настройки подключения» выберите «Apps Script» .
    5. В поле «Идентификатор развертывания» вставьте ранее скопированный идентификатор развертывания Head .
    6. Зарегистрируйте быструю команду , которую будет использовать полностью реализованное приложение чата:
      1. В разделе «Команды» нажмите «Добавить команду» .
      2. В поле «Идентификатор команды» введите 1 .
      3. В поле «Описание» введите Reset session .
      4. В разделе «Тип команды» выберите «Быстрая команда» .
      5. В поле «Имя» введите Reset session .
      6. Нажмите «Готово» . Быстрая команда зарегистрирована и отображается в списке.
    7. В разделе «Видимость» выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене рабочего пространства» и введите свой адрес электронной почты.
    8. В разделе «Журналы» выберите « Записывать ошибки в журнал» и перейдите в раздел «Ведение журнала» .
    9. Нажмите « Сохранить ».

Теперь приложение доступно через Google Chat.

  1. Откройте Google Чат.

    Перейдите в Google Чат

  2. Создайте пространство для личных сообщений в чате:

    1. Нажмите новый чат» .
    2. Введите в поиск и выберите приложение Travel ADK AI Agent .
    3. В диалоговом окне Install app нажмите «Установить приложение» .
    4. Диалоговое окно Install app закрывается, и выбирается созданное пространство для личных сообщений в чате.

Приложение «Чат» готово отвечать на сообщения.

Проверьте агента

  1. Откройте Gmail.

    Перейти в Gmail

  2. Отправьте себе следующее электронное письмо:

    • Тема: You need to travel to Paris
    • В сообщении говорится: Please be there between 11/25/2025 and 11/30/2025!
  3. Откройте надстройку Travel ADK AI Agent из боковой панели.

  4. Нажмите «Предоставить разрешения» , чтобы завершить настройку дополнения.

  5. После настройки следующего запроса к агенту нажмите кнопку «Отправить» :

    • Сообщение: Please help me plan this travel!
    • Контекст: выберите текущий адрес электронной почты

    Боковая панель обновляется с учетом ответа агента.

    Планирование поездки из Gmail

  6. Нажмите «Открыть чат» , чтобы перейти в личное сообщение.

  7. Нажмите + > Сбросить сессию .

    Вы получаете новое сообщение, подтверждающее завершение процесса: OK, let's start from the beginning, what can I help you with?

  8. Отправьте сообщение. Give me ideas .

    Вы получаете новые сообщения с ответом агента.

    Мозговой штурм в чате

  9. Отправьте сообщение I want to go there! после загрузки фотографии любого места, например, Эйфелевой башни .

    Вы получаете новые сообщения с ответом агента.

    Получить информацию о местоположении из вложения в чате

Ограничения

HTTP

В приложениях Google Workspace, отличных от чата, у ИИ-агента имеются следующие ограничения:

  • Это синхронный процесс: боковые панели могут обновляться только в ответ на действия пользователя, поэтому ответы ИИ-агента отображаются только после полного завершения процесса (без потоковой передачи).

  • Может произойти таймаут: обновления боковой панели завершаются с ошибкой по истечении нескольких минут.

В чате таких ограничений нет.

Apps Script

Во всех приложениях Google Workspace агент ИИ вызывает REST API Vertex AI с помощью UrlFetchApp , что приводит к следующим ограничениям:

  • Это синхронный процесс: ответы ИИ-агента возвращаются только после полного завершения процесса (без потоковой передачи).

  • Может произойти таймаут: агент ИИ запрашивает таймаут, если выполнение задачи занимает примерно больше минуты.

Настройка

Это решение поддерживает агентов ADK AI, размещенных в Vertex AI Agent Engine, подмножество пользовательских интерфейсов приложений Google Workspace, а также отображение ответов, специфичных для ответов в примере Travel Concierge. Решение использует расширяемую платформу, поэтому вы можете настроить его, изменив следующие файлы:

Python

  • main.py: Определяет основные пользовательские интерфейсы и логику взаимодействия с пользователем (обработчики событий Google Workspace). Типичным расширением было бы включение возможности использования документов Google Drive в качестве контекстной функции для приложения Google Drive, аналогично тому, как это делается с сообщениями Gmail в приложении Gmail.

  • vertex_ai.py: Управляет сессиями, ответами и ошибками ИИ-агента, а также определяет специфические для Vertex AI интерфейсы для поддержки взаимодействия с агентами и отображения ответов. Типичные расширения включают добавление поддержки многосессионных диалогов с отдельными пользователями и других платформ управления ИИ-агентами.

  • agent_handler.py: Реализует специфические для Vertex AI интерфейсы, определенные в vertex_ai.py, в конкретных случаях чат-приложений и приложений, не относящихся к чату. Типичным расширением может быть добавление кнопок для отправки пользователями отзывов об ответах ИИ-агента.

  • google_workspace.py: Реализует взаимодействие с платформой управления агентами, не использующими ИИ, с помощью вызовов API. В этом примере для сбора контекстной информации и выполнения действий используются только API Google Workspace. Типичным расширением было бы добавление функций для получения бизнес-данных из Google Календаря или системы управления взаимоотношениями с клиентами (CRM).

  • travel_agent_ui_render.gs: Реализует специфические для Travel Concierge способы отображения ответов для субагентов и приложений Workspace. Типичные расширения включают добавление поддержки новых способов графического отображения вариантов рейсов и других агентов ИИ.

Apps Script

  • Code.gs: Определяет основные пользовательские интерфейсы и логику взаимодействия с пользователем (обработчики событий Google Workspace). Типичным расширением было бы включение возможности использования документов Google Drive в качестве контекстной функции для приложения Google Drive, аналогично тому, как это делается с сообщениями Gmail в приложении Gmail.

  • VertexAi.gs: Управляет сессиями, ответами и ошибками ИИ-агента, а также определяет специфические для Vertex AI интерфейсы для поддержки взаимодействия с агентами и отображения ответов. Типичные расширения включают добавление поддержки многосессионного взаимодействия для отдельных диалогов с пользователями и других платформ управления ИИ-агентами.

  • AgentHandler.gs: Реализует специфические для Vertex AI интерфейсы, определенные в VertexAi.gs, в конкретных случаях чат-приложений и приложений, не относящихся к чату. Типичным примером расширения может быть добавление кнопок для отправки пользователями отзывов об ответах ИИ-агента.

  • GoogleWorkspace.gs: Реализует взаимодействие с платформой управления агентами, не использующими ИИ, с помощью вызовов API. В этом примере для сбора контекстной информации и выполнения действий используются только API Google Workspace. Типичным расширением может быть добавление функций для получения бизнес-данных из Google Календаря или системы управления взаимоотношениями с клиентами (CRM).

  • TravelAgentUiRender.gs: Реализует специфические для Travel Concierge способы отображения ответов для субагентов и приложений Workspace. Типичные расширения включают добавление поддержки новых способов графического отображения вариантов рейсов и других агентов ИИ.

Уборка

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

  1. В консоли Google Cloud перейдите на страницу «Управление ресурсами» > IAM и администрирование > Управление ресурсами .

    Перейдите в Диспетчер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить .
  3. В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.