Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JAICF + Aimybox

JAICF + Aimybox

JAICF + Aimybox presentation

9d8f76be6f99bbd04cf2cb7ecb1bd289?s=128

Vladislav Metelyagin

February 25, 2021
Tweet

Transcript

  1. Как создать ассистента и внедрить его в мобильное приложение JAICF

    + Aimybox
  2. Conversational UI • Conversational UI - интерфейс, в котором взаимодействие

    с системой осуществляется в форме диалога. • Conversational UI для бизнеса - это про оптимизации, KPI, вовлечения пользователей, и так далее. Нас это сегодня не интересует. Но различные диалоговые агенты там используется крайне успешно. • Conversational UI для людей - ассистенты, помощники. Их цель - помогать решить задачу быстрее и проще. Conversational UI: Где и какой?
  3. Conversational UI для людей. • Когда людям удобнее пользоваться голосовыми

    ассистентами: • Когда руки заняты или нет возможности взять девайс* • Когда голосом проще. • Когда голосом веселее.
  4. Conversational UI для людей. • Form-filling - можно один раз

    сказать/написать, и приложение достанет нужные сущности из запроса. • Навигация приложении с перегруженным UI - Госуслуги • Skill Discovery && Marketplace - новые способы продвижения ваших сервисов. • Профессиональные приложения - голосовое ассистирование при выполнении задач. • Глобальные тренды - все льют деньги, приучают пользователей к голосовым интерфейсам. Как stackoverflow заменил поход в сорцы, так и голосовой UX может заменить кнопочки и формочки. • Голосовой UX все чаще будет становиться конкурентным преимуществом.
  5. Conversational UI для людей. • Не нативная среда исполнения: •

    Python • Javascript/typescript • server-only + java-sdk • Не имеют обвязок под android: • Serverless устроить совсем сложно • Придется убить достаточное количество времени для написания обвязки Различные решения
  6. • Модерация скиллов занимает кучу времени • Ограничения по контенту

    • Ограничения сценария ассистента • Исходный код - черный ящик • Нельзя кастомизировать UI под ваш бренд • Нельзя поменять голос/распознавание У всех платформ (google assistant, Alice) есть ограничения. А где-то вообще нет платформы (IOS)
  7. A better solution.

  8. DSL: С чего все начиналось

  9. DSL в итоговом виде - JAICF! Just AI Conversational Framework

    • Фреймворк Enterprise-уровня с открытым исходным кодом для написания голосовых ассистентов и чатботов. • Перенес проверенную годами структуру DSL и стейтмашину. • Поддерживает интеграции с множеством каналов и NLU провайдеров. • Написан на лучшем языке (*как минимум для JVM) - на Kotlin. https://github.com/just-ai/jaicf-kotlin
  10. Type-safe builders + @DslMarker

  11. JAICF: Scenario DSL

  12. JAICF: Scenario DSL - ключевые компоненты • state - контекстный

    обработчик для фразы пользователя • activators - правила перехода • action - действие бота • reactions - реакции на запрос пользователя
  13. Dive into DSL

  14. JAICF: Scenario DSL - State Machine • Концепция - Hierarchical

    Finite State Machine (HFSM) + переход на контекст выше, если в текущем контексте переходы невозможны. • На этапе написания сценария - дерево.
  15. JAICF: Активаторы activators - правила перехода в стейт

  16. JAICF: Реакции и мультиканальность reactions - методы, чтобы ответить пользователю

  17. JAICF: Реакции и мультиканальность reactions дают возможность использовать нативное api

    канала
  18. JAICF: context - универсальное хранилище данных • context.client - персистентное

    хранилище клиентских данных • context.session - хранилище клиентских данных в рамках сессии • context.temp - временное хранилище MONGO MAPDB ALICE AWS
  19. Features

  20. JAICF: Features — testing

  21. JAICF: Features — hooks

  22. JAICF: Features — JAICP • Каналы: • Телефония • Встраиваемые

    виджеты • Чат-АПИ • Операторские каналы и лайвчаты • Аналитика - хранение всех диалогов бота. Поддерживается обфускация данных на стороне клиента. • Один токен, который позволяет убрать из приложения все креды авторизации к каналам, с которым работает и CAILA NLU, и Аналитика. • Лонг-поллинг соединение ко всем каналам. JAICP - платформа от JustAI, с которой интегрируется фреймворк.
  23. None
  24. JAICF: Суммируем • Полноценный язык программирования Kotlin • Огромная база

    библиотек и фреймворков из JVM экосистемы. • Дебажится и запускается на локальном ПК. • Самая продвинутая IDE от JetBrains. • Не зависит от JAICP, но тесно с ней интегрируется. • Не ограничивает функционал каналов. • Обладает открытыми исходниками и расширяемой архитектурой.
  25. Aimybox — AI My Box

  26. Aimybox — AI My Box Aimybox • app.aimybox.com - консоль

    управления проектами: • настройка навыков • маркетплейс навыков • Aimybox-android-sdk / aimybox-ios-sdk • Aimybox-android-assistant / aimybox-ios-assistant
  27. Aimybox — AI My Box

  28. Aimybox — AI My Box

  29. Aimybox — AI My Box Components • ASR/TTS SpeechKits •

    Google • Yandex • Google-cloud • Bot/NLU APIs • Dialogflow • Rasa • JAICF • VoiceTrigger • Kaldi • UI fragment
  30. Aimybox — AI My Box

  31. Лайв демо Action time!

  32. Мобильные ассистенты: что в итоге? • Разработать своего ассистента -

    легко. • Не нужно ограничиваться рамками вендоров. • Создание базового ассистента не требует гигантского RND-бюджета.
  33. Как начать пользоваться? • QuickStart guide: https://github.com/just-ai/jaicf- kotlin/wiki/Quick-Start • Ready

    to use template JAICF-Only: https:// github.com/just-ai/jaicf-jaicp-caila-template • Ready to use android template: https://github.com/ just-ai/jaicf-android-template • Our community: https://jaicf.slack.com