Найти тему
Игорь Лобода

Как создать навык для Алисы: на примере - демонстрация историй успеха выпускников Яндекс Практикума

Оглавление

Создание навыков для голосовых ассистентов, таких как Алиса от Яндекса, – это отличный способ взаимодействовать с аудиторией и предоставлять полезный контент в удобном формате. Один из интересных кейсов – навык для Алисы, который рассказывает истории успеха выпускников Яндекс Практикума. Это может быть полезным инструментом как для самих выпускников, так и для будущих студентов, которые ищут вдохновение и примеры того, как курсы Яндекс Практикума могут изменить их карьеру.

Основная идея навыка

Навык "Истории успеха выпускников Яндекс Практикума" позволит пользователям Алисы получать вдохновляющие рассказы о том, как студенты, прошедшие обучение, нашли работу, сменили карьеру или улучшили свои профессиональные навыки. Пользователь может задать вопрос вроде "Алиса, расскажи историю успеха выпускника Яндекс Практикума", и ассистент предложит случайную историю из заранее подготовленного списка.

Ключевые функции навыка

  • Генерация случайных историй – каждая история будет рассказываться голосом Алисы в случайном порядке.
  • Фильтрация по направлениям – пользователи смогут запросить истории успеха по конкретной специальности, например, «веб-разработка», «дата-сайнс» или «аналитика данных».
  • Возможность добавить свои истории – выпускники смогут оставлять свои истории успеха для других пользователей.
  • Поддержка обновления контента – истории успеха будут регулярно пополняться, чтобы навык оставался актуальным и интересным.

Пошаговое создание навыка


Определение структуры навыка

Начнем с простого: навык должен поддерживать несколько команд от пользователя, например:

  • «Алиса, расскажи историю успеха выпускника»
  • «Алиса, расскажи историю успеха веб-разработчика»
  • «Алиса, расскажи успех в области аналитики данных»

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

"Иван Петров, после окончания курса по аналитике данных в Яндекс Практикуме, получил работу в крупной IT-компании и уже через год стал старшим аналитиком."

Регистрация навыка на платформе Яндекс Диалоги

Чтобы создать навык для Алисы, необходимо зарегистрировать его на платформе Яндекс Диалоги (https://dialogs.yandex.ru/). (https://dialogs.yandex.ru/) Для этого нужно выполнить следующие шаги:

  1. Перейти на сайт Яндекс Диалоги.
  2. Создать новый проект.
  3. Выбрать тип навыка «Навык для Алисы».
  4. Описать свой проект, указать его название, описание и иконку.

Программирование логики навыка

Для создания навыка можно использовать Node.js SDK для Яндекс Алисы (https://github.com/fletcherist/yandex-dialogs-sdk) или любой другой язык, поддерживающий работу с API Алисы. Логика будет простой:

  • Принять запрос от пользователя (например, "расскажи историю успеха").
  • Выбрать подходящую историю (случайную или фильтрованную по специальности).
  • Вернуть ответ пользователю с историей.

Пример на JavaScript с использованием Node.js SDK:

const { Alice, Reply } = require('yandex-dialogs-sdk');

const alice = new Alice();

const stories = {

'web': ["Иван стал фронтенд-разработчиком после курса.", "Мария освоила веб-разработку и нашла работу в стартапе."],

'data-science': ["Алексей устроился аналитиком после курса по Data Science.", "Ольга нашла работу в области машинного обучения."]

};

alice.any(async (ctx) => {

const query = ctx.message;

let response;

if (query.includes('веб')) {

response = stories['web'][Math.floor(Math.random() * stories['web'].length)];

} else if (query.includes('аналитик') || query.includes('дата')) {

response = stories['data-science'][Math.floor(Math.random() * stories['data-science'].length)];

} else {

response = "Выберите направление: веб-разработка или дата-сайнс.";

}

return Reply.text(response);

});

alice.listen('/', 3000);

Добавление функционала для новых историй

Дополнительная функция навыка – возможность выпускникам добавлять свои истории. Для этого можно настроить форму на сайте, где они могут заполнить свои данные, или настроить взаимодействие через бота.\