SBS. Руководство пользователя: различия между версиями
Материал из Флора AI
Нет описания правки |
|||
| Строка 28: | Строка 28: | ||
{| class="wikitable" style="width: 110%" | {| class="wikitable" style="width: 110%" | ||
|+Описание методов API | |+''Описание методов API'' | ||
!style="color:green;width: 15%" |'''POST/sbs/analyze''' | !style="color:green;width: 15%" |'''POST/sbs/analyze''' | ||
! colspan="3" style="width: 85%" |<small>Получение аналитических метаданных из голосового фрагмента Вернется массив с метаданными голосового фрагмента. | ! colspan="3" style="width: 85%" |<small>Получение аналитических метаданных из голосового фрагмента Вернется массив с метаданными голосового фрагмента.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''wav''' - файл для анализа</small> | * <small>'''wav''' - файл для анализа</small> | ||
| colspan="2" style="width: 50%" |<small>Пример:</small> | | colspan="2" style="width: 50%" |<small>Пример:</small> | ||
<small><code>{</code> <code>age: {</code> | <small><code>{</code></small> | ||
<small><code>age: {</code></small> | |||
<small><code>class: 20-29, # {"00-05", "06-12", "13-19", "20-29", "30-39", "40-49", "50-59", "60+"}</code></small> | |||
<small><code>confidence: 0.99</code></small> | |||
<small><code>},</code></small> | |||
<small><code>emotion: {</code></small> | |||
<small><code>class: SADNESS, # { "ANGER", "BORE", "DISAPPOINTMENT", "DISGUST", "EXCITEMENT", "FEAR", "NEUTRAL", "PAIN", "PLEASURE", "SADNESS", "SUPRISE"}</code></small> | |||
<small><code>confidence: 0.99</code></small> | |||
<small><code>},</code></small> | |||
<small><code>gender: {</code></small> | |||
<small><code>class: FEMALE, # { "MALE", "FEMALE" }</code></small> | |||
<small><code>confidence: 0.99</code></small> | |||
<small><code>}</code></small> | |||
<small><code>}</code></small> | |||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/sbs/search''' | !style="color:green;width: 15%" |'''POST/sbs/search''' | ||
! colspan="3" style="width: 85%" |Поиск говорящего по базе слепков | ! colspan="3" style="width: 85%" |<small>Поиск говорящего по базе слепков.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
| Строка 50: | Строка 71: | ||
| colspan="2" style="width: 50%" |<small>Пример ответа:</small> | | colspan="2" style="width: 50%" |<small>Пример ответа:</small> | ||
<small>{ error: 0, speaker: Ivan, confidence: 0.79 }</small> | <small><code>{ error: 0, speaker: Ivan, confidence: 0.79 }</code></small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/sbs/verify/{id}''' | !style="color:green;width: 15%" |'''POST/sbs/verify/{id}''' | ||
! colspan="3" style="width: 85%" |Сравнение wav-файла cо слепком в базе. | ! colspan="3" style="width: 85%" |<small>Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''wav''' - файл для поиска</small> | * <small>'''wav''' - файл для поиска</small> | ||
* <small>'''threshold''' - процент совпадения</small> | * <small>'''threshold''' - процент совпадения</small> | ||
| colspan="2" style="width: 50%" |{ | | colspan="2" style="width: 50%" |<code><small>{ "error": 0, "confidence": 0.78 }</small></code> | ||
"error": 0, | |||
"confidence": 0.78 | |||
} | |||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/sbs/speakers/add{id}''' | !style="color:green;width: 15%" |'''POST/sbs/speakers/add{id}''' | ||
! colspan="3" style="width: 85%" |Добавление слепка в базу. | ! colspan="3" style="width: 85%" |<small>Добавление слепка в базу.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''name''' - имя говорящего</small> | * <small>'''name''' - имя говорящего</small> | ||
* <small>'''wav''' - файл для создания оцифрованного представления говорящего</small> | * <small>'''wav''' - файл для создания оцифрованного представления говорящего</small> | ||
| colspan="2" style="width: 50%" |<small>{</small> | | colspan="2" style="width: 50%" |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433"</small> | <small><code> "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/sbs/speakers/delete/{id}''' | !style="color:red;width: 15%" |'''DELETE/sbs/speakers/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удаление слепка из базы | ! colspan="3" style="width: 85%" |<small>Удаление слепка из базы.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' - идентификатор говорящего</small> | * <small>'''id''' - идентификатор говорящего</small> | ||
| colspan="2" style="width: 50%" |<small>{ error: INT, message: DESCRIPTION }</small> | | colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/sbs/speakers/list''' | !style="color:blue;width: 15%" |'''GET/sbs/speakers/list''' | ||
! colspan="3" style="width: 85%" |Получение списка всех слепков | ! colspan="3" style="width: 85%" |<small>Получение списка всех слепков.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" |<small>[</small> | | colspan="2" style="width: 50%" |<small><code>[</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433",</small> | <small><code> "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433",</code></small> | ||
<small> "name": "наименование слепка"</small> | <small><code> "name": "наименование слепка"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small>]</small> | <small><code>]</code></small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/sbs/speakers/modify/{id}''' | !style="color:green;width: 15%" |'''POST/sbs/speakers/modify/{id}''' | ||
! colspan="3" style="width: 85%" |Дообучение слепка | ! colspan="3" style="width: 85%" |<small>Дообучение слепка.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
| Строка 109: | Строка 124: | ||
* <small>'''id''' - идентификатор слепка</small> | * <small>'''id''' - идентификатор слепка</small> | ||
| colspan="2" style="width: 50%" |<small>{</small> | | colspan="2" style="width: 50%" |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "message": "Success"</small> | <small><code> "message": "Success"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
|} | |} | ||
Версия от 18:01, 21 октября 2024
Общее описание
Сервис Simple Biometry Server предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Simple Biometry Server (SBS) - сервис извлечения метаданных.
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SBS.
Описание методов API сервиса биометрии (SBS)
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SBS. По умолчанию используется порт 6185/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6185 будет отображен интерфейс swagger со всеми методами с возможностью их проверки. Модель может содержать постобработчик. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /sbs/entities/{id}.
Пример пустой функции:
def handler(entities=[],text=""):
returns entities
На вход подается результат работы модели, а также начальный текст.
| POST/sbs/analyze | Получение аналитических метаданных из голосового фрагмента Вернется массив с метаданными голосового фрагмента. | ||
|---|---|---|---|
|
Пример:
| ||
| POST/sbs/search | Поиск говорящего по базе слепков. | ||
|
Пример ответа:
| ||
| POST/sbs/verify/{id} | Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1. | ||
|
{ "error": 0, "confidence": 0.78 }
| ||
| POST/sbs/speakers/add{id} | Добавление слепка в базу. | ||
|
{
| ||
| DELETE/sbs/speakers/delete/{id} | Удаление слепка из базы. | ||
|
{ error: INT, message: DESCRIPTION }
| ||
| GET/sbs/speakers/list | Получение списка всех слепков. | ||
| Входные параметры отсутствуют | [
| ||
| POST/sbs/speakers/modify/{id} | Дообучение слепка. | ||
|
{
| ||