Оглавление:

Создание настраиваемых действий для Google Assistant: 12 шагов
Создание настраиваемых действий для Google Assistant: 12 шагов

Видео: Создание настраиваемых действий для Google Assistant: 12 шагов

Видео: Создание настраиваемых действий для Google Assistant: 12 шагов
Видео: ВСЕ ПРО GOOGLE ТАБЛИЦЫ ЗА 13 МИНУТ | Как пользоваться? Видеоурок | Алексей Аль-Ватар 2024, Июль
Anonim
Image
Image
Установите разрешения для своей учетной записи Google
Установите разрешения для своей учетной записи Google

Увидев потенциал Google Assistant, представленного в Google I / O 18, а также Volvo Cars в их информационно-развлекательной системе, я не мог не попробовать его. Я повторно использовал один из моих старых проектов, VasttraPi, и связал его с Google Assistant. Если вы хотите узнать больше о проекте, я буду рад, если вы посмотрите соответствующую статью в моем блоге: Пользовательские действия для Google Assistant.

В этом руководстве мы рассмотрим шаги, необходимые для запуска вашего собственного действия Google Assistant Action, которое будет связываться с вашим сервером и разговаривать с вами, перечисляя предстоящие отправления. Имейте в виду, что мы не собираемся использовать SDK, поскольку мы запускаем его полностью в Google Assistant, а не на нашем собственном устройстве. В целом, все будет просто. Ваше действие можно будет использовать на устройствах, поддерживающих Google Assistant, таких как телефоны, планшеты, домашние помощники и носимые устройства, и вы даже можете поделиться им, как если бы вы делали это с приложением в Play Store!

Одним из основных преимуществ создания чего-то подобного по сравнению с использованием таких сервисов, как IFTTT, является то, что вы можете создавать собственные ответы на своем сервере, которые будут считываться Google Assistant. В IFTTT связь, насколько я понимаю, односторонняя.

Будут рассмотрены следующие темы:

  • Создание вашего первого проекта Action
  • Создание собственного намерения
  • Создание вашей настраиваемой сущности
  • Настройка веб-перехватчика для выполнения вашего действия
  • Настройка простого REST-сервера, написанного на Python с Flask, который будет предоставлять ответы или «выполнение»
  • Тестирование вашего проекта Action
  • Выпуск вашего проекта Action

Здесь вы не найдете много деталей или теории о различных функциях и концепциях Google Assistant. Если они вам интересны, я настоятельно рекомендую вам следовать официальному руководству или посмотреть это видео.

Шаг 1. Задайте разрешения для своей учетной записи Google

Прежде чем мы начнем, мы должны убедиться, что у Google Assistant есть соответствующие разрешения.

  1. Перейти к элементам управления активностью
  2. Убедитесь, что включены следующие параметры:

    1. История приложений и веб-поиска
    2. Информация об устройстве
    3. Голосовая и аудиозапись

Шаг 2. Создайте свое действие

Создайте свое действие
Создайте свое действие
Создайте свое действие
Создайте свое действие
  1. Перейдите в Консоль действий и нажмите «Добавить / импортировать проект».
  2. Назовем этот проект Действия "планировщиком локального трафика".
  3. Щелкните на «Создать проект».
  4. На следующей странице не выбирайте категорию и нажмите «Пропустить».
  5. Теперь вы должны быть на главной странице консоли действий.

Шаг 3: вызов действия

Вызов действия
Вызов действия
Вызов действия
Вызов действия

Определите, как вы хотите, чтобы Google Assistant начал свое действие.

  1. В разделе «Быстрая настройка» нажмите «Решить, как будет запускаться ваше действие».
  2. Назовите его «Мой местный планировщик трафика» и нажмите «Сохранить».
  3. Нажмите на запрос «ОБНОВИТЬ ПРИЗЫВЫ ОБРАЗЦА», который появляется после нажатия кнопки «Сохранить».

    Вы также можете найти эту опцию в разделе «Информация о каталоге»

  4. Добавьте «Спросите моего местного планировщика трафика» в качестве нового вызова и нажмите «Сохранить».

Шаг 4. Добавьте свое первое действие

Добавьте свое первое действие
Добавьте свое первое действие
Добавьте свое первое действие
Добавьте свое первое действие
  1. Щелкните «Действия» на левой панели.
  2. Щелкните «ДОБАВИТЬ ПЕРВОЕ ДЕЙСТВИЕ».
  3. Выберите «Особое намерение», а затем нажмите «Построить».
  4. Вы попадете на страницу Dialogflow, где вы реализуете основную логику.

