AI Tools
Дополнение AI Tools добавляет в приложение Jmix ассистента на базе большой языковой модели (LLM). Оно предоставляет готовый UI чата, в котором пользователи задают вопросы на естественном языке, а ассистент отвечает на них, вызывая инструменты. Дополнение включает предопределенные инструменты для приложений Jmix и позволяет добавлять собственные.
Дополнение построено на основе Spring AI. Оно не включает конкретного провайдера модели. Вместо этого вы выбираете и настраиваете модель Spring AI, например OpenAI, Anthropic, Azure OpenAI или Ollama, а дополнение использует ее через стандартный Spring AI ChatClient.
Обзор
Дополнение предоставляет три группы возможностей:
-
Предопределенные инструменты. Дополнение включает готовые инструменты, которые может вызывать ассистент. Текущая группа, инструменты Data Load, позволяет ассистенту анализировать доступные сущности и их атрибуты, а затем генерировать, валидировать и выполнять запрос JPQL только для чтения, чтобы загрузить запрошенные данные. См. Инструменты.
-
Расширяемый реестр инструментов. Любой Spring-бин может добавить собственные инструменты, а предопределенные инструменты можно переопределить.
AiToolRegistryсобирает все инструменты приложения. См. Пользовательские инструменты и реестр. -
UI чата. Готовые экраны и переиспользуемые фрагменты позволяют встроить в приложение полноценный чат, включая стартовый экран чатов с историей чатов и экран отдельного чата. История чатов сохраняется. См. Пользовательский интерфейс.
Кроме того, ассистента можно использовать программно из собственных бинов без UI.
Структура дополнения
Дополнение разделено на слои, поэтому вы можете подключить только то, что нужно:
| Стартер | Описание |
|---|---|
|
Базовый слой: реестр инструментов, предопределенные инструменты и программный API ассистента. Не содержит UI и механизма сохранения данных. |
|
Слой Flow UI: экраны чата, фрагменты и роль безопасности. Сам по себе предоставляет оболочку UI, но сервисы чата остаются заглушками без функциональности. |
|
Слой сохранения данных: хранит чаты и сообщения в базе данных и предоставляет рабочие реализации сервисов чата. |
Стартеры зависят друг от друга: jmix-aitools-flowui-data-starter → jmix-aitools-flowui-starter → jmix-aitools-starter.
Установка
Для автоматической установки через Jmix Marketplace следуйте инструкциям в разделе Дополнения.
Для ручной установки добавьте следующие зависимости в build.gradle:
implementation 'io.jmix.aitools:jmix-aitools-starter'
implementation 'io.jmix.aitools:jmix-aitools-flowui-starter'
implementation 'io.jmix.aitools:jmix-aitools-flowui-data-starter'
Дополнению также требуется настроенная модель Spring AI. Полная настройка описана в Начало работы.
|
Важное примечание для приложений в режиме меню Single mode Если ваше приложение использует режим меню Single mode, вам следует вручную добавить пункты меню после установки дополнения.
Этот шаг необходим, потому что приложения в режиме Single mode не выполняют автоматическое слияние меню дополнений с существующей структурой. |