SPR. Руководство администратора: различия между версиями
Материал из Флора AI
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
===== ''' | ===== '''Общее описание''' ===== | ||
Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.wav, результатом работы выступают данные в текстовом формате. | Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.wav, результатом работы выступают данные в текстовом формате. | ||
===== ''' | ===== '''Термины и определения''' ===== | ||
Short Phrase Recognizer (SPR) – сервис распознавания речи. | Short Phrase Recognizer (SPR) – сервис распознавания речи. | ||
Модель - модель нейронной сети, описывает её архитектуру и конфигурацию, а также используемые алгоритмы обучения. | Модель - модель нейронной сети, описывает её архитектуру и конфигурацию, а также используемые алгоритмы обучения. | ||
===== ''' | ===== '''Расчет нагрузки''' ===== | ||
Для нормальной работы сервиса на каждый канал распознавания требуется один CPU. Оперативной памяти необходимо не менее 8Gb. <br> | Для нормальной работы сервиса на каждый канал распознавания требуется один CPU. Оперативной памяти необходимо не менее 8Gb. <br> | ||
===== ''' | ===== '''Требования к загружаемому аудио''' ===== | ||
Для преобразования фрагментов речи в текст используйте аудио в формате *.wav RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, 8000 Hz или 16000 Hz. | Для преобразования фрагментов речи в текст используйте аудио в формате *.wav RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, 8000 Hz или 16000 Hz. | ||
===== ''' | ===== '''Установка/обновление сервиса''' ===== | ||
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом. | Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом. | ||
| Строка 29: | Строка 29: | ||
Разрешите доступ к порту 6183 на нужном интерфейсе по протоколу tcp.<br> | Разрешите доступ к порту 6183 на нужном интерфейсе по протоколу tcp.<br> | ||
===== ''' | ===== '''Установка моделей''' ===== | ||
Установка моделей возможна как прямым копирование файла модели, так и загрузкой по API. Подробнее о загрузке моделей по API смотрите в [[SPR. Руководство пользователя.|руководстве пользователя]]. | Установка моделей возможна как прямым копирование файла модели, так и загрузкой по API. Подробнее о загрузке моделей по API смотрите в [[SPR. Руководство пользователя.|руководстве пользователя]]. | ||
| Строка 44: | Строка 44: | ||
<code>curl -X POST "<nowiki>http://АДРЕС_СЕРВЕРА:6183/spr/stt/common</nowiki>" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "wav=@ФАЙЛ.wav;type=audio/wav"</code><br> | <code>curl -X POST "<nowiki>http://АДРЕС_СЕРВЕРА:6183/spr/stt/common</nowiki>" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "wav=@ФАЙЛ.wav;type=audio/wav"</code><br> | ||
===== ''' | ===== '''Конфигурирование параметров сервиса spr''' ===== | ||
Настройка параметров сервиса spr производится в файле /opt/spr/params.json | Настройка параметров сервиса spr производится в файле /opt/spr/params.json | ||
| Строка 96: | Строка 96: | ||
|} | |} | ||
===== ''' | ===== '''Сбор данных об ошибках''' ===== | ||
Для увеличения информативности журналов можно выполнить от суперпользователя команду: | Для увеличения информативности журналов можно выполнить от суперпользователя команду: | ||
| Строка 115: | Строка 115: | ||
<code>deactivate</code><br> | <code>deactivate</code><br> | ||
===== ''' | ===== '''Удаление''' ===== | ||
Для удаления выполните команду: <code>/opt/spr/uninstall</code>. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели. | Для удаления выполните команду: <code>/opt/spr/uninstall</code>. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели. | ||
Версия от 14:05, 7 июня 2023
Общее описание
Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.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/"
В ответе должно содержаться название новой модели.
Проверить корректность работы модели можно запросто к 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 | Путь к сервису биометрии для получения метаданных голосового фрагмента. |
| 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. Количество одновременного распознаваемых аудиофрагментов. |
Сбор данных об ошибках
Для увеличения информативности журналов можно выполнить от суперпользователя команду:
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. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.