Блог / Как подключить Яндекс Алису к платформе RIC?

Привет! Меня зовут Гриша Куликов, я - менеджер продукта в Rightech. Мы с командой хотим продемонстрировать вам самый простой способ подключения Яндекс Алисы к платформе RIC. Опираясь на этот пример, вы сможете добавить новые команды для Яндекс Алисы и интегрировать новые устройства. Расширьте возможности вашей умной колонки и превратите ваш дом в пространство инноваций и удобства!

Создание модели

В новой моделе добавьте новую подсистему Для добавления модели нажмите «+» и выберите подсистему. Заполните поле идентификатор и имя (в моем случае для имени выбран Yandex)
alice1.webp
В подсистеме Yandex добавьте два аргумента:
webhook
alice2.webp
webhook result
alice3.webp
В подсистеме Yandex добавьте два события:
запуск теста
alice4.webp
остановка теста
alice5.webp

Создание объекта

Для создания объекта нажмите «+», затем выберите модель (в моем случае модель называется Yandex Alisa), проверьте наличие идентификатора, добавьте имя и описание (при необходимости). В завершение, нажмите «Сохранить».
alice6.webp

Создание обработчика

Для добавления обработчика нажмите «+», введите имя и описание.
alice7.webp
Перейдите во вкладку «код» и замените существующий код на новый (код внутри).
function process() {
  let body = ric.webhook?.request?.body ?? {};
 
  const test_start =
    body.request?.nlu?.intents?.test_rightech_start ?? undefined;
  const test_stop = body.request?.nlu?.intents?.test_rightech_stop ?? undefined;
 
  let response = {
    status: 200,
    body: {
      version: body.version,
      session: body.session,
      response: {
        text: "Не поняла команду, попробуйте еще",
        end_session: "false",
      },
    },
  };
 
  if (test_start != undefined) {
    ric.events.gen("yandex_test_start", {});
    response.body.response.text = "Тест запущен";
  }
 
  if (test_stop != undefined) {
    ric.events.gen("yandex_test_stop", {});
    response.body.response.text = "Тест остановлен";
  }
 
  ric.webhook.respondWith(response);
 
  return { body };
}
Назначьте обработчик на объект. Для этого перейдите во вкладку «Объекты», нажмите «Выбрать» и выберите ранее созданный объект для Яндекс Алисы, не забудьте нажать «Сохранить».
alice8.webp
Затем перейдите во вкладку «параметры» и для блока «выходные параметры» выберите один из ранее созданных аргументов «webhook» или «webhook result».
alice9.webp
Нажмите на редактирование ранее созданного Обработчика (в данном случае – «Яндекс Алиса №1») и нажмите Создать вебхук.
alice10.webp
alice11.webp

Создание автомата

Для создания автомата нажмите «+», затем заполните имя, описание, выберите модель (в данном случае – Yandex Alisa) и нажмите «Создать».
alice12.webp
Добавьте еще одно состояние и соедините их между собой событиями.
alice13.webp
В добавленном событии нажмите на «добавить событие» и выберите ранее созданное событие из модели (в данном случае модель — Yandex, событие — «запуск теста»). Далее проделайте тоже самое, но добавьте ваше второе событие (в данном случае - «остановка теста»). Сохраните полученный автомат и назначьте его на объект (в данном случае — Yandex Alisa object).
alice14.webp

Регистрация и запуск в Яндекс Диалоги

  1. Перейдите в «консоль» и создайте новый диалог.
  2. Во вкладке «настройки» (подраздел - «главные настройки») заполните: имя навыка, webhook URL (для этого перейдите в объекты – сервисы – обработчики – расширьте обработчик – скопируйте вебхук), выберите голос (в данном случае — голос Алисы).
alice15.webp
  1. Также во вкладке «настройки» (подраздел — «главные настройки») нужно заполнить:
  • Примеры запросов. Для этого в выпадающем списке выберите «запусти навык» и имя навыка (в данном случае — «платформа Райтек»)
  • Имя разработчика
  • Категория – управление
  • Описание
  • Иконка
  • Тип доступа. Измените на приватный в том случае, если не хотите, чтобы ваш навык был публичным (также с приватным доступом не придется ждать публикации и можно сразу протестировать).
  1. Теперь во вкладке настройки необходимо перейти в подраздел  «интенты» и нажать «создать». Добавление интентов нужно для того, чтобы Яндекс Алиса смогла распознать вашу натуральную речь.
  • Создайте интенты для запуска теста:
    alice16.webp
  • Создайте интенты для остановки теста:
    alice17.webp
  1. Теперь можно перейти во вкладку «тестирование». В чате пишем, например, «тест Райтек», далее переходим на платформу – объекты – журнал и смотрим входящие пакеты. Если все работает верно, то должен прийти пакет данных (как на скринах ниже).
    alice18.webp
alice19.webp
alice20.webp
  1. Ранее внесенные изменения необходимо сохранить и опубликовать. Теперь ожидаем некоторое время, пока диалог будет опубликован. Как только это произойдет, появится сообщение.
    alice21.webp
  2. Перейдите во вкладку «доступ» и нажмите «сгенерировать». Когда вы перейдёте по этой ссылке, у вас появится выбор – запустить навык или запустить навык на колонке. Выбираете удобный для вас способ и проговариваете Алисе, что хотите сделать, исходя из тех интентов, которые у вас есть.
    alice22.webp
  3. За выполнением событий можно наблюдать во вкладке Объекты – Сервисы – Логика. Не забудьте запустить автомат перед началом работы.
    alice23.webp