Действия

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

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

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

Сервис предназначен для сценарных машин.

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

script engine service (SES) – сервис обеспечивающий работу сценарных машин

Требования к окружению

В процессе работы сервис взаимодействует со следующими сервисами:

  • UPS – настройка осуществляется через файл /opt/ups/config.json
  • SMC, SEE, SPR, TTS, SBS, QAS - настройка осуществляется через файл /opt/ses/config.json
Установка ses

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

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

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

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

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

sudo systemctl enable ses.service && sudo systemctl start ses.service

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

systemctl status ses.service

Разрешите доступ к портам 6157/tcp, 6170/tcp а также порту, определенном в конфиге (по умолчанию 6189/tcp) на нужном интерфейсе.

Настройка сервиса

Файл config.json

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

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

Параметр По умолчанию Назначение
port 6190 порт api интерфейса, используется в UPS - настройка servers.ses в конфиге UPS
logs.path logs/ Путь к папке логов
logs.backups 10 Количество старых сохраняемых логов
logs.maxSize 5242880 Максимальный размер текущего лог-файла, в байтах
servers.{service}.url "http://127.0.0.1:PORT/{service}" адрес сервера. Возможные варианты значения service (с портами по умолчанию) следующие: smc(6181), see(6184), spr(6183), tts(6186), sbs(6185), qas(6187)
servers.{service}.timers.connect 2 таймаут подключения к серверу
servers.{service}.timers.read 10 таймаут получения данных с сервера
connectors.vk {} Параметры подключения к ботам VK

{  "имя_подключения":{

    "token":"Ключ доступа",

    "robot":"id робота",

    "group_id":"id сообщества ВКонтакте",

    "whitelist":[],

    "activators":[]

    },

...............

}

connectors.telegram {} Параметры подключения к telegram ботам

{  "имя_подключения":{

    "token":"Ключ доступа",

    "robot":"id робота",

    "variables":{

      "phone": "1234567890"

    },

    "timers": {      "getUpdates": 3    },

    "whitelist":[],

    "activators":[]

    },

...........

}

tmp "/tmp/ses" временная папка

Эмуляция сервисов интеграции

В каталоге /opt/ses/testapi могут располагаться эмуляторы сервисов интеграции. Эмулятор будет доступен по адресу htttp://<адрес ses>/testapi/<название_сервиса>. Для создания эмулятора поместите в папку /opt/ses/testapi/ файл <название_сервиса>.reply. Содержимое файла будет отдано без изменений, как есть по адресу "http://<адрес_ses>:<порт_ses>/ses/testapi/<название_сервиса>".

Протоколы и порты

Сервис использует порт 6190/tcp для доступа к api интерфейсу. Порт доступа к api может быть изменен в конфигурационном файле

Журналы работы

Для проверки состояния сервиса выполните sudo systemctl status ses.

Журналы сервиса находятся в каталоге, определенном в конфигурационном файле (по умолчанию - /opt/ses/logs/). Ошибки также пишутся в системный журнал, для просмотра можно воспользоваться командой sudo journalctl -u ses

Удаление и обновление ses

Для удаления выполните команду:

/opt/ses/uninstall

Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки как указано в п 4. При этом, обновление не изменяет файл /opt/ses/config.json.