SPR. Руководство пользователя: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
|||
| Строка 21: | Строка 21: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!Метод | !<small>Метод</small> | ||
!Тип | !<small>Тип</small> | ||
!Описание | !<small>Описание</small> | ||
!Входные параметры | !<small>Входные параметры</small> | ||
!Ответ | !<small>Ответ</small> | ||
|- | |- | ||
|/spr/ | |<small>/spr/</small> | ||
|GET | |<small>GET</small> | ||
|Вывод списка моделей | |<small>Вывод списка моделей</small> | ||
| - | | <small>-</small> | ||
|<code>{ models: [model1,...,modelN] }</code> | |<code><small>{ models: [model1,...,modelN] }</small></code> | ||
|- | |- | ||
|/spr/audio/{taskID} | |<small>/spr/audio/{taskID}</small> | ||
|GET | |<small>GET</small> | ||
|получение файла аудиозаписи отложенного задания | |<small>получение файла аудиозаписи отложенного задания</small> | ||
|taskID - идентификатор задания | |<small>taskID - идентификатор задания</small> | ||
|<code>Файл аудиозаписи или { error: INT , message: DESCRIPTION }</code> | |<code><small>Файл аудиозаписи или { error: INT , message: DESCRIPTION }</small></code> | ||
|- | |- | ||
|/spr/data/{id} | |<small>/spr/data/{id}</small> | ||
|GET | |<small>GET</small> | ||
|Получение архива модели | |<small>Получение архива модели</small> | ||
|'''id''' - идентификатор модели | |<small>'''id''' - идентификатор модели</small> | ||
|<code>ZIP-файл с моделью, либо { error: INT , message: DESCRIPTION }</code> | |<code><small>ZIP-файл с моделью, либо { error: INT , message: DESCRIPTION }</small></code> | ||
|- | |- | ||
|/spr/data/{id} | |<small>/spr/data/{id}</small> | ||
|POST | |<small>POST</small> | ||
|Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели, если указана переменная '''from-existing-model'''. В данном случае происходит переименование модели на сервере '''from-existing-model -> id.''' | |<small>Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели, если указана переменная '''from-existing-model'''. В данном случае происходит переименование модели на сервере '''from-existing-model -> id.'''</small> | ||
|'''id''' - идентификатор модели | |<small>'''id''' - идентификатор модели</small> | ||
'''zip-model''' - zip-архив с файлами модели | <small>'''zip-model''' - zip-архив с файлами модели | ||
'''from-existing-model''' - название модели, которое до | '''from-existing-model''' - название модели, которое до</small> | ||
|<code>{ error: INT, message: DESCRIPTION }</code> | |<code><small>{ error: INT, message: DESCRIPTION }</small></code> | ||
|- | |- | ||
|/spr/data/{id} | |<small>/spr/data/{id}</small> | ||
|DELETE | |<small>DELETE</small> | ||
|Удаление модели | |<small>Удаление модели</small> | ||
|id - идентификатор модели | |<small>id - идентификатор модели</small> | ||
|<code>{ error: INT, message: DESCRIPTION }</code> | |<code><small>{ error: INT, message: DESCRIPTION }</small></code> | ||
|- | |- | ||
|/spr/queue | |<small>/spr/queue</small> | ||
|GET | |<small>GET</small> | ||
|Получение очереди отложенных заданий на распознавание | |<small>Получение очереди отложенных заданий на распознавание</small> | ||
| - | | <small>-</small> | ||
|<code>{ | |<code><small>{ | ||
"id задания": { | "id задания": { | ||
"created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ", | "created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ", | ||
| Строка 69: | Строка 69: | ||
"filename": "wav" | "filename": "wav" | ||
} | } | ||
</small> | |||
}</code> | <small>}</code> | ||
Статусы | Статусы</small> | ||
'''ready''' - готово | <small>'''ready''' - готово</small> | ||
'''waiting''' - ожидание | <small>'''waiting''' - ожидание</small> | ||
<small>'''failed''' - сбой</small> | |||
|- | |||
|<small>/spr/queue/{taskID}</small> | |||
|<small>DELETE</small> | |||
|<small>Удаление отложенных заданий на распознавание</small> | |||
|<small>taskID - идентификатор задания в очереди</small> | |||
|{ | |||
"error": 0, | |||
"message": "success" | |||
} | |||
|- | |- | ||
|/spr/stt/{id} | |<small>/spr/stt/{id}</small> | ||
|POST | |<small>POST</small> | ||
|Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]]. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC, и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файлы конфигурации). normalization=1 для обратной нормализации текста. | |<small>Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]]. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC, и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файлы конфигурации). normalization=1 для обратной нормализации текста.</small> | ||
|'''id''' - идентификатор модели | |<small>'''id''' - идентификатор модели</small> | ||
'''wav''' - файл для распознавания | <small>'''wav''' - файл для распознавания</small> | ||
'''speakers''' - опция разделения по говорящим | <small>'''speakers''' - опция разделения по говорящим</small> | ||
'''mono''' - для сведения стереозаписей аналитики в один канал и исключения дублирования распознавания в одинаковых каналах | <small>'''mono''' - для сведения стереозаписей аналитики в один канал и исключения дублирования распознавания в одинаковых каналах</small> | ||
'''punctuation''' - опция для расставления знаков препинания | <small>'''punctuation''' - опция для расставления знаков препинания</small> | ||
'''normalization''' - опция обратной нормализации текста | <small>'''normalization''' - опция обратной нормализации текста</small> | ||
'''vad''' - используемый VAD | <small>'''vad''' - используемый VAD</small> | ||
'''preset''' - используемая модель для vad = neuro | <small>'''preset''' - используемая модель для vad = neuro</small> | ||
'''async''' - отложенный запуск распознавания | <small>'''async''' - отложенный запуск распознавания</small> | ||
|в случае '''async'''=1 возвращается только taskID, для метода /spr/result. | |<small>в случае '''async'''=1 возвращается только taskID, для метода /spr/result.</small> | ||
'''text''' заполняется только для файлов менее 60 секунд. '''speakers, speaker, confidence''' (вероятность правильности определения говорящего) возвращаются только при отправке speakers=1. | <small>'''text''' заполняется только для файлов менее 60 секунд. '''speakers, speaker, confidence''' (вероятность правильности определения говорящего) возвращаются только при отправке speakers=1. | ||
<code>{</code> | <code>{</code> | ||
<code>model: модель, text: текст без разбивки,</code> | <code>model: модель, text: текст без разбивки,</code> | ||
| Строка 121: | Строка 130: | ||
<code>text: распознанный текст}, ...</code> | <code>text: распознанный текст}, ...</code> | ||
<code>]</code> | <code>]</code> | ||
<code>}</code> | <code>}</code></small> | ||
|- | |- | ||
|/spr/result/{taskID} | |<small>/spr/result/{taskID}</small> | ||
|GET | |<small>GET</small> | ||
|Получение результата отложенного распознавания | |<small>Получение результата отложенного распознавания</small> | ||
|'''taskID''' - идентификатор задания | |<small>'''taskID''' - идентификатор задания</small> | ||
|Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи: | |<small>Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:</small> | ||
'''ready''' - готово | <small>'''ready''' - готово | ||
'''waiting''' - ожидание | '''waiting''' - ожидание | ||
'''not found''' - не найдена | '''not found''' - не найдена | ||
'''failed''' - сбой | '''failed''' - сбой</small> | ||
|- | |- | ||
|/spr/waveform/{taskID} | |<small>/spr/waveform/{taskID}</small> | ||
|GET | |<small>GET</small> | ||
|Служебный метод для отображения аудио в графическом виде, содержит пики сигнала | |<small>Служебный метод для отображения аудио в графическом виде, содержит пики сигнала</small> | ||
|'''taskID''' - идентификатор задания | |<small>'''taskID''' - идентификатор задания</small> | ||
|{ | |<small>{</small> | ||
"error": 0, | <small>"error": 0, | ||
"waveform": [ | "waveform": [ | ||
0.016, | 0.016, | ||
| Строка 145: | Строка 154: | ||
0.015, | 0.015, | ||
0.01 | 0.01 | ||
] | ]</small> | ||
} | <small>}</small> | ||
|} | |} | ||
Версия от 16:20, 27 апреля 2024
Общее описание
Сервис Short phrase recognizer предназначен для преобразования речи в текст. Принимает на вход аудиофайл в формате wav и возвращает структурированные данные в формате JSON.
Термины и определения
Short Phrase Recognizer (SPR) - сервис распознавания речи.
Модель — предварительно обученная специализированная нейронная сеть для распознавания естественной речи в аудиозаписях.
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SPR в реальном времени
Описание методов API SPR
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SPR. По умолчанию используется порт 6183/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.
| Метод | Тип | Описание | Входные параметры | Ответ |
|---|---|---|---|---|
| /spr/ | GET | Вывод списка моделей | - | { models: [model1,...,modelN] }
|
| /spr/audio/{taskID} | GET | получение файла аудиозаписи отложенного задания | taskID - идентификатор задания | Файл аудиозаписи или { error: INT , message: DESCRIPTION }
|
| /spr/data/{id} | GET | Получение архива модели | id - идентификатор модели | ZIP-файл с моделью, либо { error: INT , message: DESCRIPTION }
|
| /spr/data/{id} | POST | Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели, если указана переменная from-existing-model. В данном случае происходит переименование модели на сервере from-existing-model -> id. | id - идентификатор модели
zip-model - zip-архив с файлами модели from-existing-model - название модели, которое до |
{ error: INT, message: DESCRIPTION }
|
| /spr/data/{id} | DELETE | Удаление модели | id - идентификатор модели | { error: INT, message: DESCRIPTION }
|
| /spr/queue | GET | Получение очереди отложенных заданий на распознавание | - | {
ready - готово waiting - ожидание failed - сбой |
| /spr/queue/{taskID} | DELETE | Удаление отложенных заданий на распознавание | taskID - идентификатор задания в очереди | {
"error": 0, "message": "success" } |
| /spr/stt/{id} | POST | Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC, и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файлы конфигурации). normalization=1 для обратной нормализации текста. | id - идентификатор модели
wav - файл для распознавания speakers - опция разделения по говорящим mono - для сведения стереозаписей аналитики в один канал и исключения дублирования распознавания в одинаковых каналах punctuation - опция для расставления знаков препинания normalization - опция обратной нормализации текста vad - используемый VAD preset - используемая модель для vad = neuro async - отложенный запуск распознавания |
в случае async=1 возвращается только taskID, для метода /spr/result.
text заполняется только для файлов менее 60 секунд. speakers, speaker, confidence (вероятность правильности определения говорящего) возвращаются только при отправке speakers=1.
|
| /spr/result/{taskID} | GET | Получение результата отложенного распознавания | taskID - идентификатор задания | Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:
ready - готово waiting - ожидание not found - не найдена failed - сбой |
| /spr/waveform/{taskID} | GET | Служебный метод для отображения аудио в графическом виде, содержит пики сигнала | taskID - идентификатор задания | {
"error": 0, "waveform": [ 0.016, .......... .......... 0.015, 0.01 ] } |