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

41232c28c57862ab389cd76d2821b85e.jpg

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

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

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

Что такое Jmix 

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

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

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

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

ed22f994fb78ca61fb65c6c353766fb5.jpg

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

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

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

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

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

1ce51981c496c6567f6bc8d2aeeee119.jpeg

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

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

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

 А что внутри?  

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

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

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

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

А еще дальше?  

d94ed2a75d93d6afa2dd0697bd82171e.jpg

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

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

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

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

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

© Habrahabr.ru