Викиверситет ruwikiversity https://ru.wikiversity.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 MediaWiki 1.46.0-wmf.24 first-letter Медиа Служебная Обсуждение Участник Обсуждение участника Викиверситет Обсуждение Викиверситета Файл Обсуждение файла MediaWiki Обсуждение MediaWiki Шаблон Обсуждение шаблона Справка Обсуждение справки Категория Обсуждение категории Портал Обсуждение портала Факультет Обсуждения факультета TimedText TimedText talk Модуль Обсуждение модуля Event Event talk Викиверситет:GUS2Wiki 4 27562 166047 165862 2026-04-24T12:13:31Z Alexis Jazz 29940 Updating gadget usage statistics from [[Special:GadgetUsage]] ([[phab:T121049]]) 166047 wikitext text/x-wiki {{#ifexist:Project:GUS2Wiki/top|{{/top}}|This page provides a historical record of [[Special:GadgetUsage]] through its page history. To get the data in CSV format, see wikitext. To customize this message or add categories, create [[/top]].}} Данные взяты из кэша; последний раз он обновлялся в 2026-04-22T09:18:01Z. В кэше хранится не более {{PLURAL:5000|1=одной записи|5000 записи|5000 записей}}. {| class="sortable wikitable" ! Гаджет !! data-sort-type="number" | Количество участников !! data-sort-type="number" | Активные участники |- |dictionaryLookupHover || 74 || 0 |} * [[Служебная:Использование гаджетов]] * [[m:Meta:GUS2Wiki/Script|GUS2Wiki]] <!-- data in CSV format: dictionaryLookupHover,74,0 --> a2d05wesj68w5zj0ak7xlr2fs92l4lq Навыки Алисы 0 29080 166058 166018 2026-04-24T18:01:50Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166058 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Yandex Cloud Functions|Развертывание в функциях Яндекс.Облака]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] 58yvrldkjgtiie3ydpzei1ccjqad3vr 166066 166058 2026-04-24T19:07:35Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166066 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Yandex Cloud Functions|Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] 8vhxdwejmw7jsjto83vdn417qu5j98g 166068 166066 2026-04-24T19:18:23Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166068 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)|Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] fiwk1rvbnzopujfr91o1e1b354h2uoo 166072 166068 2026-04-24T19:22:19Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166072 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Развёртывание навыка в Яндекс.Облаке (Cloud Functions)|Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] 0p9e2v8dga10u71v8c6nhutykjjl30a 166073 166072 2026-04-24T19:23:14Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166073 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)|Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] j7v28cpn0uwckq70csggpm3al84sipo 166074 166073 2026-04-24T19:29:28Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166074 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] 15a0bnnitozf69y5syhdfv79zmghkyb 166075 166074 2026-04-24T19:33:00Z SemyonDudenkov 36586 /* Практический модуль: интерактивный квест (Petrozavodsk Quiz) */ 166075 wikitext text/x-wiki {{Курс |Факультет = Информационные технологии |Кафедра = [[Факультет:Компьютерные технологии/Программирование|Программирование]], [[Факультет:Компьютерные технологии/Веб-технологии|Веб-технологии]] |К курсу = |После курса = |Преподаватель = [[Участник:Владимир Плеханов|Плеханов Владимир]] ([[Обсуждение участника:Владимир Плеханов|обсуждение]]) |Скрыть учеников = да |Ссылка = [https://ru.wikiversity.org/?curid=29080 https://ru.wikiversity.org/?curid=29080] }} [[Файл:Alisa Yandex.svg|мини|Иконка Алисы - виртуального голосового помощника, созданного компанией Яндекс.]] [[Файл:Zinina Anna Robot 2017.jpg|мини|Доклад о роботе, умеющем дополнять речь жестами, указывающими на его эмоциональное состояние // [[n:Прошла конференция «Корпусная линвистика ‒ 2017» в Санкт-Петербурге|«Корпусная линвистика ‒ 2017»]]]] '''Навыки Алисы''' — это курс, обучающий созданию навыков для Алисы. Алиса - это виртуальный голосовой помощник, созданный компанией Яндекс. Навык - это ... Курс предназначен для студентов и преподавателей технических вузов, а также для школьников старших классов, углублённо изучающих информатику. В этом курсе вы познакомитесь с языками ???, ???, с конструктором Aimylogic. За основу курса взяты уроки, опубликованные в [https://wiki.yaboard.com/w/%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0_%D0%90%D0%BB%D0%B8%D1%81%D1%8B школе Алисы]. Этот материал дополняется ссылками на литературу, документацией и исходным кодом. == Лекции == # [[/Выбор навыка|Выбор навыка]] # [[/Приветственная фраза|Приветственная фраза]] # [[/Как задать тон общения в навыке|Как задать тон общения в навыке]] # [[/Какую информацию добавить в приветственную фразу|Какую информацию добавить в приветственную фразу]] # [[/Как направлять пользователей в навыке через вопросы|Как направлять пользователей в навыке через вопросы]] # [[/Как оформить логотип|Как оформить логотип (аватарку для каталога Навыков)]] # [[/Как выбрать правильный компонент при дизайне навыка|Как выбрать правильный компонент при дизайне навыка]] # [[/Как развернуть навык в Яндекс.Облаке|Как развернуть навык в Яндекс.Облаке]] # [[/Как изменить поведение тестовых навыков в Яндекс.Облаке|Как изменить поведение тестовых навыков в Яндекс.Облаке]] # [[/Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов|Как правильно заполнять настройки навыка в интерфейсе Яндекс.Диалогов]] # [[/Как пройти модерацию навыка для Алисы|Как пройти модерацию навыка для Алисы]] # [[/Как создавать голосовой пользовательский интерфейс|Как создавать голосовой пользовательский интерфейс]] # [[/Как связать сценарий, контент и код для навыка в единое целое|Как связать сценарий, контент и код для навыка в единое целое]] # [[/Как правильно работать с оценками и отзывами на навык|Как правильно работать с оценками и отзывами на навык]] # [[/Как создать навык без программирования|Как создать навык без программирования]] # [[/Как использовать конструктор для создания навыков Алисы Aimylogic|Как использовать конструктор для создания навыков Алисы Aimylogic]] # [[/Как обрабатывать логи в навыках|Как обрабатывать логи в навыках]] # [[/Как использовать конструктор Dialogflower для создания навыка|Как использовать конструктор Dialogflower для создания навыка]] # [[/Как улучшить ранжирование вашего навыка|Как улучшить ранжирование вашего навыка]] # [[/Как подготовить изображение для навыка|Как подготовить изображение для навыка]] # [[/Как и где хранить данные, введённые пользователем|Как и где хранить данные, введённые пользователем]] # [[/Как загрузить картинку в навык с помощью API|Как загрузить картинку в навык с помощью API]] # [[/Как правильно настроить отображение картинок|Как правильно настроить отображение картинок]] # [[/Как сделать навык с естественной речью: теория и практика на реальном примере|Как сделать навык с естественной речью: теория и практика на реальном примере]] # [[/Как работать с аналитикой|Как работать с аналитикой]] # [[/Как выиграть Премию Алисы|Как выиграть Премию Алисы]] # [[/Как писать текст для описания навыков|Как писать текст для описания навыков]] # [[/Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov|Как поднять целеориентированного бота для Алисы из библиотеки DeepPavlov]] # [[/Кэширование в навыках|Кэширование в навыках]] # [[/Как научить Алису петь|Как научить Алису петь]] # [[/Итоги 2019 года|Итоги 2019 года]] == Практический модуль: интерактивный квест (Petrozavodsk Quiz) == Дополнительный учебный модуль по разработке навыка Алисы на Python: проектирование диалога, webhook-интеграция, тестирование и развёртывание. * [[Навыки Алисы/Разработка интерактивного квеста|Разработка интерактивного квеста]] * [[Навыки Алисы/Установка и локальный запуск|Установка и локальный запуск]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс.Диалогами]] * [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)|Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] * [[Навыки Алисы/Архитектура навыка |Архитектура навыка]] * Репозиторий проекта: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game] * Навык в каталоге Яндекс.Диалогов: [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Petrozavodsk Quiz] == Литература == * == Ссылки == * [https://dialogs.yandex.ru/store Магазин Навыков] * [https://yandex.ru/alice/support/assistant/skills.html Документация по Навыкам] * [https://yandex.cloud/ru/docs/functions/tutorials/alice-skill Создание навыка Алисы] * [https://habr.com/ru/articles/565834/ Лучшие навыки Алисы и советы от их разработчиков] // Habr, 2021 [[Категория:Программирование]] [[Категория:Веб-технологии]] rl40923v9lj2qxo9ykevj91stgcbm2s Навыки Алисы/Разработка интерактивного квеста 0 30212 166048 166017 2026-04-24T17:39:55Z SemyonDudenkov 36586 /* Архитектура */ 166048 wikitext text/x-wiki Эта подстраница описывает учебный навык «Петрозаводск Quiz»: голосовую викторину о достопримечательностях Петрозаводска. == Цель навыка == Навык должен: * задавать пользователю вопросы о достопримечательностях; * проверять правильность ответа; * давать подсказки по шагам (текстовая и визуальная); * подсчитывать итоговый результат. == Пользовательский сценарий == # Пользователь запускает навык — он начинает работу без дополнительных команд. # Навык сразу задаёт первый вопрос из 5 вопросов о достопримечательностях. # После ошибки пользователя даётся первая подсказка. # После второй ошибки показывается вторая подсказка (изображение, если доступно). # После ответа на все 5 вопросов выводится счёт и предложение сыграть снова. [[File:StartQwiz.png|thumb|Скриншот 1: начало игры с приветствием навыка и первым вопросом о достопримечательности.]] [[File:Petrozavodsk-Quiz-dialog-hints2.png|thumb|Скриншот 2: текстовая подсказка и визуальная подсказка с изображением достопримечательности.]] == Компоненты проекта == ; '''Game Engine (game_engine.py)''' : Игровая логика, команды, проверка ответов, подсказки, подсчёт результата. ; '''Landmarks Data (landmarks.py)''' : База данных из достопримечательностей Петрозаводска с подсказками и источниками. ; '''Webhook Handler (alice_handler.py)''' : Принимает запросы от Яндекс.Алисы и формирует ответ навыка. ; '''Cloud Function Entry Point (cloud_function.py)''' : Точка входа для развёртывания в Yandex Cloud Functions. == Зафиксированная проблема отображения изображения == В интерфейсе навыка наблюдается дефект отображения визуальной подсказки во второй подсказке (карточка <code>BigImage</code> с изображением памятника Петру I): в карточке отображается только нижняя часть памятника, верхняя часть обрезается. [[File:Petrozavodsk Quiz BigImage crop bug Peter I hint.png|thumb|Скриншот 3: дефект отображения изображения во второй подсказке (карточка BigImage) — у памятника Петру I видна только нижняя часть изображения, верхняя часть обрезается.]] '''Предполагаемая причина''': изображение показывается в карточке типа <code>BigImage</code> с фиксированным соотношением сторон и автоматической обрезкой под контейнер клиента Алисы. '''Возможные решения''': * подготовить отдельную версию изображения для карточки (кадрировать заранее так, чтобы ключевой объект был в центре); * использовать альтернативный <code>image_id</code> с более подходящей композицией (без важного объекта у верхней границы); * в тексте второй подсказки дополнительно дать пользователю ссылку на полное изображение в Викискладе/источнике. '''Мнение''': наиболее практичный вариант для учебного проекта — заменить изображение подсказки на заранее кадрированную версию под формат карточки, так как это не требует изменения логики игры и даёт предсказуемый результат в интерфейсе. == Темы курса, отработанные на примере навыка == Проект демонстрирует следующие практические навыки и подходы: * Проектирование диалогового интерфейса для голосовых помощников; * Разбиение приложения на модули (game engine, handler, data layer); * Сохранение и передача состояния диалога между HTTP-запросами; * Реализация многоуровневой системы подсказок с ограничением попыток; * Работа с предметной областью: структурирование данных, алиасы, обработка синонимов; * Защита от ложных совпадений ответов (например, предотвращение путаницы между памятником и площадью); * Написание и запуск unit-тестов для проверки корректности логики; * Регрессионное тестирование при внесении изменений в код; * Развёртывание webhook-навыка в облачной среде (Yandex Cloud Functions); * Подготовка документации и примеров кода для учебного курса. == Упражнения == <quiz display=simple> { Для чего навыку нужна передача состояния диалога через <code>session_state</code>? | type="()" } - Чтобы хранить только настройки интерфейса пользователя - Чтобы автоматически публиковать навык в каталоге + Чтобы сохранять прогресс игры между запросами пользователя { Почему для учебного проекта выбран webhook-подход? | type="()" } - Потому что webhook работает только в локальном CLI - Потому что webhook не требует JSON-формата + Потому что платформа Яндекс.Диалоги отправляет запросы на внешний HTTP-адрес навыка { Какую практическую пользу дают автотесты при доработке навыка? | type="()" } - Нужны только для ускорения загрузки изображений - Полезны только перед публикацией в каталог + Позволяют быстро проверить, что изменения не сломали существующую логику </quiz> r90kcuxupyju8rq00pv92g65zei9pnr 166051 166048 2026-04-24T17:50:40Z SemyonDudenkov 36586 /* Темы курса, отработанные на примере навыка */ 166051 wikitext text/x-wiki Эта подстраница описывает учебный навык «Петрозаводск Quiz»: голосовую викторину о достопримечательностях Петрозаводска. == Цель навыка == Навык должен: * задавать пользователю вопросы о достопримечательностях; * проверять правильность ответа; * давать подсказки по шагам (текстовая и визуальная); * подсчитывать итоговый результат. == Пользовательский сценарий == # Пользователь запускает навык — он начинает работу без дополнительных команд. # Навык сразу задаёт первый вопрос из 5 вопросов о достопримечательностях. # После ошибки пользователя даётся первая подсказка. # После второй ошибки показывается вторая подсказка (изображение, если доступно). # После ответа на все 5 вопросов выводится счёт и предложение сыграть снова. [[File:StartQwiz.png|thumb|Скриншот 1: начало игры с приветствием навыка и первым вопросом о достопримечательности.]] [[File:Petrozavodsk-Quiz-dialog-hints2.png|thumb|Скриншот 2: текстовая подсказка и визуальная подсказка с изображением достопримечательности.]] == Компоненты проекта == ; '''Game Engine (game_engine.py)''' : Игровая логика, команды, проверка ответов, подсказки, подсчёт результата. ; '''Landmarks Data (landmarks.py)''' : База данных из достопримечательностей Петрозаводска с подсказками и источниками. ; '''Webhook Handler (alice_handler.py)''' : Принимает запросы от Яндекс.Алисы и формирует ответ навыка. ; '''Cloud Function Entry Point (cloud_function.py)''' : Точка входа для развёртывания в Yandex Cloud Functions. == Зафиксированная проблема отображения изображения == В интерфейсе навыка наблюдается дефект отображения визуальной подсказки во второй подсказке (карточка <code>BigImage</code> с изображением памятника Петру I): в карточке отображается только нижняя часть памятника, верхняя часть обрезается. [[File:Petrozavodsk Quiz BigImage crop bug Peter I hint.png|thumb|Скриншот 3: дефект отображения изображения во второй подсказке (карточка BigImage) — у памятника Петру I видна только нижняя часть изображения, верхняя часть обрезается.]] '''Предполагаемая причина''': изображение показывается в карточке типа <code>BigImage</code> с фиксированным соотношением сторон и автоматической обрезкой под контейнер клиента Алисы. '''Возможные решения''': * подготовить отдельную версию изображения для карточки (кадрировать заранее так, чтобы ключевой объект был в центре); * использовать альтернативный <code>image_id</code> с более подходящей композицией (без важного объекта у верхней границы); * в тексте второй подсказки дополнительно дать пользователю ссылку на полное изображение в Викискладе/источнике. '''Мнение''': наиболее практичный вариант для учебного проекта — заменить изображение подсказки на заранее кадрированную версию под формат карточки, так как это не требует изменения логики игры и даёт предсказуемый результат в интерфейсе. == Упражнения == <quiz display=simple> { Для чего навыку нужна передача состояния диалога через <code>session_state</code>? | type="()" } - Чтобы хранить только настройки интерфейса пользователя - Чтобы автоматически публиковать навык в каталоге + Чтобы сохранять прогресс игры между запросами пользователя { Почему для учебного проекта выбран webhook-подход? | type="()" } - Потому что webhook работает только в локальном CLI - Потому что webhook не требует JSON-формата + Потому что платформа Яндекс.Диалоги отправляет запросы на внешний HTTP-адрес навыка { Какую практическую пользу дают автотесты при доработке навыка? | type="()" } - Нужны только для ускорения загрузки изображений - Полезны только перед публикацией в каталог + Позволяют быстро проверить, что изменения не сломали существующую логику </quiz> kh5smgkbq67q4muz0ioxjgwf8m0fzr4 Навыки Алисы/Интеграция с Яндекс.Диалогами 0 30213 166052 166020 2026-04-24T17:53:38Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Интеграция с Яндекс Диалогами]] в [[Навыки Алисы/Интеграция с Яндекс.Диалогами]] 166020 wikitext text/x-wiki Эта подстраница показывает, как навык обменивается данными с платформой Яндекс.Диалоги. Когда пользователь пишет или говорит фразу, Яндекс.Диалоги отправляют HTTP-запрос (webhook) на сервер навыка. Сервер обрабатывает запрос и возвращает JSON-ответ, который Алиса озвучивает или показывает пользователю. == Минимальный JSON-запрос (payload) == Payload — это тело HTTP-запроса с данными о реплике пользователя и сессии. <syntaxhighlight lang="json"> { "request": { "original_utterance": "старт", "command": "старт" }, "session": { "new": true, "user_id": "user-123", "application": { "application_id": "app-123" } } } </syntaxhighlight> == Что делает обработчик == * читает поля <code>request</code> и <code>session</code>; * определяет пользователя; * запускает игру или продолжает текущую; * добавляет <code>session_state</code> для сохранения прогресса; * возвращает JSON формата Яндекс.Диалогов. == Формат ответа == <syntaxhighlight lang="json"> { "version": "1.0", "response": { "text": "Ответ навыка", "end_session": false, "card": { "type": "BigImage", "image_id": "12345/abcde", "title": "Вторая подсказка", "description": "Посмотри на изображение и попробуй ответить еще раз." } }, "session_state": { "in_progress": true, "score": 2, "asked_count": 3 } } </syntaxhighlight> == Проверка == Проверить webhook можно командой: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что передается в payload webhook-запроса? | type="()" } - Только URL функции в облаке - Только текст предыдущего ответа навыка + Данные о реплике пользователя и параметрах сессии { Зачем в ответ навыка добавляется <code>session_state</code>? | type="()" } - Чтобы заменять поле <code>version</code> - Чтобы отключать карточки с изображениями + Чтобы сохранить состояние игры для следующего запроса { Какую роль играет JSON-ответ навыка? | type="()" } - Он нужен только для логирования на сервере - Он используется только в локальном CLI + Он определяет, что Алиса озвучит или покажет пользователю </quiz> == Ссылки == * [https://github.com/SaKuRa5353/alice-petrozavodsk-game Репозиторий проекта на GitHub] * [https://dialogs.yandex.ru/store/skills/7edd79b2-petrozavodsk-quiz Проверка навыка в каталоге Яндекс.Диалогов] o5ok28zaaonacigfr5ptz29m88l44zr Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions) 0 30214 166054 166021 2026-04-24T17:59:10Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Yandex Cloud Functions]] в [[Навыки Алисы/Функции Яндекс.Облака]] 166021 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Yandex Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Yandex Cloud Functions''' — это платформа для развёртывания бессерверных функций в облаке Яндекса. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Yandex Cloud Functions для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> s885z3a2durmlbtzf4w8h2xessc3u06 166056 166054 2026-04-24T18:01:17Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Функции Яндекс.Облака]] в [[Навыки Алисы/Развертывание в функциях Яндекс.Облака]] 166021 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Yandex Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Yandex Cloud Functions''' — это платформа для развёртывания бессерверных функций в облаке Яндекса. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Yandex Cloud Functions для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> s885z3a2durmlbtzf4w8h2xessc3u06 166062 166056 2026-04-24T19:01:59Z SemyonDudenkov 36586 166062 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Cloud Functions в Яндекс.Облаке''' — это платформа для развёртывания бессерверных функций. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Yandex Cloud Functions для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> ksc5pczdq9i0oh96pgt5wckzf6vxof7 166063 166062 2026-04-24T19:03:51Z SemyonDudenkov 36586 /* Почему Cloud Functions */ 166063 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Cloud Functions в Яндекс.Облаке''' — это платформа для развёртывания бессерверных функций. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Cloud Functions в Яндекс.Облаке для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> e161o9szzro1owh302s1z22lnhdelkh 166064 166063 2026-04-24T19:06:35Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Развертывание в функциях Яндекс.Облака]] в [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] 166063 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Cloud Functions в Яндекс.Облаке''' — это платформа для развёртывания бессерверных функций. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Cloud Functions в Яндекс.Облаке для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> e161o9szzro1owh302s1z22lnhdelkh 166070 166064 2026-04-24T19:21:42Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] в [[Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] 166063 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Cloud Functions в Яндекс.Облаке''' — это платформа для развёртывания бессерверных функций. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Cloud Functions в Яндекс.Облаке для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> e161o9szzro1owh302s1z22lnhdelkh 166076 166070 2026-04-24T19:35:49Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] в [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] поверх перенаправления 166063 wikitext text/x-wiki Эта подстраница описывает, как развернуть webhook навыка в Cloud Functions и настроить интеграцию с Яндекс.Диалогами. '''Cloud Functions в Яндекс.Облаке''' — это платформа для развёртывания бессерверных функций. В контексте этого проекта облачная функция получает webhook-запросы от платформы Яндекс.Диалоги, передаёт их в обработчик навыка и возвращает JSON-ответ. == Почему Cloud Functions == По сравнению с альтернативами (VPS с постоянно работающим приложением, PaaS-хостинг с риском «засыпания» бесплатных тарифов) Cloud Functions в Яндекс.Облаке для учебного навыка удобен тем, что: * нет необходимости поддерживать постоянно запущенный сервер; * нет проблем со «sleep»-режимом бесплатного веб-хостинга; * модель оплаты и эксплуатации подходит для нерегулярной учебной нагрузки; * новую версию можно быстро опубликовать из zip-архива. == Точка входа == Для функции используется: <syntaxhighlight lang="python"> def handler(event, context): ... </syntaxhighlight> Entry point в настройках функции: <code>cloud_function.handler</code>. == Шаги развёртывания == # Откройте консоль Yandex Cloud: [https://console.cloud.yandex.ru/functions/ console.cloud.yandex.ru/functions/]. # Создайте новую функцию в разделе «Cloud Functions». # Загрузите исходный код навыка архивом <code>alice-ycf-deploy.zip</code> (находится в корне репозитория). # Укажите точку входа (entry point): <code>cloud_function.handler</code>. # Создайте HTTP-trigger для функции. # Скопируйте публичный URL функции и внесите его как webhook-адрес в настройки навыка в Яндекс.Диалогах. == Проверка == После публикации проверьте: <syntaxhighlight lang="bash"> python verify_webhook.py https://ваш-url </syntaxhighlight> == Упражнения == <quiz display=simple> { Что такое webhook в контексте навыка Алисы? | type="()" } - Локальный файл с настройками навыка - Команда для запуска тестов + Публичный HTTP-адрес, который принимает запросы от Яндекс.Диалогов { Какой entry point указывается для данного проекта? | type="()" } - <code>app.webhook</code> - <code>alice_handler.main</code> + <code>cloud_function.handler</code> { Почему serverless-подход удобен для учебного навыка? | type="()" } - Потому что требует постоянной ручной поддержки сервера - Потому что исключает HTTP-trigger + Потому что не требует постоянно работающего сервера и удобен для нерегулярной нагрузки </quiz> e161o9szzro1owh302s1z22lnhdelkh Навыки Алисы/Установка и локальный запуск 0 30215 166067 166022 2026-04-24T19:16:20Z SemyonDudenkov 36586 /* Другие материалы курса */ 166067 wikitext text/x-wiki Эта подстраница описывает локальную установку и запуск учебного проекта «Петрозаводск Quiz» (голосовой навык Алисы). == Ссылка на исходный код == * Репозиторий проекта на GitHub: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game]. == Другие материалы курса == * [[Навыки Алисы/Разработка интерактивного квеста|Обзор проекта Петрозаводск Quiz]] * [[Навыки Алисы/Интеграция с Яндекс Диалогами|Интеграция с Яндекс Диалогами]] * [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)|Развёртывание в облаке]] * [[Навыки Алисы/Архитектура навыка|Архитектура навыка]] == Требования == Python 3.11+, Git и доступ к веб-браузеру/интернету (только для работы с GitHub, Yandex Cloud и проверки публичного webhook). == Локальный запуск == * Скачайте репозиторий в локальную папку: <syntaxhighlight lang="bash"> git clone https://github.com/SaKuRa5353/alice-petrozavodsk-game.git cd alice-petrozavodsk-game </syntaxhighlight> * Создайте виртуальное окружение: <syntaxhighlight lang="bash"> python -m venv .venv source .venv/bin/activate </syntaxhighlight> * Установите зависимости: <syntaxhighlight lang="bash"> pip install -r requirements.txt </syntaxhighlight> * Запустите тесты: <syntaxhighlight lang="bash"> python -m unittest discover -s tests -v </syntaxhighlight> * Запустите демонстрационный CLI-режим: <syntaxhighlight lang="bash"> python demo_cli.py </syntaxhighlight> == Команды == Ниже перечислены команды, которые пользователь вводит в диалоге навыка (в интерфейсе Яндекс.Диалогов, в чате с Алисой или в локальном CLI-демо). * <code>старт</code> — начать игру * <code>помощь</code> — показать правила * <code>сдаюсь</code> — показать правильный ответ * <code>заново</code> — начать заново == Проверка перед публикацией == * Прогоните тесты: <code>python -m unittest discover -s tests -p 'test_*.py'</code> * Пересоберите архив для Cloud Functions (из корня репозитория): <syntaxhighlight lang="bash"> zip -r alice-ycf-deploy.zip cloud_function.py alice_handler.py game_engine.py landmarks.py requirements.txt </syntaxhighlight> * Загрузите архив в Yandex Cloud: Cloud Functions -> нужная функция -> Редактор кода/Источник -> ZIP-архив -> Загрузить файл <code>alice-ycf-deploy.zip</code>. * Убедитесь, что публичный webhook отвечает кодом 200. == Упражнения == <quiz display=simple> { Для чего создается виртуальное окружение Python? | type="()" } - Чтобы автоматически сгенерировать webhook URL - Чтобы заменить систему управления версиями Git + Чтобы изолировать зависимости проекта от системного Python { Какой командой запускаются unit-тесты проекта? | type="()" } - <code>python verify_webhook.py https://ваш-url</code> - <code>python demo_cli.py</code> + <code>python -m unittest discover -s tests -v</code> { Где можно проверить команды навыка до публикации? | type="()" } - Только в каталоге Яндекс.Диалогов - Только после создания HTTP-trigger + В локальном CLI-режиме и в интерфейсе Яндекс.Диалогов </quiz> 3um3tlgjoxafp9divu0xnrwz3o5u141 166069 166067 2026-04-24T19:20:21Z SemyonDudenkov 36586 166069 wikitext text/x-wiki Эта подстраница описывает локальную установку и запуск учебного проекта «Петрозаводск Quiz» (голосовой навык Алисы). == Ссылка на исходный код == * Репозиторий проекта на GitHub: [https://github.com/SaKuRa5353/alice-petrozavodsk-game alice-petrozavodsk-game]. == Требования == Python 3.11+, Git и доступ к веб-браузеру/интернету (только для работы с GitHub, Yandex Cloud и проверки публичного webhook). == Локальный запуск == * Скачайте репозиторий в локальную папку: <syntaxhighlight lang="bash"> git clone https://github.com/SaKuRa5353/alice-petrozavodsk-game.git cd alice-petrozavodsk-game </syntaxhighlight> * Создайте виртуальное окружение: <syntaxhighlight lang="bash"> python -m venv .venv source .venv/bin/activate </syntaxhighlight> * Установите зависимости: <syntaxhighlight lang="bash"> pip install -r requirements.txt </syntaxhighlight> * Запустите тесты: <syntaxhighlight lang="bash"> python -m unittest discover -s tests -v </syntaxhighlight> * Запустите демонстрационный CLI-режим: <syntaxhighlight lang="bash"> python demo_cli.py </syntaxhighlight> == Команды == Ниже перечислены команды, которые пользователь вводит в диалоге навыка (в интерфейсе Яндекс.Диалогов, в чате с Алисой или в локальном CLI-демо). * <code>старт</code> — начать игру * <code>помощь</code> — показать правила * <code>сдаюсь</code> — показать правильный ответ * <code>заново</code> — начать заново == Проверка перед публикацией == * Прогоните тесты: <code>python -m unittest discover -s tests -p 'test_*.py'</code> * Пересоберите архив для Cloud Functions (из корня репозитория): <syntaxhighlight lang="bash"> zip -r alice-ycf-deploy.zip cloud_function.py alice_handler.py game_engine.py landmarks.py requirements.txt </syntaxhighlight> * Загрузите архив в Yandex Cloud: Cloud Functions -> нужная функция -> Редактор кода/Источник -> ZIP-архив -> Загрузить файл <code>alice-ycf-deploy.zip</code>. * Убедитесь, что публичный webhook отвечает кодом 200. == Упражнения == <quiz display=simple> { Для чего создается виртуальное окружение Python? | type="()" } - Чтобы автоматически сгенерировать webhook URL - Чтобы заменить систему управления версиями Git + Чтобы изолировать зависимости проекта от системного Python { Какой командой запускаются unit-тесты проекта? | type="()" } - <code>python verify_webhook.py https://ваш-url</code> - <code>python demo_cli.py</code> + <code>python -m unittest discover -s tests -v</code> { Где можно проверить команды навыка до публикации? | type="()" } - Только в каталоге Яндекс.Диалогов - Только после создания HTTP-trigger + В локальном CLI-режиме и в интерфейсе Яндекс.Диалогов </quiz> 78h2a6vubzb171oo04791k7fx70acl6 Навыки Алисы/Архитектура навыка 0 30246 166049 166016 2026-04-24T17:43:40Z SemyonDudenkov 36586 /* Другие материалы курса */ 166049 wikitext text/x-wiki == Навыки Алисы/Архитектура навыка == [[File:Petrozavodsk Quiz architecture diagram.png|none|thumb|1200px|Диаграмма архитектуры учебного навыка Алисы «Petrozavodsk Quiz»: взаимодействие пользователя, Яндекс.Диалогов, webhook-обработчика, игрового движка, данных и session_state]] {{clear}} == Mermaid-код == <pre> flowchart LR U[Пользователь] subgraph A[Архитектура проекта] direction TB IN[Входящий запрос webhook] CF[Yandex Cloud Functions: cloud_function.handler] H[Webhook-обработчик: alice_handler.handler] G[Игровой движок: game_engine.py] L[Данные достопримечательностей: landmarks.py] S[session_state: параметры сессии, не БД] OUT[Ответ навыка] IN -->|вопрос пользователя и текущее состояние| CF CF -->|вызов handler| H H <-->|команда пользователя и результат проверки| G G -->|чтение вопросов и подсказок| L H -->|обновляет состояние| S H -->|формирует JSON-ответ| OUT S -->|добавляется в поле session_state| OUT end U -->|вопрос пользователя| IN OUT -->|ответ навыка| U </pre> == Пояснение == * Пользователь взаимодействует с навыком через Алису. * Внутри блока «Алиса / Яндекс.Диалоги» показаны программные части навыка. * Обработчик <code>alice_handler.py</code> передает ввод в <code>game_engine.py</code>. * Данные вопросов и подсказок берутся из <code>landmarks.py</code>. * Состояние игры сохраняется в <code>session_state</code> и передается в следующий запрос. == Что добавить после согласования == * Экспорт схемы в PNG/SVG. * Загрузка файла в Викисклад. * Вставка итоговой иллюстрации в страницу курса. == Упражнения == <quiz display=simple> { Что означает "покрывающий" блок «Алиса / Яндекс.Диалоги» на диаграмме? | type="()" } - Что это только внешний заголовок без связи с компонентами - Что внутри находятся только данные <code>landmarks.py</code> + Что внутри этого контура расположены и взаимодействуют все основные компоненты навыка { Какой компонент отвечает за обработку входящих webhook-запросов? | type="()" } - <code>landmarks.py</code> - <code>game_engine.py</code> + <code>alice_handler.py</code> { Зачем нужен <code>session_state</code> в архитектуре навыка? | type="()" } - Чтобы хранить изображения для карточек - Чтобы определять формат Mermaid-диаграммы + Чтобы передавать состояние диалога между последовательными запросами пользователя </quiz> qxf01a8estqo5k5eb6bzeuwveizvuqw 166050 166049 2026-04-24T17:48:10Z SemyonDudenkov 36586 166050 wikitext text/x-wiki == Навыки Алисы/Архитектура навыка == [[File:Petrozavodsk Quiz architecture diagram.png|none|thumb|1200px|Диаграмма архитектуры учебного навыка Алисы «Petrozavodsk Quiz»: взаимодействие пользователя, Яндекс.Диалогов, webhook-обработчика, игрового движка, данных и session_state]] {{clear}} == Пояснение == * Пользователь взаимодействует с навыком через Алису. * Внутри блока «Алиса / Яндекс.Диалоги» показаны программные части навыка. * Обработчик <code>alice_handler.py</code> передает ввод в <code>game_engine.py</code>. * Данные вопросов и подсказок берутся из <code>landmarks.py</code>. * Состояние игры сохраняется в <code>session_state</code> и передается в следующий запрос. == Mermaid-код == Ниже приведён код диаграммы в формате Mermaid. Это текстовое описание схемы: его можно вставить в Mermaid-редактор или в страницу, где такой код автоматически превращается в рисунок. Диаграмма показывает, из каких частей состоит навык и как проходит запрос пользователя. <pre> flowchart LR U[Пользователь] subgraph A[Архитектура проекта] direction TB IN[Входящий запрос webhook] CF[Yandex Cloud Functions: cloud_function.handler] H[Webhook-обработчик: alice_handler.handler] G[Игровой движок: game_engine.py] L[Данные достопримечательностей: landmarks.py] S[session_state: параметры сессии, не БД] OUT[Ответ навыка] IN -->|вопрос пользователя и текущее состояние| CF CF -->|вызов handler| H H <-->|команда пользователя и результат проверки| G G -->|чтение вопросов и подсказок| L H -->|обновляет состояние| S H -->|формирует JSON-ответ| OUT S -->|добавляется в поле session_state| OUT end U -->|вопрос пользователя| IN OUT -->|ответ навыка| U </pre> == Упражнения == <quiz display=simple> { Что означает "покрывающий" блок «Алиса / Яндекс.Диалоги» на диаграмме? | type="()" } - Что это только внешний заголовок без связи с компонентами - Что внутри находятся только данные <code>landmarks.py</code> + Что внутри этого контура расположены и взаимодействуют все основные компоненты навыка { Какой компонент отвечает за обработку входящих webhook-запросов? | type="()" } - <code>landmarks.py</code> - <code>game_engine.py</code> + <code>alice_handler.py</code> { Зачем нужен <code>session_state</code> в архитектуре навыка? | type="()" } - Чтобы хранить изображения для карточек - Чтобы определять формат Mermaid-диаграммы + Чтобы передавать состояние диалога между последовательными запросами пользователя </quiz> olv6gsee1e2a12xc9q142q4w4o33pwf 166059 166050 2026-04-24T18:07:26Z SemyonDudenkov 36586 166059 wikitext text/x-wiki [[File:Petrozavodsk Quiz architecture diagram.png|none|thumb|1200px|Диаграмма архитектуры учебного навыка Алисы «Petrozavodsk Quiz»: взаимодействие пользователя, Яндекс.Диалогов, webhook-обработчика, игрового движка, данных и session_state]] {{clear}} == Пояснение == * Пользователь взаимодействует с навыком через Алису. * Внутри блока «Алиса / Яндекс.Диалоги» показаны программные части навыка. * Обработчик <code>alice_handler.py</code> передает ввод в <code>game_engine.py</code>. * Данные вопросов и подсказок берутся из <code>landmarks.py</code>. * Состояние игры сохраняется в <code>session_state</code> и передается в следующий запрос. == Mermaid-код == Ниже приведён код диаграммы в формате Mermaid. Это текстовое описание схемы: его можно вставить в Mermaid-редактор или в страницу, где такой код автоматически превращается в рисунок. Диаграмма показывает, из каких частей состоит навык и как проходит запрос пользователя. <pre> flowchart LR U[Пользователь] subgraph A[Архитектура проекта] direction TB IN[Входящий запрос webhook] CF[Yandex Cloud Functions: cloud_function.handler] H[Webhook-обработчик: alice_handler.handler] G[Игровой движок: game_engine.py] L[Данные достопримечательностей: landmarks.py] S[session_state: параметры сессии, не БД] OUT[Ответ навыка] IN -->|вопрос пользователя и текущее состояние| CF CF -->|вызов handler| H H <-->|команда пользователя и результат проверки| G G -->|чтение вопросов и подсказок| L H -->|обновляет состояние| S H -->|формирует JSON-ответ| OUT S -->|добавляется в поле session_state| OUT end U -->|вопрос пользователя| IN OUT -->|ответ навыка| U </pre> == Упражнения == <quiz display=simple> { Что означает "покрывающий" блок «Алиса / Яндекс.Диалоги» на диаграмме? | type="()" } - Что это только внешний заголовок без связи с компонентами - Что внутри находятся только данные <code>landmarks.py</code> + Что внутри этого контура расположены и взаимодействуют все основные компоненты навыка { Какой компонент отвечает за обработку входящих webhook-запросов? | type="()" } - <code>landmarks.py</code> - <code>game_engine.py</code> + <code>alice_handler.py</code> { Зачем нужен <code>session_state</code> в архитектуре навыка? | type="()" } - Чтобы хранить изображения для карточек - Чтобы определять формат Mermaid-диаграммы + Чтобы передавать состояние диалога между последовательными запросами пользователя </quiz> d4g2tvksvmuq2vakw9gfhko26ycuipp 166060 166059 2026-04-24T18:40:17Z SemyonDudenkov 36586 166060 wikitext text/x-wiki [[File:Petrozavodsk Quiz architecture diagram.png|none|thumb|1200px|Диаграмма архитектуры учебного навыка Алисы «Petrozavodsk Quiz»: взаимодействие пользователя, Яндекс.Диалогов, webhook-обработчика, игрового движка, данных и session_state]] {{clear}} == Пояснение == * Пользователь взаимодействует с навыком через Алису. * Внутри блока «Алиса / Яндекс.Диалоги» показаны программные части навыка. * Обработчик <code>alice_handler.py</code> передает ввод в <code>game_engine.py</code>. * Данные вопросов и подсказок берутся из <code>landmarks.py</code>. * Состояние игры сохраняется в <code>session_state</code> и передается в следующий запрос. == Упражнения == <quiz display=simple> { Что означает "покрывающий" блок «Алиса / Яндекс.Диалоги» на диаграмме? | type="()" } - Что это только внешний заголовок без связи с компонентами - Что внутри находятся только данные <code>landmarks.py</code> + Что внутри этого контура расположены и взаимодействуют все основные компоненты навыка { Какой компонент отвечает за обработку входящих webhook-запросов? | type="()" } - <code>landmarks.py</code> - <code>game_engine.py</code> + <code>alice_handler.py</code> { Зачем нужен <code>session_state</code> в архитектуре навыка? | type="()" } - Чтобы хранить изображения для карточек - Чтобы определять формат Mermaid-диаграммы + Чтобы передавать состояние диалога между последовательными запросами пользователя </quiz> 9okd07rh8zm11gdwjubli8uuwqq74xp 166061 166060 2026-04-24T18:41:51Z SemyonDudenkov 36586 166061 wikitext text/x-wiki [[File:Petrozavodsk_Quiz_architecture_diagram.png|none|thumb|1200px|Диаграмма архитектуры учебного навыка Алисы «Petrozavodsk Quiz»: взаимодействие пользователя, Яндекс.Диалогов, webhook-обработчика, игрового движка, данных и session_state]] {{clear}} == Пояснение == * Пользователь взаимодействует с навыком через Алису. * Внутри блока «Алиса / Яндекс.Диалоги» показаны программные части навыка. * Обработчик <code>alice_handler.py</code> передает ввод в <code>game_engine.py</code>. * Данные вопросов и подсказок берутся из <code>landmarks.py</code>. * Состояние игры сохраняется в <code>session_state</code> и передается в следующий запрос. == Упражнения == <quiz display=simple> { Что означает "покрывающий" блок «Алиса / Яндекс.Диалоги» на диаграмме? | type="()" } - Что это только внешний заголовок без связи с компонентами - Что внутри находятся только данные <code>landmarks.py</code> + Что внутри этого контура расположены и взаимодействуют все основные компоненты навыка { Какой компонент отвечает за обработку входящих webhook-запросов? | type="()" } - <code>landmarks.py</code> - <code>game_engine.py</code> + <code>alice_handler.py</code> { Зачем нужен <code>session_state</code> в архитектуре навыка? | type="()" } - Чтобы хранить изображения для карточек - Чтобы определять формат Mermaid-диаграммы + Чтобы передавать состояние диалога между последовательными запросами пользователя </quiz> aar4edcavv3x266z3gs2i3cstgig172 Навыки Алисы/Интеграция с Яндекс Диалогами 0 30251 166053 2026-04-24T17:53:38Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Интеграция с Яндекс Диалогами]] в [[Навыки Алисы/Интеграция с Яндекс.Диалогами]] 166053 wikitext text/x-wiki #перенаправление [[Навыки Алисы/Интеграция с Яндекс.Диалогами]] b14r4pl5npffqak5pftt8rdzhjn8wfn Навыки Алисы/Yandex Cloud Functions 0 30252 166055 2026-04-24T17:59:10Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Yandex Cloud Functions]] в [[Навыки Алисы/Функции Яндекс.Облака]] 166055 wikitext text/x-wiki #перенаправление [[Навыки Алисы/Функции Яндекс.Облака]] 52bu8ytcfnxx864jnvzlgr6gxw5kskq Навыки Алисы/Функции Яндекс.Облака 0 30253 166057 2026-04-24T18:01:17Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Функции Яндекс.Облака]] в [[Навыки Алисы/Развертывание в функциях Яндекс.Облака]] 166057 wikitext text/x-wiki #перенаправление [[Навыки Алисы/Развертывание в функциях Яндекс.Облака]] 3padmkcnvx2sy05gbmmaaikmcdq3vh3 Навыки Алисы/Развертывание в функциях Яндекс.Облака 0 30254 166065 2026-04-24T19:06:35Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Навыки Алисы/Развертывание в функциях Яндекс.Облака]] в [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] 166065 wikitext text/x-wiki #перенаправление [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] sqih42241fkjsabll13wyv4j2r3nh75 Развёртывание навыка в Яндекс.Облаке (Cloud Functions) 0 30256 166077 2026-04-24T19:35:49Z SemyonDudenkov 36586 SemyonDudenkov переименовал страницу [[Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] в [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] поверх перенаправления 166077 wikitext text/x-wiki #перенаправление [[Навыки Алисы/Развёртывание навыка в Яндекс.Облаке (Cloud Functions)]] sqih42241fkjsabll13wyv4j2r3nh75