Шаг 5: Обучение фраз для вашего намерения

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

    1. Я сейчас дома
    2. Пока я дома
    3. Я сейчас в нашей квартире
    4. я сижу дома
    5. Сейчас я нахожусь рядом с работой
    6. я на работе
    7. Я в офисе
    8. Работа
    9. Дом

Шаг 6: Сущности

Сущности
Сущности
Сущности
Сущности

Теперь, когда вы указали, что более или менее ожидается в качестве входных данных, нам нужно определить, какие части входных данных представляют интерес для нашей бизнес-логики, чтобы их можно было извлечь и выделить на нашем сервере. В нашем случае мы хотим знать, находится ли пользователь дома или на работе, чтобы мы могли ответить отправлением с определенной станции. Посмотрим, как это сделать.

  1. Если вы дважды щелкните одно или несколько слов в обучающих фразах, вы получите список предопределенных сущностей. Подробнее о каждой из них можно прочитать здесь. В целом, наиболее подходящим будет @ sys.location, однако я думаю, что лучше и проще всего будет, если мы создадим нашу собственную сущность, которую мы должны назвать @ current-location.
  2. Нажмите на опцию «Сущности» слева.
  3. Щелкните «СОЗДАТЬ ОБЪЕКТ».
  4. Задайте имя "current-location" и определите два ссылочных значения вместе с их синонимами:

    1. дом

      дом, дом, квартира, детская кроватка

    2. Работа

      работа, офис, аптив, код мины (смеется шучу)

  5. Нажмите «Сохранить». Для дополнительного эффекта вы также можете нажать «Разрешить автоматическое расширение», чтобы дать Google Ассистенту дополнительные возможности попытаться сопоставить больше синонимов с вашими справочными значениями.

Шаг 7: действие и параметры

Действие и параметры
Действие и параметры
Действие и параметры
Действие и параметры
Действие и параметры
Действие и параметры
Действие и параметры
Действие и параметры

Пора придать смысл ключевым словам в ваших обучающих фразах.

  1. Нажмите «Намерения», а затем перейдите к своему собственному намерению, то есть «отклонениям», если вы следовали моим предложениям по имени.
  2. Прокрутите вниз до «Обучающие фразы».
  3. Дважды щелкните слова, обозначающие ваше текущее местоположение, и выберите во всплывающем окне тег @ current-location.
  4. Прокрутите вниз до «Действия и параметры», нажмите «Управление».
  5. Если все было сделано правильно, вы увидите, что ваша новая сущность указана там.
  6. Установите флажок «Обязательно», после чего появится новый столбец «Запросы». Подсказки - это то, что пользователь должен услышать, если не было предоставлено ничего, что соответствует ожиданиям.
  7. Нажмите «Определить подсказки» и вставьте что-то вроде «Я не понял ваше местоположение. Где вы сейчас находитесь?».

Шаг 8: Выполнение

Исполнение
Исполнение
Исполнение
Исполнение
Исполнение
Исполнение

Пришло время подключить ваш веб-сервис к Google Assistant Action. Ваш хук будет вызван, когда сработает это конкретное намерение, и должен привести к выполнению этого действия. Перед этим мы также хотим установить наше намерение завершить действие после его выполнения.

  1. Перейдите в «Ответы» и нажмите «ДОБАВИТЬ ОТВЕТ».
  2. Не добавляйте никаких ответов, просто включите «Установить это намерение как конец разговора».
  3. Прокрутите вниз до «Выполнение», нажмите «РАЗРЕШИТЬ ИСПОЛНЕНИЕ» и затем включите «Разрешить вызов веб-перехватчика для этого намерения».
  4. Нажмите «Сохранить», а затем перейдите к опции «Выполнение» слева.
  5. Включите опцию «Webhook» и вставьте URL-адрес, который «прослушивается» вашим веб-сервером.

    Всякий раз, когда срабатывает намерение, оно отправляет на ваш веб-сайт запрос POST с телом запроса, содержащим объект JSON с текущим местоположением пользователя

  6. Щелкните Сохранить.
  7. Теперь мы готовы создать наш веб-сервис, но перед этим давайте убедимся, что наше действие приветствует нас должным образом.

Шаг 9: Приветственное намерение

Приветственное намерение
Приветственное намерение
Приветственное намерение
Приветственное намерение

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

  1. Перейдите в «Намерения», а затем нажмите «Приветственное намерение по умолчанию».
  2. Прокрутите вниз до «Ответов», удалите существующие и вставьте то, что вы хотите, чтобы ваше действие приветствовало вас после того, как оно будет инициировано.
  3. Щелкните "Сохранить".

Шаг 10: ваш веб-сервис Python

Ваш веб-сервис Python
Ваш веб-сервис Python

