Действия

UPS. Описание API: различия между версиями

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

Строка 665: Строка 665:
|+
|+
!style="color: blue;width: 15%" |'''GET/corpus/automark/list'''
!style="color: blue;width: 15%" |'''GET/corpus/automark/list'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Перечень заданий автоматической маркировки корпусов.
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |<small>Нет входных параметров</small>
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |<small>{   "error": 0,</small>
 
<small>  "message": "success",</small>
 
<small>  "tasks": [ {</small>
 
<small>      "id": "29d9da98-d6c1-4dc1-bbc9-111309816002",</small>
 
<small>      "taskname": "test_doc",</small>
 
<small>      "status": "finished"    },</small>
 
<small>    {  "id": "1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c",</small>
 
<small>      "taskname": "sssss",</small>
 
<small>      "status": "finished"    }  ] }</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/automark/result/{id}'''
!style="color: blue;width: 15%" |'''GET/corpus/automark/result/{id}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Результат выполнения задания на автомаркировку корпуса. <small>Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания</small>
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''id''' - идентификатор задания</small>
| colspan="2" style="width: 50%" |<small>{</small>
  <small>"error": 0,</small>
 
  <small>"message": "success",</small>
 
  <small>"started": "2024-10-09 18:05:51",</small>
 
  <small>"finished": "2024-10-09 18:05:51",</small>
 
  <small>"corpus": [[ [], [ ["тэг"],"фраза 1"]],</small>
 
    <small>[ [], [["тэг"],"фраза 2"]] ]</small>
<small>}</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/automark/start'''
!style="color: blue;width: 15%" |'''GET/corpus/automark/start'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Начать автоматическую разметку корпуса.
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''taskname''' - произвольное имя задания</small>
 
* <small>'''corpus''' - json строка с размечаемым корпусом[[ [класс1,... классН], текст ],</small>
 
<small>[ [класс1,... классН], текст ]]</small>
 
* <small>'''marks''' - json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],</small>
 
<small>[ метка, [синоним, синоним2 ... синоним Н], порог ]]</small>
 
* <small>'''appendMarks''' - "yes" - дополнить разметку, "no" -заменить разметку</small>
| colspan="2" style="width: 50%" |<small><code>{</code></small>
<small><code>  "error": 0,</code></small>
 
<small><code>  "message": "success",</code></small>
 
<small><code>  "id": "уникальный id задания"</code></small>
 
<small><code>}</code></small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/automark/status/{id}'''
!style="color: blue;width: 15%" |'''GET/corpus/automark/status/{id}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |<small>Получить статус задания на автоматическую разметку корпуса.</small>
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''id''' - идентификатор задания</small>
| colspan="2" style="width: 50%" |<small>{</small>
 
<small>  "error": "",</small>
 
<small>  "status": "finished",</small>
 
<small>  "started": "2024-10-09 13:49:46",</small>
 
<small>  "finished": "2024-10-09 13:49:46",</small>
 
<small>  "progress": 0</small>
 
<small>}</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/automark/stop/{id}'''
!style="color: blue;width: 15%" |'''GET/corpus/automark/stop/{id}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Прервать задание на автоматическую разметку корпуса.
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''id''' - идентификатор задания</small>
| colspan="2" style="width: 50%" |<small>{  "error": 0,</small>
 
<small>  "message": "success"}</small>
|-
|-
!style="color: green;width: 15%" |'''POST/corpus/copy/{servicetype}'''
!style="color: green;width: 15%" |'''POST/corpus/copy/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Копирования корпуса данных
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''srcname''' — текущее имя</small>
* <small>'''dstname''' — новое имя</small>
| colspan="2" style="width: 50%" |<small>{</small>
 
<small>  "error": 0,</small>
 
<small>  "message": "success"</small>
 
<small>}</small>
|-
|-
!style="color: red;width: 15%" |'''DELETE/corpus/delete/{servicetype}'''
!style="color: red;width: 15%" |'''DELETE/corpus/delete/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Удаляет корпус с данными
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''name''' — название корпуса</small>
| colspan="2" style="width: 50%" |<small>{  "error": 0,</small>
 
<small>  "message": "success"}</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/export/{servicetype}'''
!style="color: blue;width: 15%" |'''GET/corpus/export/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Возвращает текстовый файл с корпусом, <small>содержащий строки вида КЛАСС<TAB>ФРАЗА</small>
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''name''' — название корпуса</small>
| colspan="2" style="width: 50%" |<small>Файл name.txt</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/get/{servicetype}'''
!style="color: blue;width: 15%" |'''GET/corpus/get/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Возвращает JSON с данными корпуса
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''name''' — название корпуса</small>
| colspan="2" style="width: 50%" |<code><small>[</small></code>
<code><small>  [ "тэг",</small></code>
 
<code><small>    "фраза"</small></code>
 
<code><small>  ],</small></code>
 
<code><small>  ...</small></code>
 
<code><small>]</small></code>
|-
|-
!style="color: green;width: 15%" |'''POST/corpus/import/{servicetype}'''
!style="color: green;width: 15%" |'''POST/corpus/import/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Метод для импорта корпуса данных. <small>Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае из логов.</small>
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''name''' — название корпуса</small>
* <small>'''csv''' — файл данных</small>
* <small>'''startDate''' — дата начала выборки, YYYY-MM-DD</small>
* <small>'''stopDate''' — дата окончания выборки, YYYY-MM-DD</small>
* <small>'''model''' — имя модели, из логов которой будет произведен импорт</small>
* <small>'''limit''' — числовое ограничение строк импорта</small>
| colspan="2" style="width: 50%" |<small>{</small>
 
<small>  "error": 0,</small>
 
<small>  "message": "success"</small>
 
<small>}</small>
|-
|-
!style="color: blue;width: 15%" |'''GET/corpus/list/{servicetype}'''
!style="color: blue;width: 15%" |'''GET/corpus/list/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Возвращает список всех корпусов данных для указанного типа сервиса
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
| colspan="2" style="width: 50%" |<small>[ "корпус1",</small>
 
<small>"корпус2",</small>
 
<small>  ...]</small>
|-
|-
!style="color: green;width: 15%" |'''POST/corpus/put/{servicetype}'''
!style="color: green;width: 15%" |'''POST/corpus/put/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |Перезаписывает корпус отправленным массивом данных
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''name''' — название корпуса</small>
* <small>'''json''' — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}</small>
| colspan="2" style="width: 50%" |<small>{</small>
 
<small>  "error": 0,</small>
 
<small>  "message": "success"</small>
 
<small>}</small>
|-
|-
!style="color: green;width: 15%" |'''POST/corpus/rename/{servicetype}'''
!style="color: green;width: 15%" |'''POST/corpus/rename/{servicetype}'''
! colspan="3" style="width: 85%" |T
! colspan="3" style="width: 85%" |<small>Переименование корпуса</small>
|-
|-
| colspan="2" style="width: 50%" |T
| colspan="2" style="width: 50%" |
| colspan="2" style="width: 50%" |T
* <small>'''servicetype''' — тип сервиса</small>
* <small>'''srcname''' — текущее имя</small>
* <small>'''dstname''' — новое имя</small>
| colspan="2" style="width: 50%" |<small>{</small>
 
<small>  "error": 0,</small>
 
<small>  "message": "success"</small>
 
<small>}</small>
|}
|}



