Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать

в 15:38, , рубрики: ai assistants, java, Jmix, llm, документация, помощник
Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать - 1

"Мем смешной, ситуация страшная"

Ситуация на меме на самом деле не страшная, но имеет место быть. Большие языковые модели набирают популярность, и компании все чаще смотрят в сторону их использования. Haulmont не стал исключением. 

В этой статье я хочу рассказать вам о нашем новом продукте – Jmix AI Assistant. Пока не понятно, кто увидит эту статью, и будет ли у этих замечательных людей базовое представление о фреймворке Jmix, так что с вашего позволения начну с его краткого описания. 

Что такое Jmix 

Jmix – высокоуровневый фреймворк для создания корпоративных веб-приложений, который ускоряет разработку благодаря готовым компонентам и инструментам, повышая эффективность и облегчая работу разработчиков. Jmix наиболее подходит для создания приложений со сложной моделью данных и богатым пользовательским интерфейсом. Это полноценный фреймворк, который предоставляет поддержку как для создания бэкенда, так и пользовательского интерфейса вашего приложения.

Jmix основан на Spring Boot, который является де-факто стандартом для создания корпоративных Java веб-приложений. Это означает, что вы можете использовать множество сторонних библиотек и фреймворков с минимальной конфигурацией, в дополнение к функциональности, предоставляемой Jmix. 

Jmix Studio, в свою очередь, – это плагин для IntelliJ IDEA, который помогает на всех этапах разработки приложения: 

  • создание и настройка проекта, 

  • определение модели данных, 

  • генерация скриптов миграции базы данных, 

  • разработка пользовательских интерфейсов в визуальном редакторе. 

Он предоставляет продвинутую навигацию, автоматическое дополнение кода и инспекции, специфичные для проектов Jmix. 

Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать - 2

В целом, Jmix – полезный и богатый функциональностью продукт. Его богатство является его силой, и одновременно его слабостью: порог вхождения в технологию может оказаться довольно высоким. Одна из основных целей создания Jmix AI Assistant – снизить этот порог. Ассистент прямо сейчас может давать ответы на разнообразные вопросы, основанные на документации и других источниках, начиная с уровня «что ты такое?» и заканчивая вопросами, связанными со спецификой работы платформы и дополнений, причём на разных языках.

Откуда мы начали 

В начале работы над ассистентом мы поняли, что его развитие напрямую зависит от наших пользователей, от тех, кто работает с платформой Jmix. На этом этапе нам удалось собрать порядка 300 примеров запросов к боту и ответов от него. Мы попросили наших альфа-тестеров оценить ответы по шкале от 1 до 10, и результаты обнадеживают: ответы с оценкой от 7 до 10 составляют около 80% от всех ответов. Все, что в оставшейся части, – наши самые важные данные. С их помощью мы способны понять, где наш ассистент отвечает плохо, не отвечает совсем или начинает галлюцинировать. Обработав указанные данные, а также пометив правильные ответы как справочные, мы хотим повысить качество работы нашего ассистента. Справочные ответы также планируется использовать для дообучения ассистента в будущем. 

Стартовая структура 

Бот и приложение для обратной связи находились в разных местах, по двум несвязанным адресам. Мы создавали наших пользователей в приложении для обратной связи статически, возможности внешней регистрации на альфа-тестирование не было. Кроме того, пользователю приходилось перемещаться между вкладками браузера и переносить запросы и ответы в приложение обратной связи вручную.  

Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать - 3

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

Что есть сейчас 

AI Assistant интегрирован в приложение, и основная функция приложения теперь – взаимодействие с ассистентом. Мы добавили возможность внешней регистрации, и теперь будем просить наших пользователей просто задавать боту вопросы, а после получения ответа – поставить оценку. Никаких больше копи-паст (но все еще можно на Stack Overflow). Основная цель данного этапа – сбор статистики запросов и ответов, для дальнейшего тонкого тюнинга ассистента. 

 А что внутри? 

Само приложение для работы с ассистентом написано на Jmix, и интерфейс на данный момент довольно лаконичный - можно задать вопрос и получить на него ответ, а ещё посмотреть статистику своих запросов. Более подробное описание внутреннего устройства можно найти в статье моего коллеги @RomanOdobesku по ссылке

Обязательно почитайте, если вам интересны подходы к работе с LLM.

Что будет дальше 

Сначала мы сделаем наш бот очень крутым в области работы с документацией. Цель – максимально упростить вход в технологию Jmix. От простого к сложному, в виде диалога, с объяснением особенностей и помощью в понимании кода. На этой стадии доступ к ассистенту будет бесплатным, с ограничением в 100 запросов от пользователя в месяц (бот бесплатный, а токены Chat GPT, к сожалению, не совсем). 

А еще дальше? 

Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать - 4

А потом рассмотрим возможности его интеграции в Студию. В планах – научить его создавать все, что может понадобиться разработчику в приложении Jmix, с помощью ввода простого запроса, например: «сделай экраны для этой сущности», «добавь слушатели для кнопки и реализуй их логику», «добавь компоненты в экран» и так далее. Это все доступно в студии прямо сейчас, но приходится нажимать на кнопки. Будем ли мы использовать голосовой ввод команд для бота? Возможно. Представьте себе функциональность, когда разработчик просто говорит в микрофон порядок действий, и сущности, экраны, записи в базе данных – все остальное просто появляется в приложении. 

Поскольку студия умеет делать очень много полезных вещей с использованием собственных компонентов, такая интеграция с AI Assistant не только не выглядит невозможной, но и напрашивается сама собой. Результат обещает быть впечатляющим. 

Зачем вся эта статья? 

Воспринимайте эту статью как призыв к действию. Сейчас мы делаем нашего ассистента доступным для всех бесплатно. Кстати, и сама студия доступна для небольших проектов тоже бесплатно. Вы можете просто взять и начать им пользоваться, изучая платформу и ее возможности. У нас уже есть 1000+ записей взаимодействия с ассистентом, а в наших планах – многие тысячи. Таким образом, вместе с нашим сообществом мы сделаем Jmix еще круче, чем сейчас.

Присоединяйтесь, будет интересно!

Автор: Dvasch

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js