Действия

SPR. Руководство администратора: различия между версиями

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

Строка 3: Строка 3:
===== '''1. Общее описание''' =====
===== '''1. Общее описание''' =====
Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.wav, результатом работы выступают данные в текстовом формате.
Сервис предназначен для преобразования естественной речи в текст. Входными данными для сервиса являются аудиофайлы в формате *.wav, результатом работы выступают данные в текстовом формате.
<br>


===== '''2. Термины и определения''' =====
===== '''2. Термины и определения''' =====
Строка 10: Строка 9:


===== '''3. Расчет нагрузки''' =====
===== '''3. Расчет нагрузки''' =====
Для нормальной работы сервиса на каждый канал распознавания требуется один CPU. Оперативной памяти необходимо не менее 8Gb.  
Для нормальной работы сервиса на каждый канал распознавания требуется один CPU. Оперативной памяти необходимо не менее 8Gb. <br>  
<br>


===== '''4. Требования к загружаемому аудио''' =====
===== '''4. Требования к загружаемому аудио''' =====
Для преобразования фрагментов речи в текст используйте аудио в формате *.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.
<br>


===== '''5. Установка/обновление сервиса''' =====
===== '''5. Установка/обновление сервиса''' =====
Строка 31: Строка 28:
<code>systemctl status spr.service</code>
<code>systemctl status spr.service</code>


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


===== '''6. Установка моделей''' =====
===== '''6. Установка моделей''' =====
Строка 47: Строка 43:
Проверить корректность работы модели можно запросто к API с отправкой файла на распознавание:
Проверить корректность работы модели можно запросто к API с отправкой файла на распознавание:


<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>
<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>  
<br>


===== '''7. Конфигурирование параметров сервиса spr''' =====
===== '''7. Конфигурирование параметров сервиса spr''' =====
Строка 101: Строка 96:
|''По умолчанию 8.'' Количество одновременного распознаваемых аудиофрагментов.
|''По умолчанию 8.'' Количество одновременного распознаваемых аудиофрагментов.
|}
|}
<br>


===== '''8. Сбор данных об ошибках''' =====
===== '''8. Сбор данных об ошибках''' =====
Строка 121: Строка 114:
<code>cd /opt/spr/ && python3 api.py</code>  
<code>cd /opt/spr/ && python3 api.py</code>  


<code>deactivate</code>
<code>deactivate</code><br>  
<br>


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

Версия от 13:59, 7 июня 2023

Сервис распознавания речи (SPR). Руководство администратора.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

systemctl status spr.service

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

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

Установка моделей возможна как прямым копирование файла модели, так и загрузкой по 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"

7. Конфигурирование параметров сервиса 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. Количество одновременного распознаваемых аудиофрагментов.
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

9. Удаление

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