Версия от 21:08, 22 октября 2024

Описание часто используемых параметров
Параметр Тип Описание
servicetype запрос Тип сервиса. Возможные значения: spr, smc, see, sbs, tts
servertype запрос Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы)
model запрос Название модели
modeltype запрос Тип модели. Возможные значения: future — планируемая/черновик, current — текущая/рабочая, previous — архивная.
error ответ Флаг ошибки
message ответ Информационное сообщение


"/external modules" методы внешних модулей

В этом разделе будут методы соответствующим образом оформленных внешних модулей

/auth: методы авторизации
POST/auth/access Получение токенов доступа. Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.
  • username — логин
  • password — пароль
{

"x-access-token": "XXXXXXXXXXXXXXXXXXXX",

"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX"

}

POST/auth/dataset/add Добавление dataset (набора данных) dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.
  • data - json строка вида: {    "name": "название нового набора"    }
{

"error": 0

"message": "success",

"dataset_id": "XXXXXXXXXXXXX"

}

DELETE/auth/dataset/delete/{id} Удаление dataset (набора данных).
  • id — идентификатор набора данных
{

"error": 0,

"message": "success"

}

POST/auth/dataset/modify/{id} Переименование dataset (набора данных) Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.
  • id — идентификатор набора данных
  • data — JSON c новыми параметрами
{

"error": 0,

"message": "success"

}

GET/auth/datasets Получение списка наборов данных
Нет входных параметров [

{"id": "XXXXXXXXXXXXXXXXXX",

"name": "XXX"},

{"id": "0",

"name": "По умолчанию"}

]

GET/auth/refresh Обновление токенов доступа. Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.
  • x-refresh-token — токен обновления доступа
{

"x-access-token": "XXXXXXXXXXXXXXXXXXXX",

"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX"

}

GET/auth/rights Получение списка прав доступа. Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.
Нет входных параметров <<<{  "РОЛЬ": [

    "GET:/......"  ],

  "nopassword": [    "GET:/.......",

...............

<<<...............

    "POST:/......." ] }

POST/auth/role/add Создание роли. Служебный метод — используется веб-интерфейсом при создании роли.
  • data — JSON с параметрами роли:{

"name": "проверка создания",

"rights": [    "набор прав через запятую" ]

}

{

"error": 0, "message": "success", "role_id": "a7e68bb83169f864c2fc868401b5250c"

}

DELETE/auth/role/delete/{id} Удаление роли.
  • id роли
{"error": 0,"message": "success"}
POST/auth/role/modify/{id} Изменение роли. Параметры как при создании роли. Роль будет переписана.
  • id роли
  • data — JSON с параметрами роли:{

"name": "проверка создания",

"rights": [    "набор прав через запятую" ]

}

{"error": 0,"message": "success"}
GET/auth/roles Получение списка ролей.
Нет входных параметров [{

"id": "XXXXXXXXXXX",

"name": "имя роли",

"rights": [ "набор прав через запятую" ]

},............]

POST/auth/user/add Создание нового пользователя. Метод вернет или id нового пользователя или описание ошибки
  • data - json строка {

"username": "login_name", "fullname": "Отображаемое Имя","password": "XXXXX","role": "role_id",

"dataset": "default dataset id", "datasets": [ "dataset id", ................. ] }

