В данной статье представлено описание настройки необходимого окружения на сервере и алгоритма развертывания сервиса.
Решение поставляется в виде архива для установки при помощи Docker Compose.
В случае отсутствия в системе Docker и Docker Compose выполните их установку по инструкции с официального сайта Docker для соответствующей версии операционной системы.
Дополнительно для работы модели необходимо установить следующее программное обеспечение на сервер:
Все перечисленное программное обеспечение можно скачать с официальных ресурсов NVIDIA.
Для развертывания сервиса необходимо последовательно выполнить следующие команды:
Таблица 1 — Параметры файла .env
Управление контейнерами осуществляется при помощи стандартных механизмов docker и docker compose.
Такой сценарий позволяет использовать видеокарту, выделенную для дообучения, в задачах генерации, когда дообучение не требуется.
Для настройки интеграции между сервисом и платформой BPMSoft выполните следующие шаги:
Рисунок 1 — Системная настройка «Llm user»
Рисунок 2 — Системная настройка «Llm password»
Рисунок 3 — Системная настройка «Адрес сервиса llm»
Исходя из конфигурации по две видеокарты в одном сервере типовая схема развертывания включает в себя размещение одного сервиса генерации и одного сервиса дообучения (с переключением на еще один сервис генерации в периоды, когда дообучение не требуется). Шаги по переключению с сервиса дообучения на дополнительный сервис генерации представлены ниже.
Экземпляры сервиса генерации и дообучения представляют собой REST API сервисы. Порты, на которых сервисы ожидают запросы указываются в переменных окружения BACKEND_PORT и TRAIN_SERVICE_PORT в файле .env.
База данных должна быть развернута в одном экземпляре, параметры подключения к базе данных задаются в конфигурационном файле .env в переменных MYSQL_ADDRESS, MYSQL_PASSWORD, MYSQL_USER, MYSQL_DB, MYSQL_PORT. По умолчанию в docker-compose.yaml установлено развертывание базы данных. Для отключения развертывания базы данных на тех узлах, где это не нужно, следует удалить из docker-compose.yaml сервис llm-mysql-db.
Должна быть обеспечена сетевая доступность базы данных со стороны всех экземпляров сервисов, а также сетевая связанность между сервисами генерации и дообучения, расположенными на одном сервере.
Для сервиса дообучения в целях обеспечения информационной безопасности рекомендуется разрешить сетевой доступ к API только с тех адресов, с которых команда поддержки сервиса будет выполнять дообучение.
Для горизонтального масштабирования рекомендуется применять стандартные практики масштабирования REST API сервисов. На схеме ниже приведен возможный пример реализации, когда несколько экземпляров сервиса находятся за балансировщиком, который распределяет запросы между узлами. Рекомендуемое правило балансировки — round robin.
Рисунок 4 — Схема работы сервиса
Настройка черного списка AI-ассистент по базе знаний BPMSoft