Действия

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

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

Версия от 18:35, 22 октября 2023; A.chernenko (обсуждение | вклад) (Описани параметров в файле конфигурации SPR 2)
Общее описание

Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.wav, результатом работы выступают данные в текстовом формате.


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

Short Phrase Recognizer (SPR) – сервис распознавания речи. Модель - модель нейронной сети, описывает её архитектуру и конфигурацию, а также используемые алгоритмы обучения.


Расчет нагрузки

Для нормальной работы сервиса на каждый канал распознавания требуется один CPU. Оперативной памяти необходимо не менее 8Gb.


Требования к загружаемому аудио

Для преобразования фрагментов речи в текст используйте аудио в формате *.wav RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, 8000 Hz или 16000 Hz.


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

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

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

Установка/обновление непосредственно SPR осуществляется скриптом ./spr-<версия>-install с правами администратора.

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

sudo systemctl enable spr.service && sudo systemctl start spr.service

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

systemctl status spr.service

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


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

Установка моделей возможна как прямым копирование файла модели, так и загрузкой по API. Подробнее о загрузке моделей по API смотрите в руководстве пользователя.

Модели располагаются в каталоге /opt/spr/nnets/. Для установки модели необходимо создать каталог /opt/spr/nnets/<название модели>/ и скопировать в него файл model, после чего перезагрузить сервис командой systemctl restart spr

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

curl -H "accept: application/json" -X GET "http://АДРЕС_СЕРВЕРА:6183/spr/"

В ответе должно содержаться название новой модели или перечень названий моделей в формате json.

Проверить корректность работы модели можно запросто к API с отправкой файла на распознавание:

curl -X POST "http://АДРЕС_СЕРВЕРА:6183/spr/stt/common" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "wav=@ФАЙЛ.wav;type=audio/wav"


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

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

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

Параметр Назначение
namespace По умолчанию spr. префикс пути вызова методов методам API. http://СЕРВЕР:6183/ПРЕФИКС/ПУТЬ_К _МЕТОДУ.
max_gpu_memory По умолчанию 0.6. Лимит использования ОЗУ видеокарты.
sbs.url Путь к сервису биометрии для получения метаданных голосового фрагмента.
sbs.model По умолчанию calls. Модель по умолчанию при работе с API SBS
sbs.conn_timeout По умолчанию 2. Таймаут на подключение к API SBS
sbs.conn_timeout По умолчанию 30. Таймаут на получения ответа от API SBS
timers.maxSilence По умолчанию 500. Длительность паузы в речи в миллисекундах для разбивки длинных аудиофайлов на фрагменты.
timers.minSpeech По умолчанию 200. Минимальный по продолжительности в миллисекундах фрагмент речи, который следует считать возможным отдельным фрагментом.
timers.garbage По умолчанию 50. Максимальный по продолжительности в миллисекундах отдельный фрагмент речи, который следует считать мусором.
vad.window По умолчанию 0.15. Продолжительность фрагмента аудиофайла в секундах, отправляемого на анализ наличия речи.
vad.shift По умолчанию 0.005. Ширина сдвига в секундах для вычленения фрагментов аудиофайла для последующего анализа наличия речи.
vad.confidence По умолчанию 0.5. Пороговый коэффициент отсечения речь/шум.
vad.batch По умолчанию 1024. Количество одновременного анализируемых на наличие речи аудиофрагментов.
speakers.similarityThreshold По умолчанию 0.5. Порог различия для разделения говорящих.
speakers.maxSpeechLength По умолчанию 1000. Максимальная длительность фрагмента для сравнения говорящих в миллисекундах.
speakers.batch По умолчанию 8. Количество одновременного анализируемых аудиофрагментов при разделении говорящих.
recognition.batch По умолчанию 8. Количество одновременного распознаваемых аудиофрагментов.
punctuation По умолчанию false. Дополнительно вызывает метод punctuate в SMC, и расставляет знаки препинания в распознанном тексте.
smc.url Путь к сервису классификации текстовых фрагментов для расстановки знаков препинания в распознанном тексте.
smc.conn_timeout По умолчанию 2. Таймаут на подключение к API SMC
smc.read_timeout По умолчанию 30. Таймаут на получения ответа от API SMC


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

Для увеличения информативности журналов можно выполнить от суперпользователя команду:

sed -i 's/log-level error/log-level debug/g' /etc/systemd/system/spr.service && systemctl daemon-reload && systemctl restart spr.service

При возникновении проблем в работе сервиса и недостаточной информативности журналов, можно запустить сервис вручную с привилегиями суперпользователя и выводом информации в stdout:

systemctl stop spr.service && source /opt/pve/bin/activate && cd /opt/spr/ && python3 api.py && deactivate

       или

systemctl stop spr.service

source /opt/pve/bin/activate

cd /opt/spr/ && python3 api.py

deactivate


Удаление

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