Давайте сделаем быстрый и грязный Python-сервер с помощью Flask. Для этого шага нет скриншотов, но он должен быть довольно простым.

  1. Откройте новую вкладку и создайте учетную запись на pythonanywhere.com.
  2. Подтвердите Ваш электронный адрес.
  3. Настройте свое веб-приложение, щелкнув «Открыть веб-вкладку».
  4. Нажмите «Добавить новое веб-приложение» и выберите «Flask» в качестве веб-платформы Python.
  5. Выберите Python 3.6 и нажмите «Далее».
  6. Выберите путь, по которому должен находиться ваш «flask_app.py». Я поместил его прямо в свою домашнюю папку как «/home/your-username/flask_app.py».
  7. Вернитесь на главную страницу, щелкнув логотип Python в верхнем левом углу.
  8. В разделе файлов нажмите «flask_app.py», чтобы начать его редактирование.
  9. Когда откроется веб-текстовый редактор, вставьте следующий код и нажмите «Сохранить». Общая идея заключается в том, что в зависимости от проанализированного JSON, поступающего от Google Asssistant, наш сервер выполнит действие (например, чтение или запись) и сообщит об этом в качестве ответа. / выполнение, которое следует прочитать пользователю.
  10. Снова нажмите «Открыть веб-вкладку», а затем зеленую «кнопку перезагрузки».
  11. К настоящему времени у вас должен быть собственный веб-сервер Python, работающий по адресу «https://your-username.pythonanywhere.com/departures».

Шаг 11: проверьте свое действие

Проверьте свое действие
Проверьте свое действие
Проверьте свое действие
Проверьте свое действие
Проверьте свое действие
Проверьте свое действие
Проверьте свое действие
Проверьте свое действие

Хорошо, к настоящему моменту вы почти закончили. Давайте сейчас протестируем весь стек и запустим этот пример «Hello world»!

  1. Щелкните «Интеграции» на левой боковой панели.
  2. Нажмите «Настройки интеграции» под опцией Google Assistant.
  3. В разделе «Неявный вызов» добавьте название вашего намерения, то есть «отправления», чтобы его можно было активировать напрямую, сказав что-то вроде «Привет, Google, поговори с моим местным планировщиком дорожного движения об отправлениях из дома».
  4. Включите «Автоматический просмотр» изменений.
  5. Нажмите «Тест», чтобы открыть новую страницу.
  6. Типа «Поговорите с моим местным планировщиком дорожного движения».
  7. Должно быть вызвано ваше действие, которое должно приветствовать вас одним из ранее установленных ответов с приветственным намерением.
  8. Затем введите «Я на работе». Необходимо связаться с вашим сервером Python, и Google Assistant прочитает ответ.

Круто, не правда ли? А теперь представьте, что вы можете делать, взаимодействуя с датчиками, исполнительными механизмами и другими API-интерфейсами через Google Assistant.

Шаг 12: отпустите свое действие

Отпустите свое действие
Отпустите свое действие
Отпустите свое действие
Отпустите свое действие
Отпустите свое действие
Отпустите свое действие

После того, как вы закончите тестирование своего Действия и оно находится в хорошем состоянии, пора поделиться любовью со всем миром или, если это не имеет смысла, со своими друзьями и семьей.

  1. Вернитесь в консоль Действия и выберите действие локального планировщика трафика.
  2. В разделе «Подготовьтесь к развертыванию» нажмите «Введите информацию, необходимую для внесения вашего действия в каталог действий».
  3. Введите краткое описание, более подробное описание, небольшой логотип, ваши контактные данные, ссылку на политику конфиденциальности (если вы не собираетесь делиться ею публично, просто разместите ссылку на свой веб-сайт или что-то в этом роде) и категорию.
  4. Прокрутите вверх и нажмите «Сохранить».
  5. Нажмите на опцию «Освободить» на левой боковой панели.
  6. Здесь вы можете выбрать, в каком состоянии находится ваше действие. Если вы не хотите слышать ответ «Давайте получим тестовую версию My local traffic planner», вам необходимо сделать полноценный публичный релиз. Однако это требует проверки Google и не будет рассматриваться в этом руководстве. Вместо этого вы все равно можете поделиться этим с 20 людьми, выбрав альфа-версию и добавив их в качестве альфа-тестеров.
  7. Добавьте любых альфа-тестеров, отправив им ссылку или добавив их электронные письма.
  8. Нажмите «ОТПРАВИТЬ НА АЛЬФУ», установите флажки, нажмите «ОТПРАВИТЬ», и все готово!

Теперь ваше действие доступно для вас и ваших друзей. Повеселись!

Если вас интересует код, который я использовал, взгляните на проект на GitHub.

Рекомендуемые: