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.
Если диалог относится к вашей собственной предметной области или интерфейс чата должен быть вашим, создайте собственный чат с помощью дополнения AI Chat. Оно предоставляет готовый чат, список сообщений и поле ввода сообщений, из которых он собран, а также блок кода.
Структура дополнения
Дополнение разделено на слои, поэтому вы можете подключить только то, что нужно:
| Стартер | Описание |
|---|---|
|
Базовый слой: реестр инструментов, предопределенные инструменты и программный 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 не выполняют автоматическое слияние меню дополнений с существующей структурой. |