{"error": 0,

"message": "success",

"user_id": "XXXXXXXXXXXXXXXX"}

DELETE/auth/user/delete/{id} Удаление пользователя
  • user_id - идентификатор пользователя
{"error": 0,"message": "success"}
GET/auth/user/get/{id} Получение параметров пользователя
  • user_id - идентификатор пользователя
{"id": "XXXXXXXXXX",

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

"datasets": [ "0", "2dc34d3454243522e5407d3a170815a2" ] }

GET/auth/user/info Получение параметров пользователя по его токену доступа. Служебный метод - для предоставления прав текущему пользователю по его токену
  • x-access-token
{"id": "XXXXXXXXXX",

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

"datasets": [ "0", "2dc34d3454243522e5407d3a170815a2"] }, "rights": [..........] }

GET/auth/user/list Получение списка пользователей с их параметрами. Тоже самое что и в методе GET /auth/user/info, только для всех пользователей
Нет входных параметров [

{"id": "XXXXXXXXXX",

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

"datasets": [ "0", "2dc34d3454243522e5407d3a170815a2"] }, "rights": [..........] },

......

]

POST/auth/user/modify/{id} Изменение параметров пользователя
  • data — параметры пользователя как при создании
  • id — идентификатор пользователя
{ "error": 0,

"message": "success"}

POST/auth/user/password Смена пароля пользователя по его токену доступа.
  • password
{ "error": 0,"message": "success"}
POST/auth/userlog Получение действий пользователя за период времени по его токену
  • from - начало периода в формате "%Y-%m-%d %H:%M"
  • to - конец периода в формате "%Y-%m-%d %H:%M"
{

  "error": 0,

  "message": "success",

  "data": [

    [

      "время",

      "id",

      "метод",

      {измененные данные в формате метода}

    ],

    [

      "время",

      "id",

      "метод",

      {измененные данные в формате метода}

    ],

    .........

}

GET/auth/version Получение версии сервиса ups
Нет входных параметров {

  "version": "4.082 release"

}

/lang: методы мультиязычности
GET/lang/ Выводит информацию о переводе элементов интерфейса на текущий язык
Нет входных параметров { "see":"Сущности",

"smc":"Классификатор",

... }

GET/lang/wallpaper Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups
Нет входных параметров image/jpeg


/server: получение информации о серверах
GET/server/get/addresses/{servicetype} Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам.

trainer — сервер обучения, cluster — рабочие серверы, connect — время на подключение, read — время на ответ,

failed — время пребывания в сбойных, install — время на установку модели, info — время на получение информации о модели,

counter — счетчик запросов, current — индекс последнего опрошенного cluster-сервера

fail — массив сбойных серверов со временем постановки в сбой.

  • servicetype — тип сервиса
{  "trainer": "http://127.0.0.1:6181",

  "cluster": [ "http://127.0.0.1:6181"  ],

  "timers": {  "connect": 0.5,

    "read": 1,

    "failed": 600,

    "install": 60,

    "info": 3 },

  "counter": 0,

  "current": 0,

  "fail": {"http://127.0.0.1:6181":1686295678} }

GET/server/get/models/{servicetype}/{servertype} Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.
  • servicetype — тип сервиса
  • servertype — тип серверов
{  "http://127.0.0.1:6181": [

    "model1",

    ...

    "modelN"

  ],  ... }

/model: методы работы с моделями
POST/model/add/{servicetype}/{model} Создание пустой модели в указанном сервисе. Доступно для следующих сервисов: smc, see, spr.
  • servicetype — тип сервиса
  • model — название модели
{

"error":0,

"message":"success"

}

POST/model/apply/{servicetype}/{model} Применение установленной на рабочих серверах модели. После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: smc, see, spr.
  • servicetype — тип сервиса
  • model — название модели
{

"error":0,

"message":"success"

}

DELETE/model/delete/{servicetype}/{model} Полностью удаляет модель из системы и со всех управляемых серверов. Доступно для следующих сервисов: smc, see, spr.
  • servicetype — тип сервиса
  • model — название модели
{

"error":0,

"message":"success"

}

GET/model/errors/{servicetype}/{model}/{modeltype} Запрос на получение списка ошибок модели после тестирования. Если тестирования не было, то содержит ошибки проверки на обучающем корпусе. Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).
  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
[ [true, predicted, phrase],

... ]

GET/model/export/{servicetype}/{model}/{modeltype} Экспорт модели, модель скачивается в виде zip-архива.
  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
Файл model.zip, где model — название модели
GET/model/handler/{servicetype}/{model} Получение файла-постобработчика из модели типа future.
  • servicetype — тип сервиса
  • model — название модели
Файл handler.py
POST/model/handler/{servicetype}/{model} Отправка файла-постобработчика в указанную модель типа future. Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя smc и see.
  • servicetype — тип сервиса
  • model — название модели
  • handler — файл, содержащий программный код python постобработчика
{"error":0,

"message":"success"

}

DELETE/model/handler/{servicetype}/{model} Удаление постобработчика из модели типа future. Более подробно об обработчике см. руководства пользователя smc и see.
  • servicetype — тип сервиса
  • model — название модели
{"error":0,

"message":"success"

}

GET/model/handler/{servicetype}/{model}/{modeltype} Получение файла-постобработчика из указанной модели указанного типа.
  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
