Действия

SBS. Руководство пользователя

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

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

Сервис 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

На вход подается результат работы модели, а также начальный текст.


Описание методов API
POST/sbs/analyze Получение аналитических метаданных из голосового фрагмента. Вернется массив с метаданными голосового фрагмента.
  • wav - файл для анализа
Пример:

{

 <age: {
   class: 20-29, # {"00-05", "06-12", "13-19", "20-29", "30-39", "40-49",   "50-59", "60+"}
   confidence: 0.99
 },
 emotion: {
   class: SADNESS, # { "ANGER", "BORE", "DISAPPOINTMENT", "DISGUST", "EXCITEMENT", "FEAR", "NEUTRAL", "PAIN", "PLEASURE", "SADNESS", "SUPRISE"}
   confidence: 0.99
 },
 gender: {
   class: FEMALE, # { "MALE", "FEMALE" }
   confidence: 0.99
 }

}

POST/sbs/search Поиск говорящего по базе слепков.
  • wav - файл для анализа
  • threshold - процент совпадения
Пример ответа:

{ error: 0, speaker: Ivan, confidence: 0.79 }

POST/sbs/verify/{id} Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.
  • wav - файл для поиска
  • threshold - процент совпадения
{ "error": 0, "confidence": 0.78 }
POST/sbs/speakers/add{id} Добавление слепка в базу.
  • name - имя говорящего
  • wav - файл для создания оцифрованного представления говорящего
  • text - текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от text.
{

  "error": 0,

  "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433"

}

DELETE/sbs/speakers/delete/{id} Удаление слепка из базы.
  • id - идентификатор говорящего
{ error: INT, message: DESCRIPTION }
GET/sbs/speakers/list Получение списка всех слепков.
Входные параметры отсутствуют [

  {

    "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433",

    "name": "наименование слепка"

  }

]

POST/sbs/speakers/modify/{id} Дообучение слепка.
  • wav - файл для обучения
  • id - идентификатор слепка
  • text - текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, но слепок не будет дообучен, если распознанный текст будет сильно отличаться от text.
{

  "error": 0,

  "message": "Success"

}