Подключение бота к Alexa

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

Бот можно настроить для взаимодействия с людьми с помощью пользовательского навыка Alexa. В этой статье описывается создание навыка Alexa с помощью консоли разработчика Alexa, подключение бота к навыку Alexa в Azure и тестирование бота в Alexa.

Необходимые компоненты

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начать работу.
  • Бот, опубликованный в Azure, который требуется подключить к Alexa.
  • Учетная запись Amazon.

Важно!

Бот должен использовать пакет SDK Bot Framework версии 4.8 или более поздней. Если у вас есть существующий бот, возможно, потребуется обновить версию пакета SDK и повторно опубликовать бот.

Создание навыка Alexa

  1. Войдите в консоль разработчика Alexa и выберите "Создать навык".

  2. На следующей странице:

    1. Введите имя нового навыка.
    2. Убедитесь, что для добавления модели к навыку задано значение Custom.
    3. Убедитесь, что для размещения внутренних ресурсов навыка задано значение "Подготовка собственных".
    4. Выберите " Создать навык".

    Choose model and hosting

  3. На следующей странице:

    1. Убедитесь, что для выбора шаблона задано значение "Начать с нуля"
    2. Выберите пункт Выбор.

    Choose a template

  4. На панели мониторинга навыка в разделе "Модель взаимодействия" выберите редактор JSON.

  5. В редакторе JSON:

    1. Замените существующее содержимое следующим json.

      {
          "interactionModel": {
              "languageModel": {
                  "invocationName": "<your-skill-invocation-name>",
                  "intents": [
                      {
                          "name": "GetUserIntent",
                          "slots": [
                              {
                                  "name": "phrase",
                                  "type": "phrase"
                              }
                          ],
                          "samples": [
                              "{phrase}"
                          ]
                      },
                      {
                          "name": "AMAZON.StopIntent",
                          "samples": []
                      }
                  ],
                  "types": [
                      {
                          "name": "phrase",
                          "values": [
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              }
                          ]
                      }
                  ]
              }
          }
      }
      
    2. Для invocationNameэтого измените <имя вызова навыка на имя> , которое пользователи будут использовать для вызова навыка в Alexa. Например, если имя вызова навыка было "вспомогательным адаптером", то пользователь может сказать "Alexa, вспомогательный адаптер запуска" для запуска навыка.

    3. В массиве values в разделе typesзамените три экземпляра <example-phrase> фраз, которые пользователи могут сказать, чтобы активировать навык. Например, если пользователь говорит:"Alexa, попросите помощника адаптера предоставить мне сведения об адаптере alexa", одна из примеров фразы может быть "дать мне сведения об адаптере alexa".

  6. Выберите " Сохранить модель", а затем выберите " Создать модель". Это обновляет конфигурацию навыка в Alexa.

Настройка бота в Azure

Чтобы выполнить этот шаг, вам потребуется идентификатор навыка Alexa. Получите идентификатор из URL-адреса на портале Alexa или перейдите в консоль разработчика Alexa и выберите идентификатор навыка копирования. Идентификатор навыка Alexa должен быть значением, например amzn1.ask.skill.<some-guid>".

  1. Откройте портал Azure.
  2. Откройте колонку ресурсов Azure Bot для бота.
  3. Откройте каналы и выберите Alexa.
  4. В конфигурации Alexa Channel введите сведения, скопированные на предыдущем шаге.
    1. Введите идентификатор навыка Alexa, скопированный из консоли разработчика Alexa.
    2. Нажмите Применить.
    3. Скопируйте созданный Azure URI конечной точки службы Alexa.

Обновление регистрации бота Alexa

  1. Войдите в консоль разработчика Alexa.

  2. Найдите и откройте страницу конфигурации навыка.

  3. Выберите раздел Конечная точка.

  4. Для типа конечной точки службы выберите HTTPS.

  5. Для региона по умолчанию:

    1. Введите URI конечной точки службы Alexa, скопированный из портал Azure.
    2. В раскрывающемся списке выберите "Моя конечная точка разработки" — это поддомен домена с диким сертификатом карта из центра сертификации.

    Set service endpoint and endpoint type

  6. Выберите "Сохранить конечные точки".

Тестирование и публикация навыка

Если вы владеете устройством Alexa, вы можете протестировать навык перед публикацией.

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

Дополнительные сведения

Дополнительные сведения о навыках Alexa см. в документации разработчика Amazon:

Проверка подлинности пользователей в Alexa

Проверка подлинности пользователей в Alexa выполняется путем настройки и использования связывания учетных записей на навыке Alexa. Дополнительные сведения см. в разделе "Общие сведения о связывании учетных записей" для Alexa Skills. Вы можете требовать связывание учетных записей, если пользователь включает навык, или его можно требовать в рамках потока беседы.

При добавлении проверки подлинности пользователей в рамках беседы:

  1. Вложите карта входа в исходящее действие. Это будет преобразовано в приложение Alexa LinkAccount карта, которое предложит пользователю войти с помощью приложения Alexa.

  2. Если пользователь успешно связывает свою учетную запись с приложением, маркер будет доступен при последующих запросах в данных канала.

Следующие шаги