AI-ассистент по базе знаний
BPMSoft
Приложение «AI-ассистент LLM BPMSoft» разработано на базе LLM-модели (Large Language Model) для генерации ответов на вопросы, которые относятся к статьям из базы знаний BPMSoft. Приложение может быть полезно при изучении BPMSoft или создании пользовательского решения на базе BPMSoft.
Для работы приложения необходимо установить модуль BPMSoft ОСС.
Установка и настройка приложения
Для настройки приложения выполните следующие шаги:
- Разверните сервис «AI-ассистент LLM BPMSoft». Подробнее: Развертывание сервиса AI-ассистент LLM.
- Установите пакет с настроенным бизнес-процессом чат-бота. Подробнее: Установка приложений. В случае успешного окончания установки в реестре раздела «Библиотека процессов» появится бизнес-процесс «Чат бот по базе знаний» (UsrKnowledgeBaseChatbot).
- Установите пакет обучения LLM-модели. Подробнее: Установка приложений. В случае успешного окончания установки в рабочем месте «Конструктор» появится раздел «Обучение LLM».
- В разделе «Системные настройки» откройте настройку «Ссылка на чат-бота AI-ассистента» (код «LlmChatBotUrl»). В поле «Значение по умолчанию» укажите адрес метода, на который будут идти запросы на генерацию.
- В разделе «Системные настройки» откройте настройку «API ключ облачных сервисов BPMSoft» (код «CloudServicesAPIKey»), которая отвечает за аутентификацию экземпляра системы в облачных сервисах. В поле «Значение по умолчанию» укажите значение настройки.
Рисунок 1 — Системная настройка «API ключ облачных сервисов BPMSoft»

- Выполните настройку чат-бота. Подробнее: Настройка чат-бота.
- Настройте черный список. Подробнее: Настройка черного списка.
- Дообучите LLM-модель при необходимости. Подробнее: Дообучение LLM-модели.
Настройка чат-бота
При успешной установке пакета с чат-ботом в реестре раздела «Библиотека процессов» появится бизнес-процесс «Чат бот по базе знаний» (UsrKnowledgeBaseChatbot).
Рисунок 2 — Установленный бизнес-процесс «Чат бот по базе знаний»

Для настройки работы чат-бота выполните следующие шаги:
- Перейдите в раздел «Библиотека процессов» одним из следующих способов:
- Рабочее место «Конструктор» → раздел «Библиотека процессов»;
- Дизайнер системы
→ блок «Процессы» → раздел «Библиотека процессов».
- Откройте ранее установленный бизнес-процесс «Чат бот по базе знаний».
- На панели настройки бизнес-процесса перейдите на вкладку «Параметры».
- Для того чтобы диалог автоматически переводился на оператора в случаях, когда чат-бот не может предоставить ответ по заданному вопросу, необходимо в настройках бизнес-процесса для параметра «NeedOperatorSwitch» установить значение «Да».
Рисунок 3 — Параметр для переключения чат-бота на оператора

- При необходимости измените другие параметры бизнес-процесса, указанные в таблице ниже.
Таблица 1 — Параметры бизнес-процесса для настройки работы чат-бота
| Параметр | Описание |
| ApiAddress | Адрес внешнего сервиса LLM |
| MaxQuestionLength | Максимальное количество символов в вопросе пользователя. По умолчанию установлено 1500 символов |
| NeedOperatorSwitch | Признак для переключения чата на оператора, если модель не смогла ответить на вопрос. По умолчанию установлено значение «Нет» |
| RequestTimeout | Время ожидания ответа сервера (в секундах). По умолчанию установлено «80» |
| ArticlesNumber | Количество ссылок в ответе модели. По умолчанию установлено значение «2» |
- Сохраните изменения в бизнес-процессе.
- После настройки бизнес-процесса добавьте оператора чат-бота. Подробнее: Добавление оператора–чат-бота. В качестве бизнес-процесса, по которому будет работать чат-бот, выберите ранее установленный бизнес-процесс «Чат бот по базе знаний».
- Подключите чат-бот к необходимым каналам ОСС. Подробнее: Настройка каналов.
Дообучение LLM-модели
При установке приложения «AI-ассистент LLM BPMSoft» вы получаете обученную LLM-модель по базе знаний BPMSoft версий 1.4 и 1.5. Для поддержания актуальности данных и генерации релевантных ответов на поступающие запросы необходимо дообучать LLM-модель на основе статей из базы знаний BPMSoft.
Дообучение модели осуществляется в разделе «Обучение LLM» рабочего места «Конструктор».
Рисунок 4 — Раздел «Обучение LLM»