Файл handler.py
POST/model/handler/{servicetype}/{model}/{modeltype} Отправка файла-постобработчика в указанную модель указанного типа. Становится активным сразу после успешной отправки.
  • modeltype — тип модели
  • servicetype — тип сервиса
  • model — название модели
  • handler — файл, содержащий программный код python постобработчика
{

"error":0,

"message":"success"

}

DELETE/model/handler/{servicetype}/{model}/{modeltype} Удаление постобработчика в указанной модели указанного типа.
  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
{

"error":0,

"message":"success"

}

POST/model/import/{servicetype}/{model} Импортирует модель в черновик (modeltype=future)
  • servicetype — тип сервиса
  • model — название модели
  • zip-model — zip с файлами модели
{

"error":0,

"message":"success"

}

GET/model/info/{servicetype} Получение информации о всех моделях указанного сервиса. Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.
servicetype — тип сервиса {   "model1": {

    "previous": null,

    "current": null,

    "future": {

      "status": "empty",

      ...

    }   },  ... }

GET/model/info/{servicetype}/{model} Получение информации о каждом типе (modeltype) указанной модели. Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.
  • servicetype — тип сервиса
  • model — название модели
{   "previous": null,

  "current":  {

    "status": "trained",

    ... },

  "future": {

    "status": "trained",

    ...  } }

POST/model/install/{servicetype}/{model} Установка импортированной или обученной модели на рабочих серверах.

Доступно для следующих сервисов: smc, see, spr.

  • servicetype — тип сервиса
  • model — название модели
{

"error":0,

"message":"success"

}

GET/model/log/{servicetype}/{model}/{modeltype} Выводит лог обучения и тестирования модели. Доступно для следующих сервисов: smc, see.
  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
[

  "training",

  "preparing data",

  "tokenizing",

  ...

]

POST/model/restore/{servicetype}/{model} Откат модели. Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:
  • current -> future
  • previous -> current
  • null -> previous
  • servicetype — тип сервиса
  • model — название модели
{"error":0,

"message":"success"

}

/corpus: работа с данными для обучения моделей

Методы данного класса предназначены только для сервисов smc и see


GET/corpus/automark/list Перечень заданий автоматической маркировки корпусов.
Нет входных параметров {  "error": 0,

  "message": "success",

  "tasks": [ {

      "id": "29d9da98-d6c1-4dc1-bbc9-111309816002",

      "taskname": "test_doc",

      "status": "finished"    },

    {  "id": "1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c",

      "taskname": "sssss",

      "status": "finished"    }  ] }

GET/corpus/automark/result/{id} Результат выполнения задания на автомаркировку корпуса. Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания
  • id - идентификатор задания
{
 "error": 0,
 "message": "success",
 "started": "2024-10-09 18:05:51",
 "finished": "2024-10-09 18:05:51",
 "corpus": [[ [], [ ["тэг"],"фраза 1"]],
   [ [], [["тэг"],"фраза 2"]] ]

}

GET/corpus/automark/start Начать автоматическую разметку корпуса.
  • taskname - произвольное имя задания
  • corpus - json строка с размечаемым корпусом[[ [класс1,... классН], текст ],

[ [класс1,... классН], текст ]]

  • marks - json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],

[ метка, [синоним, синоним2 ... синоним Н], порог ]]

  • appendMarks - "yes" - дополнить разметку, "no" -заменить разметку
{

  "error": 0,

  "message": "success",

  "id": "уникальный id задания"

}

GET/corpus/automark/status/{id} Получить статус задания на автоматическую разметку корпуса.
  • id - идентификатор задания
{

  "error": "",

  "status": "finished",

  "started": "2024-10-09 13:49:46",

  "finished": "2024-10-09 13:49:46",

  "progress": 0

}

GET/corpus/automark/stop/{id} Прервать задание на автоматическую разметку корпуса.
  • id - идентификатор задания
{  "error": 0,

  "message": "success"}

POST/corpus/copy/{servicetype} Копирования корпуса данных
  • servicetype — тип сервиса
  • srcname — текущее имя
  • dstname — новое имя
{

  "error": 0,

  "message": "success"

}

DELETE/corpus/delete/{servicetype} Удаляет корпус с данными
  • servicetype — тип сервиса
  • name — название корпуса
{  "error": 0,

  "message": "success"}

GET/corpus/export/{servicetype} Возвращает текстовый файл с корпусом, содержащий строки вида КЛАСС<TAB>ФРАЗА
  • servicetype — тип сервиса
  • name — название корпуса
Файл name.txt
GET/corpus/get/{servicetype} Возвращает JSON с данными корпуса
  • servicetype — тип сервиса
  • name — название корпуса
[

  [ "тэг",

    "фраза"

  ],

  ...

]

POST/corpus/import/{servicetype} Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае из логов.
  • servicetype — тип сервиса
  • name — название корпуса
  • csv — файл данных
  • startDate — дата начала выборки, YYYY-MM-DD
  • stopDate — дата окончания выборки, YYYY-MM-DD
  • model — имя модели, из логов которой будет произведен импорт
  • limit — числовое ограничение строк импорта
{

  "error": 0,

  "message": "success"

}

GET/corpus/list/{servicetype} Возвращает список всех корпусов данных для указанного типа сервиса
  • servicetype — тип сервиса
[ "корпус1",

"корпус2",

  ...]

