Вместо предисловия

Ниже — описание шагов по созданию простейшего приложения (смартаппа) для СберМаркета, без программирования (в данном случае — в среде разработки Graph).

Приступаем к разработке

(warning) Вся документация по разработке тут (изучаем): https://developers.sber.ru/docs/

(warning) Изучаем IDE в облаке тут: https://developers.sber.ru/portal/tools/smartmarket-studio

(возможен вход без регистрации, через СберID, Ок, залогинились)

Вот что облачная студия нам предлагает:

Создаем zero-code смартапп в SmartApp Graph

Создаем новый смартапп — “Предсказатель“

Для примера, напишем приложение для принятия решений, наподобие этого:

https://8-gund.com/ru/

Приложение будет принимать произвольный вопрос пользователя и отвечать случайным образом: “Да“, “Нет“, “Возможно“ и др.

То есть это развлекательное приложение, подобие физической игрушки — “Шар принятия решений“:

Создаем новый проект

  • Переходим в SmartMarket Studio и создайте проект Graph.
  • В разделе Сценарий выбераем блок Текст.
  • В поле Реплика ассистента напишем короткую инструкцию для пользователей по общению с вашим смартапом и нажмем Сохранить.

Пишем текст приветствия

  • Выбираем внизу экрана кнопку Сохранить и переходим в раздел “FAQ ассистент”.
  • Нажимаем “Создать пустую базу”.

Создаем пустую БД знаний

Предсказатель будет давать ответ, когда в конце вопроса его спросят: “Ответь”, вот сценарии (шаблонные ответы) для этого:

  • Вводим вопрос и нажмите ENTER.
  • Вводим ответы.
  • Добавляем еще — синонимы ответов.
  • Нажмаем зелёную кнопку Пуск в правом нижнем углу.

Тестируем на эмуляторе

  • Протестируем смартап, задавая ему ранее добавленные вопросы.

Первая проблемка

Итого, сейчас бот отвечает на ключевую фразу “Ответь”, но надо бы чтобы он игнорировал все то что до нее, то есть шаблон вопроса д.б. вида: “(звезда) Ответь” , где (звезда) — произвольная фраза; но как это объяснить ассистенту? …

(плюс) Мое решение: перенесем все ответы в сообщения об ошибке, т.о. ответы будут всегда случайные, на любой вопрос (то, что надо, из FAQ при этом вопрос удаляем, ответы теперь у нас тут):

(звезда) справка по “неизвестным вопросам“: https://developers.sber.ru/docs/ru/salute/graph/scenario/cannot_understand

  • Тестируем бота снова, работает как требовалось:

Сборка и публикация

Graph — это среда разработки вашего смартапа, а не сам смартап

Чтобы сделать смартап, нужно создать еще один вид проекта (SmartApp), заполнить в нем все поля, соединить тип SmartApp с Graph, отправить ваш смартап на модерацию и только после того, как он пройдет модерацию, его можно будет опубликовать в каталог

  • Ок, создаем еще один проект (на этот раз — с типом “Smart App“, подвид “Chat App“):

  • Вводим альтернативные имена для активации приложения (кому-то они удобнее будут):

  • Делаем привязку к Graph App:

  • В качестве поверхностей оставим Салют (голосовой помощник) и пусть SbertPortal с экраном (чтобы вводить вопросы текстом, как в тестировании выше):

  • Дозаполняем описание приложения:

  • Примеры запуска заполняем:

  • Добавляем картинки аппа (требуют по 2 под каждый размер):

  • Заполняем инструкцию по тестированию:

  • Дозаполняем данные о пространстве:

  • Все, можем отправлять на модерацию:

  • Ждем модерации пространства из п. выше (у меня заняло ~1 час, спасибо саппорту), затем отсылаем приложение на модерацию (мы заполнили все требуемые данные, судя по чеклисту):

(warning) У меня в первый раз возникла ошибка отправки: “Произошла ошибка при отправке на модерацию“

  • (плюс) Написал в саппорт (Телеграм: @SD_SmartApp_Supprot_Bot) , спасибо ребятам за оперативность, ответили сразу:

Ага, тут, в консоли, наглядно видно, в чем ошибка:

{"message":"Bad Request","error":
[{"type":"arrayUnique",
"message":"Paraphrases not unique: Conflict values: Магический шар",
"property":"paraphrases",
"value":["Магический шар"]}],"status":400}

Исправляем ошибку: удаляем фразу активации “Магический шар“ (т.к. она уже зарезервирована другим приложением… omg кажется нас опередили и приложение не оригинальное, ну кто же мог знать…)

Проверяем снова в консоли, при нажатии на “Отправить на модерацию“, видим что сейчас все ОК:


Наш созданный проект “Предсказатель“ (детали)

  • Идентификатор: predskazatel_-520583-ZrN
  • Способы активации: “Запусти предсказатель“, “Открой магический шар“
Tags

Нет комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.