В поле «Текущий статус» отображается текущее состояние процесса обучения: «Обучение завершено», «Обучение не начато» или «Ошибка».
В поле «Ошибка» описание ошибки, если процесс обучения завершился с ошибкой. Подробнее об ошибках и их решении смотрите в разделе Возможные ошибки обучения LLM-модели.
Перед обучением LLM-модели убедитесь, что заполнены следующие системные настройки:
- «Llm user» (код «LlmUser»)»;
- «Llm password» (код «LlmPassword»);
- «Адрес сервиса llm» (код «LlmUrlTrain»).
Подготовка файлов для обучения LLM-модели
Для обучения LLM-модели используется выгрузка со статьями из базы знаний BPMSoft. Данные по статьям должны предоставляться в виде файловых выгрузок в формате .csv в кодировке UTF-8 с полями, перечисленными в таблице ниже.
Таблица 2 — Перечень параметров запрашиваемых данных
| Наименование поля | Тип поля | Описание | Обязательность | Пример значения |
| IE_XML_ID | Int | Идентификатор статьи из базы знаний BPMSoft | Да | 9064 |
| IE_NAME | Text | Название статьи из базы знаний BPMSoft | Нет | Класс IMLModelTrainer |
| IE_DETAIL_TEXT | Text | Содержание текста статьи из базы знаний BPMSoft | Да | <p> Модули в BPMSoft являются изолированными. Один <a href="/baza-znaniy/moduli/">модуль </a> не может взаимодействовать с другим напрямую. Для этой цели существует компонент Sandbox (песочница).</p> |
| IP_PROP285 | Text | Уровень сложности статьи, который обозначается как простой, средний или сложный | Нет | Level3 |
| IC_GROUP0 | Text | Целевая аудитория, для которой предназначена представленная информация | Нет | Для разработчика/ для пользователя/ для аналитика |
| IC_GROUP1 | Text | Модуль — общий раздел базы знаний, который содержит в себе блоки | Нет | Компоненты системы |
| IC_GROUP2 | Text | Блок — подраздел модуля, который содержит статьи | Нет | Сервис машинного обучения |
| Номер версии | Text | Номер версии базы знаний BPMSoft | Да | 1.0 |
| LINK | Text | Веб-ссылка на статью в базе знаний BPMSoft | Да | /baza-znaniy/obzor- interfeysa-bpmsoft/obzor-interfeysa-sistemy/ |
Кроме базы знаний BPMSoft, вы можете обучить LLM-модель на основе статей из вашей базы знаний. Для этого необходимо подготовить отдельный .csv файл со структурой, описанной в таблице выше.
Создание экземпляра обучения LLM-модели
Для создания нового экземпляра обучения выполните следующие шаги:
- Перейдите в раздел «Обучение LLM».
- Нажмите кнопку «Добавить».
- На открывшейся странице укажите название экземпляра обучения в поле «Название». В поле «Текущий статус» по умолчанию устанавливается значение «Обучение на начато».
- Сохраните изменения.
- Перейдите на вкладку «Файлы» и добавьте на деталь «Файлы для дообучения» файлы формата .csv. Подробнее: Подготовка файлов для обучения.
Рисунок 5 — Создание нового обучения LLM-модели

- Нажмите кнопку «Начать обучение».
- Дождитесь завершения процесса обучения.
Возможные ошибки обучения LLM-модели
В процессе обучения LLM-модели могут возникнуть различные ошибки, влияющие на его успешное завершение.
Таблица 3 — Перечень ошибок
| Код | Описание | Действие для разрешения |
| 401 | Неверный API-ключ облачных сервисов | Проверить корректность заполнения системной настройки «API ключ облачных сервисов BPMSoft», который выдается технической поддержкой BPMSoft при покупке лицензии |
| 401 | Неверный логин или пароль. Проверьте системные настройки Llm user и Llm password | Проверить корректность заполнения системных настроек «Llm user» и «Llm password», которые заполняются при первичном развертывании сервиса в системе |
| 404 | Отсутствует сессия дообучения с указанным request_id | Запустить обучение еще раз |
| 415 | Ошибка в наборе данных для дообучения | Проверить соответствие формата файла требованиям, указанным в разделе Подготовка файлов для обучения модели |
| 429 | Уже запущена другая сессия обучения | Дождаться завершения запущенной сессии обучения |
| 500 | Сервис недоступен | Связаться с администратором LLM-сервиса для решения проблемы |
Работа с чат-ботом
Рассмотрим пример работы AI-ассистента по базе знаний BPMSoft в чат-боте Telegram-мессенджера. Для этого найдем ранее настроенный чат-бот в Telegram и запустим его с помощью команды «/start».
Рисунок 6 — Начало работы с чат-ботом

Далее вы можете задать свой вопрос по базе знаний BPMSoft. Ответ включает в себя сформированное текстовое сообщение и ссылку(-и) на конкретные статьи из базы знаний.
Рисунок 7 — Ответ чат-бота на вопрос по базе знаний BPMSoft

Если вопрос не относится к базе знаний BPMSoft, то чат-бот отправит соответствующее уведомление об этом. В таком случае диалог может быть автоматически переведен на оператора, если включена соответствующая настройка в бизнес-процессе чат-бота. Подробнее: Настройка чат-бота
Рисунок 8 — Пример обработки запроса, по которому не найдена информация

Объем поступающего запроса от пользователя ограничен: вопрос может содержать не более 1500 символов. В противном случае, чат-бот отправит уведомление о необходимости сократить вопрос. Вы можете увеличить количество символов в параметрах бизнес-процесса «Чат бот по базе знаний».
Рисунок 9 — Пример обработки большого запроса

Если запрос пользователя не содержит достаточно информации для обработки и предоставления ответа, то чат-бот отправит соответствующее уведомление об этом.
Рисунок 10 — Пример обработки запроса с недостаточной информацией

Рекомендуем изучить
Развертывание сервиса AI-ассистент LLM
Настройка черного списка