POST/corpus/put/{servicetype} Перезаписывает корпус отправленным массивом данных
  • servicetype — тип сервиса
  • name — название корпуса
  • json — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}
{

  "error": 0,

  "message": "success"

}

POST/corpus/rename/{servicetype} Переименование корпуса
  • servicetype — тип сервиса
  • srcname — текущее имя
  • dstname — новое имя
{

  "error": 0,

  "message": "success"

}


Метод Описание Входные параметры Ответ Пояснения
POST

/corpus/copy/{servicetype}

метод api для копирования корпуса данных
  • servicetype — тип сервиса
  • srcname — текущее имя
  • dstname — новое имя
{

  "error": 0,

  "message": "success"

}

DELETE

/corpus/delete/{servicetype}

Удаляет корпус с данными
  • servicetype — тип сервиса
  • name — название корпуса
{

  "error": 0,

  "message": "success"

}

GET

/corpus/export/{servicetype}

Возвращает текстовый файл с данными, содержащий строки вида КЛАСС<TAB>ФРАЗА
  • servicetype — тип сервиса
  • name — название корпуса
Файл name.txt
GET

/corpus/get/{servicetype}

Возвращает JSON с данными корпуса
  • servicetype — тип сервиса
  • name — название корпуса
[

  [ "generalPayments",

    "соцвыплата"

  ],

  ...

]

Список вложенных списков со значениями «Класс» и «Фраза».
POST

/corpus/import/{servicetype}

Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае из логов.
  • servicetype — тип сервиса
  • name — название корпуса
  • csv — файл данных
  • startDate — дата начала выборки, YYYY-MM-DD
  • stopDate — дата окончания выборки, YYYY-MM-DD
  • model — имя модели, из логов которой будет произведен импорт
  • limit — числовое ограничение строк импорта
{

  "error": 0,

  "message": "success"

}

GET

/corpus/list/{servicetype}

Возвращает список всех корпусов данных для указанного типа сервиса
  • servicetype — тип сервиса
[

 "корпус1",

 "корпус2",

  ...

]

Список с названиями всех имеющихся корпусов
POST

/corpus/put/{servicetype}

Перезаписывает корпус отправленным массивом данных
  • servicetype — тип сервиса
  • name — название корпуса
  • json — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}
{

  "error": 0,

  "message": "success"

}

POST

/corpus/rename/{servicetype}

Переименование корпуса
  • servicetype — тип сервиса
  • srcname — текущее имя
  • dstname — новое имя
{

  "error": 0,

  "message": "success"

}

/spr: работа с сервисом SPR
Метод Описание Входные параметры Ответ Пояснения
GET/spr/audio/{taskID} Метод для получения аудиофайла отложенного задания taskID — идентификатор задания в очереди Wav файл
GET/spr/queue Метод для получения очереди отложенных заданий {

  "id задания": {

   "created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ",

   "status": "waiting",

   "filename": "wav"

}

Статусы

ready — готово

waiting — ожидание

failed — сбой

DELETE/spr/queue/{taskID} Метод для удаления задания из очереди taskID — идентификатор задания в очереди {

"error": 0,

"message": "success"

}

GET/spr/result/{taskID} Метод для получения результатов распознавания отложенного задания taskID — идентификатор задания в очереди Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:

ready — готово

waiting — ожидание

not found — не найдена

failed — сбой

POST

/stt/{model}

Метод для отправки файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора SPR. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему.
  • model — идентификатор модели
  • denoise — уровень шумоподавления
  • wav — файл для распознавания
  • speakers — опция разделения по говорящим
{

"model":"name",

"text":"текст без разбивки",

"speakers":[

{

  "gender":"MALE",

  "age":"20-29",

  "emotion":"BORE",

  "id":"Ivan"

}, ...

]

"splitted":[

{

  "start":"00:00:02",

  "stop":"00:00:10",

  "channel":0,

  "duration":"00:00:08",

  "start_ms":2255,

  "stop_ms":10995,

  "duration_ms":8740,

  "speaker":0,

  "confidence":0.95,

  "text":"текст"

}, ...

]

}

Более подробное описание доступно в пользователя SPR.
GET/spr/waveform/{taskID} Служебный метод для отображения аудио в графическом виде, содержит пики сигнала taskID — идентификатор задания {
 <<"error": 0,
 "waveform": [
   0.016,
  ..........
  ..........
   0.015,
   0.01
 ]

}


/smc: работа с сервисом SMC
Метод Описание Входные параметры Ответ Пояснения
GET

/smc/classify/{model}

метод для классификации текстовой фразы
  • model — идентификатор модели
  • text — текст, подлежащий классификации
  • confidenceThreshold, % — минимальный порог доверия.
{

  "classes": [

    {

      "class": "название класса",

      "confidence": 1

    },

    {

      "class": "название класса 2",

      "confidence": 1

    }

  ],

  "groups": [

    {

      "group": "название группы 1",

      "intersection": 2,

      "classes": [

        "название класса",

        "название класса 2"

      ]

    }

  ],

  "nearest": [

    {

      "group": "название группы 2",

      "percent": 0.6666666666666666,

      "need": "название класса которого не хватило 1"

    },

    {

      "group": ""название группы 3",

      "percent": 0.6666666666666666,

      "need": "название класса которого не хватило 2"

    }

  ]

}

  • classes — отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.
  • groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).
  • nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.
GET

