Как стать автором
Обновить

Пишем смартапп для ассистента Сбера (пошаговый гайд, без программирования)

Время на прочтение4 мин
Количество просмотров3.3K

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

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

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

 Вся документация по разработке тут (изучаем)

 Изучаем IDE в облаке тут

(возможен вход без регистрации, через Сбер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 час, спасибо саппорту), затем отсылаем приложение на модерацию (мы заполнили все требуемые данные, судя по чеклисту):

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

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

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

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

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

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

  • После прохождения модерации, наше приложение станет доступно в Маркете, на выбранных выше платформах, и мы сможем протестировать/использовать соотв. навык ассистента в реальности.

  • Для тестирования: достаточно закгрузить на смартфон приложение Салют и залогинитьься там под той же учеткой, под которой велась разработка. После этого, разработанное приложение будет доступно вам (и пока только вам) сразу же, без прохождегния модерации, публикации и т.п.

  • Например, вот как я протестировал свое разработанное выше прилшложение:

  • Для использования приложения, можно приобрести одну физических из платформ/поверхностей, например тут:

  • P.S.: Подписывайтесь на мой телеграм канал, где я делюсь своими открытиями и наработками в программировании. До встречи!

Теги:
Хабы:
Всего голосов 6: ↑5 и ↓1+7
Комментарии0

Публикации

Истории

Работа

Swift разработчик
17 вакансий
iOS разработчик
16 вакансий

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань