Действия

SBS. Руководство администратора

Материал из Флора AI

Общее описание

Сервис предназначен для получения метаданных из естественной человеческой речи. Входным значением для сервиса являются wav-файлы. В ответ на входящий запрос сервис возвращает данные в формате JSON.

Термины и определения

Simple Biometry Server (SBS) – сервис получения метаданных.


Системные требования

Для нормальной работы сервиса на каждый 1 одновременный запрос классификации необходимо обеспечить 1 CPU >= 2.20GHz с поддержкой инструкций AVX2 или новее:

  • Intel Haswell
  • Intel Broadwell
  • Intel Skylake
  • Intel Kaby Lake
  • Intel Coffee Lake
  • Intel Comet Lake
  • Intel Rocket Lake
  • Intel Alder Lake
  • AMD Excavator
  • AMD Zen (AMD Ryzen)
  • AMD Zen 2 (AMD Ryzen)
  • AMD Zen 3 (AMD Ryzen)

Оперативной памяти необходимо не менее 4Gb.


Установка/обновление SBS

Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.

Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.

  • Установка/обновление TTS осуществляется скриптом chmod +x ./tts-<версия>-<релиз>.sh && ./tts-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор ./tts-<версия>-<релиз>.sh без ключей.
  • Загрузить последнюю версию продукта curl -s "https://repo.connect2ai.net/api/tts/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/tts --user '[user]:[pass]' 2>&1)".
  • Обновить TTS /opt/tts/inupdate в интерактивном режиме. Или запустить с ключём:
    • /opt/tts/inupdate -b - обновить до последней beta версии;
    • /opt/tts/inupdate -r - обновить до последней release версии;
    • /opt/tts/inupdate -n - обновить до последней версии (не важно beta или release).
  • Установить модели /opt/tts/inmodel в интерактивном режиме.
  • Проверить актуальную версию продукта curl -s "https://repo.connect2ai.net/api/tts/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/tts/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] - это тот же логин и пароль, что и от Nextcloud.
  • В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
    • echo -n "[user]:[pass]" > /opt/tts/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/tts/.proxy (это файл конфигурации proxy необходим для обновления и загрузки моделей, при отсутсвующем прямом подключение к интернету)

При обновление следующий список файлов и папок сохранияется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.

Не забудьте запустить сервис и включить в автозапуск в системе:

sudo systemctl enable sbs.service && sudo systemctl start sbs.service

Удостоверьтесь, что сервис стартовал:

systemctl status sbs.service

Разрешите доступ к порту 6185 на нужном интерфейсе по протоколу tcp.


Конфигурирование параметров сервиса SBS

Настройка параметров сервиса spr производится в файле /opt/sbs/params.json

Описание параметров приведено в таблице

Параметр По умолчанию Назначение
logs.path logs/ Путь к папке логов
logs.backups 10 Максимальное количество логфайлов
logs.maxSize 5242880 Максимальный размер одного логфайла
cluster.logfile logs/sync.log Файл логов синхронизации, есть только на главном сервере кластера
cluster.statusFile logs/sync.status Статус задачи синхронизации, есть только на главном сервере кластера
cluster.nodes [ ] Перечень подчиненных нод для синхронизации изменений, заполняется только на главном сервере кластера


Работа в составе кластера

Для высоконагруженных систем сервис можно расположить на нескольких нодах(виртуальных машинах). В этом случае чтобы не потерять документы и изменения полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы

  • База файловая, в папке data.
  • lsync настроен через конфиг SBS для репликации базы на все указанные серверы в списке cluster.nodes: [], указывем все слейв сервера.
  • На всех слейвах список cluster.nodes: [] оставляем пустым
  • Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.
  • UPS при изменении данных работает только с мастером SBS, а при запросе данных - со всем серверами cluster, распределяя нагрузку.
  • В конфигурации UPS: в servers.sbs.cluster.trainer указаваем матер сервер, в servers.sbs.cluster перечесляем все сервера кластера SBS в том числе и мастер.


Сбор данных об ошибках

Логи сервиса по умолчанию находятся в файле /opt/sbs/logs/log.txt


Удаление

Для удаления выполните команду: /opt/sbs/uninstall. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.


Часто задаваемые вопросы
Вопрос Ответ