/smc/compress

Убирает из фразы слова не влияющие на ее смысл.
  • text — текст для сжатия
  • threshold — уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе
{

  "text": "сжатый текст"

}

GET

/smc/correct

Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). text — текст для коррекции
GET

/smc/emotion

Анализ эмоций. text — фраза для анализа эмоций { "emotion": "positive", "score": 0.9601 }
POST

/smc/groups/{model}

Добавляет к модели группы из корпуса
  • id — наименование модели
  • corpus — наименование корпуса- источника групп
{

  "error": 0,

  "message": "string"

}

Группы в модели будут перезаписаны
GET

/smc/groups/{model}

Поиск групп по ранее полученным меткам.
  • classes — набор меток через запятую
  • model — имя модели
{

"groups": [

   {

     "group": "Группа 1",

     "intersection": 3,

     "classes": [

       "метка1_о",

       "метка2_о",

       "метка3_о"

     ]

   },

   {

     "group": "Группа 2",

     "intersection": 2,

     "classes": [

       "метка1_о",

       "метка5_о"

     ]

   }

],

"nearest": [

   {

     "group": "Группа до которой не хватило 1 метки",

     "percent": 0.75,

     "need": "недостающая метка_о"

   }

]

}

Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток.Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.
GET

/smc/normalize

Обратная нормализация текста text — текст для обработки. {"text": "<строка после обратной нормализации>"} Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.
GET

/smc/punctuate

Расстановка знаков препинания text — текст для преобразования. {

  "text": "string"

}

POST

/smc/stop/{model}

Остановка обучения модели. model — имя модели/ {

  "error": 0,

  "message": "string"

}

Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.
POST

/smc/test/{model}

Запуск тестирования модели smc
  • model — идентификатор модели
  • corpus — название корпуса с тестовыми данными
{  "error": 0,

  "message": "success"

}

Метод асинхронный, статус тестирования можно запросить методом GET

/info/{servicetype}/{model}

POST

/smc/train/{model}

Запуск обучения модели future
  • model — идентификатор модели
  • corpus — название корпуса с данными
{  "error": 0,

  "message": "success"

}

Метод асинхронный, статус обучения можно запросить методом GET

/info/{servicetype}/{model}

/see: работа с сервисом SEE
Метод Описание Входные параметры Ответ Пояснения
GET

/entities/{model}

метод для поиска сущностей
  • model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями
  • text — текст
  • similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.
{ID-модели: [{

position: 0,

confidence: 1,

text: текст сущности,

calculated: vaktsinatsiya

}, {...}

]

}

Вернется массив со всеми моделями, в которых были найдены сущности. Каждая переменная с названием модели будет содержать список всех найденных сущностей.
  • position — позиция слова начала фрагмента, определяющего сущность
  • confidence — вероятность правильного определения сущности
  • calculated — поле, содержащее измененное постобработчиком (при его наличии) значение сущности либо код сущности, использованный при обучении модели.
POST

/stop/{model}

Остановка обучения модели
  • model — идентификатор модели
{  "error": 0,

  "message": "success"

}

POST

/train/{model}

Запуск обучения модели future
  • model — идентификатор модели
  • corpus — название корпуса с данными
  • noise — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0
{  "error": 0,

  "message": "success"

}

Метод асинхронный, статус обучения можно запросить методом GET

/info/{servicetype}/{model}

/sbs: работа с сервисом SBS
Метод Описание Входные параметры Ответ Пояснения
POST

/sbs/analyze

Получение аналитических метаданных из голосового фрагмента
  • wav — файл для анализа
{ age: { class: 20-29, confidence: 0.99 }, emotion: { class: SADNESS, confidence: 0.99 }, gender: { class: FEMALE, confidence: 0.99 } } Более подробные сведения находятся в руководстве пользователя SBS.
POST/sbs/search Поиск говорящего по базе слепков
  • wav для анализа
{ error: 0, speaker: Ivan, confidence: 0.79 }
POST

/sbs/speakers/add

Добавление нового говорящего
  • name — наименование говорящего
  • wav — файл для обучения
{

  "error": 0,

  "id": "bd345767-ec94-4a8d-bcef-3ecbdfdd7a8f",

  "message": "success"

}

DELETE

/speaker/{model}/{speaker_id}

Удаление слепка из базы
  • speaker_id — идентификатор говорящего
{  "error": 0,

  "message": "success"

}

GET

/sbs/speakers/list

Выводит список имен и идентификаторов говорящих [

  {

    "id": "4830209e-0be4-495c-a633-4e2159b5368e",

    "name": "наименование1"

  },

  {

    "id": "67acb90c-6217-4878-95d4-691008a00f07",

    "name": "наименование2"

  }

]

POST

/sbs/speakers/modify/{id}

Дообучение имеющегося слепка говорящего
  • wav — голосовой отрезок для обучения
  • id — идентификатор говорящего
{

  "error": 0,

  "message": "Success"

}

POST/sbs/verify/{id} Сравнение оцифрованного представления wav-файла cо слепком в базе
  • speaker_id — идентификатор говорящего
{"error": 0,

"confidence": 0.78

}

/tts: методы работы с сервисом tts
Метод Описание Входные параметры Ответ Пояснения
GET

/tts/dictionary/export

Предназначен для экспорта пользовательского словаря в виде строк привет прив+ет
GET

