Действия

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

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

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

Сервис предназначен для управления базовыми сервисами ядра, а также в качестве прокси-сервера доступа к сервисам с функцией балансировки нагрузки.


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

Universal Proxy Server (UPS) – Сервис управления ядром с проксированием запросов.


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

Для нормальной работы сервиса требуется 4Гб оперативной памяти, 1 CPU >= 2.20GHz и 40Гб дискового пространства.


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

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

Для UPS необходимо устанавливать выделенное окружение.

Установка/обновление UPS осуществляется скриптом chmod +x ./ups-<версия>-<релиз>.sh && ./ups-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталятора можно посмотреть, запустив инсталятор ./ups-<версия>-<релиз>.sh без ключей.

Загрузить последнюю версию пакета curl -s 'https://cloud.connect2ai.net/ups/' --user 'user_nexcloud:pass_nexcloud' | bash

Устновить/обновить пакет одной командой curl -s 'https://cloud.connect2ai.net/ups/?name=s' --user 'user_nexcloud:pass_nexcloud' | bash && chmod +x ./ups.sh && ./ups.sh -i

Проверить актуальную версию пакета можно curl -s 'https://cloud.connect2ai.net/ups/?type=v'

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

sudo systemctl enable ups.service && sudo systemctl start ups.service

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

systemctl status ups.service

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


Установка модулей

Есть возможность создать любой модуль, который будет эмулировать любой API интерфейс любого стороннего сервиса через UPS. Для примера создан интерфейс Яндекс. Установка модулей возможна прямым копирование файлов модуля в деррикторию /opt/ups/modules/<название модуля>.

Чтобы убедиться, что модуль доступен и работает, выполните запрос

curl -X GET "http://АДРЕС_СЕРВЕРА:6182/tts/synthesize/yandex_tts_emulator?rate=100&pitch=100&volume=0" --H "accept: application/json" --data-urlencode "text=текст для синтеза" --output out.wav

out.wav должен содержать синтезированный голос озвучивший текст из запроса.

Данные пример запроса говорит о том, что написан интерфейс яндекса по синтезу. Соотвественно обращание к нему идет, как к Яндексу и ответ, как от Яндекса.


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

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

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

Параметр По умолчанию Назначение
logs.path logs/ Директория для хранения логов. Примеры абсолютного пути: "/var/log/ups/"
logs.backups 10 Количество файлов ротации
logs.maxSize 5242880 Максимальный размер файла в байтах, триггер для ротации
auth.accessLifeTime 1800 Время жизни access token
auth.refreshLifeTime 86400 Время жизни refresh token
servers.{service}.trainer http://127.0.0.1:PORT Ссылка на сервер для обучения моделей сервисов. Возможные варианты значения service (с портами по умолчанию) следующие: smc (6181), see (6184), spr (6183)
servers.{service}.cluster [http://127.0.0.1:PORT] Список ссылок на рабочие серверы сервисов. Возможные варианты значения service (с портами по умолчанию) следующие: smc (6181), see (6184), spr (6183), tts (6186), sbs (6185).
servers.{service}.timers.connect 0.5 Лимит времени на подключение к сервису, сек.
servers.{service}.timers.read 300 Лимит времени на получение данных от сервиса, сек.
servers.{service}.timers.failed 600 Длительность паузы обращений к сервису при сбое, сек.
servers.{service}.timers.install 60 Лимит времени на установку модели на сервис
servers.{service}.timers.info 3 Лимит времени на получение информации о модели
nopassword [

"GET:/auth/refresh",

"GET:/auth/rights",

"POST:/auth/access",

"GET:/lang/",

"GET:/tts/synthesize",

"POST:/sbs/embedding",

"GET:/smc/classify",

"GET:/auth/version",

"GET:/smc/compress",

"GET:/smc/emotion",

"GET:/see/entities",

"POST:/sbs/analyze",

"POST:/sbs/verify",

"POST:/sbs/search",

"POST:/spr/stt",

"GET:/spr/result",

"GET:/auth/user/info",

"GET:/model/info",

"POST:/auth/user/password"

]

Список методов, которые не требуют авторизации


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

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

Удаление

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