/tts/dictionary/get

Предназначен для экспорта пользовательского словаря в виде json
<[
  [
    "привет",
    "прив+ет"
  ]
]
POST

/tts/dictionary/import

Предназначен для загрузки пользовательского словаря в виде строк из файла .csv CSV-файл с разделителем — «табуляция». {

 "error": 0,

 "message": "success",

 "answers": {

   "http://127.0.0.1:6186": "{\"error\": 0, \"message\": \"success\"}\n"

 }

}

Пользовательский словарь будет переписан, не дополнен!
POST

/tts/dictionary/put

Предназначен для загрузки пользовательского словаря в виде json списка [ [ "привет", "прив+ет" ] ] {

"error": 0,

"message": "success",

"answers": {

"http://127.0.0.1:6186": "{\"error\": 0, \"message\": \"success\"}\n"

}

}

Пользовательский словарь будет переписан, не дополнен!
GET

/tts/synthesize/{model}

Синтезировать текст
  • text — текст для синтеза
  • rate — скорость речи
  • pitch — высота тона
  • volume — громкость речи
  • model — голос для синтеза
wav-файл с синтезированным текстом
/qas: методы работы с сервисом qas
Метод Описание Входные параметры Ответ Пояснения
GET

/qas/ask

Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе
  • text — текст вопроса, на основе которого будут искаться фрагменты.
  • category — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.
  • channel — id канала
  • creative флаг креативности возможные варианты "yes" "no"
  • useCache — использовать кешированные ответы

возможные варианты:

- "no" не использовать

- "all" использовать все

- "checked" использовать только проверенные

  • useGPT - использовать генеративную сеть для поиска ответов в документах

возможные варианты "yes" "no"

{

"error": 0,

"text": "Здесь будет текст ответа"

}

Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.
GET

/qas/cachemaker/start

Генерация ответов на вопросы в кэше. category — категория для которой генерируются ответы

mode — режим генерации ответов, возможные значения:

  • paraphrase — генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе
  • generate — генерирует кэш через разные ответы на каждый вопрос по документации

variants — количество ответов, от 1 до 9

{"error": 0, "message": "success"}
GET

/qas/cachemaker/status

Состояние генерации ответов на вопросы в кэше.Статусы: started, stopped, если были ошибки, поле ответа error будет содержать код ошибки. {

  "error": "",

  "status": "started",

  "progress": 33.33

}

GET

/qas/cachemaker/stop

Остановить генерацию ответов на вопросы в кэше. {"error": 0, "message": "success"}
POST/qas/category/add Добавить категорию с указанным именем
  • name — наименование категории
В ответе - id созданной категории или сообщение об ошибке:

{

  "error": 0,

  "message": "success",

  "id": "ad895085-2e48-439a-831e-b5f699b6a54a"

}

DELETE

/qas/category/delete/{id}

Удалить категорию
  • id - идентификатор категории
{

  "error": 0,

  "message": "success"

}

В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.
GET

/qas/category/list

Получить список категорий В ответе json с именами и id категорий
POST

/qas/category/modify/{id}

Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию
  • id — идентификатор категории
  • name — наименование категории
{

  "error": 0,

  "message": "success"

}

POST

/qas/channel/add

Добавление канала
  • name — наименование канала
{

"error": 0,

"message": "success",

"id": "a46fb887-5d98-41e0-8299-bcc94f615e91"

}

В ответе id созданного канала или сообщение об ошибке
DELETE

/qas/channel/delete/{id}

Удаление канала
  • id — идентификатор канала
{

"error": 0, "message": "success"

}

GET

/qas/channel/list

Получить список всех каналов {

  "error": 0,

  "channels": [

    {

      "id": "1",

      "name": "voice"

    },

    {

      "id": "56442779-e871-43fd-ae4d-caf4ab6d09b9",

      "name": "канал++"

    },

    {

      "id": "0",

      "name": "default"

    }

  ]

}

POST

/qas/channel/modify/{id}

Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал
  • name — новое наименование канала
  • id — идентификатор канала
{

  "error": 0,

  "message": "success"

}

POST

/qas/doc/add

Предназначен для загрузки текстового документа
  • text title — заголовок документа
  • text category — категория документа
  • textфайл документа

{

"error": 0,

"message": "success",

"id": "ebe2bc57551c2d17f892987d1f62306d"

}

Добавляет документ в базу.
DELETE

/qas/doc/delete/{id}

Предназначен для удаления документа id — идентификатор документа {"error": 0,"message": "success"}
GET

/qas/doc/get/{id}

Предназначен для выгрузки текста документа id — идентификатор документа {

  "error": 0,

  "text": "Здесь будет полный текст документа"

}

GET

/qas/doc/list

Предназначен для получения списка имеющихся документов {

  "error": 0,

  "docs": [

    {

      "id": "d4999cdee5ad1faf2cb3066ea1b5e96b",

      "title": "PVE. Установка сервисного пакета окружения",

      "category": "Техническая поддержка"

    },

    {

      "id": "759042575b965745b9d2af869bca1740",

      "title": "UPS. Руководство администратора",

      "category": "Техническая поддержка"

    }

  ]

}

POST

/qas/doc/modify/{id}

Метод для обновления документа
  • data — json c изменяемыми параметрами документа

{

  title: string,

  category: string,

  text: string

}

параметр который не меняется может отсутствовать в json

  • id — идентификатор документа.
В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.

{"error": INT, "message": DESCRIPTION}

POST

/qas/question/add

Метод для добавления вопроса
  • question - текст вопроса
  • category - id категории к которой относится вопрос
  • answers - ответы в виде Json:

[ { "checked": true, "channel": "0", "answer": "ответ" } ]

  • aliases - вопросы к которым подходят ответы из блока answers в виде json:

["вопрос","еще вопрос"]

В случае успеха метод вернет id вопроса, в случае неудачи - код ошибки.

{

  "error": 0,

  "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"

}

DELETE

/qas/question/delete/{id}

Метод для удаления вопроса id — идентификатор вопроса В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.

{"error": INT, "message": DESCRIPTION}

GET

/qas/question/get/{id}

Метод для получения вопроса вместе с ответами и синонимами вопроса id — идентификатор вопроса {

  "error": 0,

  "answers": [

    {

      "checked": true,

      "channel": "0",

      "answer": "ответ"

    }

  ],

  "aliases": [

    "вопрос",

    "синоним вопроса",

    "еще синоним вопроса"

  ]

}

GET

/qas/question/list

Метод для получения списка вопросов. {

  "error": 0,

  "questions": [

    {

      "id": "77b42c9b-2075-4a5f-b6d9-a284bba7cf43",

      "question": "вопрос",

      "category": "9580b3b7-34cb-4d0e-ba75-d17313ead16d"

    },

    {

      "id": "d1836e5e-010e-4f3a-b306-813c3acb7efb",

      "question": "n-й второй вопрос",

      "category": "7d8a3415-cb09-4dad-a169-478ba15ade47"

    }

  ]

}

POST

/qas/question/modify/{id}

Метод для модификации вопроса. Позволяет заменить как все параметры так и отдельные
  • data - json c измененными параметрами, пример полного:

{   "answers": [

    {

      "checked": true,

      "channel": "0",

      "answer": "новый ответ"

    }

  ],

"question":"новый вопрос",

"category": "a3801cc0-f8e5-4f3b-bb10-e42148cd772b",

  "aliases": [

    "новый вопрос",

    "синоним",

    "еще синоним"

  ]

}

  • id — идентификатор вопроса
В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.

{"error": INT, "message": DESCRIPTION}

GET

/qas/questionmaker/start

Запуск генерации вопросов для кэша.
  • category — категория, для которой выполнится генерация вопросов.
{"error": 0, "message": "success" } По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.
GET

/qas/questionmaker/status

Проверка состояния генерации {

  "error": "",

  "status": "stopped",

  "progress": 0

}

Статусы: started, stopped.

Если были ошибки поле ответа error будет содержать код ошибки

GET

/qas/questionmaker/stop

Прервать генерацию. {"error": 0, "message": "success"}
GET/qas/search Предназначен для поиска фрагментов содержащих ответ
  • text — текст запроса


  • category — категория (раздел) знаний
{

  "error": 0,

  "text": "

  Фрагмент 1:Здесь будет текст найденного фрагмента

  Фрагмент 2:Здесь будет текст найденного фрагмента",

  "fragments": [

    {

      "id": "3a386b0a9e0e19efb0870685e1d0b484",

      "title": "Заголовок документа",

      "category": "Категория документа",

      "text": "Здесь будет текст найденного фрагмента"

    },

    {

      "id": "44fd73ea1ac63f32cf18d79c854dbfe2",

      "title": "Заголовок документа",

      "category": "Категория документа",

      "text": "Здесь будет текст найденного фрагмента"

    }

  ]

}

/transcription: методы работы со стенографией
Метод Описание Входные параметры Ответ Пояснения
GET

/transcription/audio/{id}

Предназначен для получения аудиофайла по id стенограммы
  • id — идентификатор стенограммы
wav файл сохраненной стенограммы Идентификатор нужной стенограммы можно получить методом

"GET /transcription/list"

POST

/transcription/create

Предназначен для создания стенограммы из завершенного задания в очереди распознавания
  • taskID — идентификатор задания из очереди
{
"error": 0,
"message": "success",
"id": "74721a3b-9055-4650-9afb-de4d103cafc7"

}

В ответ придет id созданной стенограммы
DELETE

/transcription/delete/{id}

Предназначен для удаления стенограммы id — идентификатор стенограммы {"error": 0,"message": "success"}
GET

/transcription/get/{id}

Предназначен для получения стенограммы id — идентификатор стенограммы стенограмма в json формате Используется для отображения стенограммы в веб интерфейсе
GET

/transcription/list

Предназначен для получения списка сохраненных стенограмм [

{

"id": "926e8d25-4275-4a78-906b-a1109cdacbea",

"name": "название",

"model": "big",

"created": "2024-03-29 12:37:42",

"modified": "2024-04-24 16:09:09",

"user": "0",

"dataset": "0"

}

]

-
POST

/transcription/save/{id}

Предназначен для сохранения стенограмы стенограмма в json формате

id стенограммы

Используется для сохранения изменений по нажатию кнопки «Сохранить».
GET

/transcription/waveform/{id}

Служебный метод для отображения аудио в графическом виде, содержит пики сигнала id — идентификатор стенограммы {
 <<<"error": 0,
 "waveform": [
   0.016,
  ..........
  ..........
   0.015,
   0.01
 ]

}