UPS. Описание API: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
|||
| Строка 20: | Строка 20: | ||
|'''<small>modeltype</small>''' | |'''<small>modeltype</small>''' | ||
|<small>запрос</small> | |<small>запрос</small> | ||
|<small>Тип модели. Возможные значения: '''future''' | |<small>Тип модели. Возможные значения: '''future''' — планируемая/черновик, '''current''' — текущая/рабочая, '''previous''' — архивная.</small> | ||
|- | |- | ||
|'''<small>error</small>''' | |'''<small>error</small>''' | ||
| Строка 47: | Строка 47: | ||
<small>/auth/access</small> | <small>/auth/access</small> | ||
|<small>Предназначен для получения токенов доступа</small> | |<small>Предназначен для получения токенов доступа</small> | ||
| <small>username | | <small>username — логин | ||
password | password — пароль</small> | ||
</small> | |<small><code>{ | ||
|<small>{ | |||
"x-access-token": "XXXXXXXXXXXXXXXXXXXX", | "x-access-token": "XXXXXXXXXXXXXXXXXXXX", | ||
"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" | "x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" | ||
</code><code>}</code></small> | |||
| <small>Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.</small> | |||
}</small> | |||
| <small>Токен доступа определяет какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе | |||
|- | |- | ||
|<small>POST</small><small>/auth/dataset/add</small> | |<small>POST</small><small>/auth/dataset/add</small> | ||
|<small>Предназначен для добавления dataset (набора данных)</small> | |<small>Предназначен для добавления dataset (набора данных)</small> | ||
| | |<small><code>{ </code></small> | ||
<small>"name": "test2" | <small><code>"name": "test2" </code></small> | ||
<small><code>}</code></small> | |||
|<code>{</code> | |||
<code>"error": 0</code> | |||
" | <code>"message": "success",</code> | ||
<code>"dataset_id": "XXXXXXXXXXXXX"</code> | |||
"message": "success" | <code>}</code> | ||
|<small>dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.</small> | |||
|- | |||
|<small>DELETE</small><small>/auth/dataset/delete/{id}</small> | |||
|<small>Предназначен для удаления dataset (набора данных)</small> | |||
|'''id''' — идентификатор набора данных | |||
|<code>{<br />"error": 0,<br />"message": "success"</code> | |||
<code>}</code> | |||
} | | <small>—</small> | ||
| | |||
|- | |- | ||
|<small>POST</small><small>/auth/dataset/modify/{id}</small> | |<small>POST</small><small>/auth/dataset/modify/{id}</small> | ||
|<small>Предназначен для переименования dataset (набора данных)</small> | |<small>Предназначен для переименования dataset (набора данных)</small> | ||
|<small>'''id''' | |<small>'''id''' — идентификатор набора данных</small><small>'''data''' — JSON c новыми параметрами</small> | ||
|{ | |<code>{</code> | ||
"error": 0, | <code>"error": 0,</code> | ||
"message": "success" | |||
} | <code>"message": "success"</code> | ||
|<small>Метод меняет все параметры набора данных, но на данный момент времени у набора данных кроме id только один параметр | |||
<code>}</code> | |||
|<small>Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.</small> | |||
|- | |- | ||
|<small>GET</small><small>/auth/datasets</small> | |<small>GET</small><small>/auth/datasets</small> | ||
|<small>Предназначен для получения списка наборов данных</small> | |<small>Предназначен для получения списка наборов данных</small> | ||
| | | <small>—</small> | ||
|[ | |<code>[</code> | ||
{"id": "XXXXXXXXXXXXXXXXXX", | <code>{"id": "XXXXXXXXXXXXXXXXXX",</code> | ||
"name": "XXX"}, | <code>"name": "XXX"},</code> | ||
{"id": "0", | <code>{"id": "0",</code> | ||
"name": "По умолчанию"} | <code>"name": "По умолчанию"}</code> | ||
] | <code>]</code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small><small>/auth/refresh</small> | |<small>GET</small><small>/auth/refresh</small> | ||
|<small>Предназначен для обновления токенов доступа</small> | |<small>Предназначен для обновления токенов доступа</small> | ||
|<small>'''x-refresh-token''' | |<small>'''x-refresh-token''' — токен обновления доступа</small> | ||
|<small>{ | |<small><code>{ | ||
"x-access-token": "XXXXXXXXXXXXXXXXXXXX", | "x-access-token": "XXXXXXXXXXXXXXXXXXXX", | ||
"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" | "x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" | ||
</code><code>}</code></small> | |||
|<small>Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime</small><small>конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.</small> | |||
}</small> | |||
|<small>Время в течение которого можно обновить доступ регулируется параметром auth.refreshLifeTime</small> | |||
<small>конфигурационного файла. Служебный метод, используется в основном в | |||
|- | |- | ||
|<small>GET</small><small>/auth/rights</small> | |<small>GET</small><small>/auth/rights</small> | ||
|<small>Предназначен для получения списка прав доступа</small> | |<small>Предназначен для получения списка прав доступа</small> | ||
| | | <small>—</small> | ||
| | | | ||
<<{ | <code><<{ | ||
"РОЛЬ": [ | "РОЛЬ": [ | ||
"GET:/......" | "GET:/......" | ||
| Строка 132: | Строка 124: | ||
"nopassword": [ | "nopassword": [ | ||
"GET:/.......", | "GET:/.......", | ||
............... | ...............</code> | ||
<<............... | <code><<............... | ||
"POST:/......." | "POST:/......." | ||
] | ] | ||
} | }</code> | ||
|<small>Служебный метод | |<small>Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.</small> | ||
|- | |- | ||
|<small>POST</small><small>/auth/role/add</small> | |<small>POST</small><small>/auth/role/add</small> | ||
|<small>Предназначен для создания роли</small> | |<small>Предназначен для создания роли</small> | ||
|<small>'''data''' | |<small>'''data''' — JSON с параметрами роли:</small><small><code>{</code></small> | ||
<small>"name": "проверка создания", </small> | <small><code>"name": "проверка создания", </code></small> | ||
<small>"rights": [ </small><small> "набор прав через запятую" </small><small>] </small><small>}</small> | |||
|<small>{ | <code><small>"rights": [ </small><small> "набор прав через запятую" </small><small>] </small></code> | ||
"error": 0, | |||
<code><small>}</small></code> | |||
|<small><code>{</code> | |||
<code>"error": 0, | |||
"message": "success", | "message": "success", | ||
"role_id": "a7e68bb83169f864c2fc868401b5250c" | "role_id": "a7e68bb83169f864c2fc868401b5250c" | ||
}</small> | }</code></small> | ||
|<small>Служебный метод - | |<small>Служебный метод — используется веб-интерфейсом при создании роли.</small> | ||
|- | |- | ||
|<small>DELETE</small><small>/auth/role/delete/{id}</small> | |<small>DELETE</small><small>/auth/role/delete/{id}</small> | ||
|<small>Предназначен для удаления роли</small> | |<small>Предназначен для удаления роли</small> | ||
|<small>'''id''' роли</small> | |<small>'''id''' роли</small> | ||
|<small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small> | |<code><small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small></code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small><small>/auth/role/modify/{id}</small> | |<small>POST</small><small>/auth/role/modify/{id}</small> | ||
|<small>Предназначен для изменения роли</small> | |<small>Предназначен для изменения роли</small> | ||
|<small>'''id роли'''</small><small>'''data''' | |<small>'''id роли'''</small><small>'''data''' — JSON с параметрами роли</small> | ||
|<small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small> | |<code><small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small></code> | ||
|<small> | |<small>Параметры как при создании роли. Роль будет переписана.</small> | ||
|- | |- | ||
|<small>GET</small><small>/auth/roles</small> | |<small>GET</small><small>/auth/roles</small> | ||
|<small>Предназначен для получения списка ролей</small> | |<small>Предназначен для получения списка ролей</small> | ||
| | | <small>—</small> | ||
|<small>[</small> | |<small><code>[</code></small> | ||
<small>{</small> | <small><code>{</code></small> | ||
<small>"id": "XXXXXXXXXXX",</small> | <small><code>"id": "XXXXXXXXXXX",</code></small> | ||
<small>"name": "имя роли",</small> | <small><code>"name": "имя роли",</code></small> | ||
<small>"rights": [ "набор прав через запятую" ]</small> | <small><code>"rights": [ "набор прав через запятую" ]</code></small> | ||
<small>},</small> | <small><code>},</code></small> | ||
<small>............</small> | <small><code>............</code></small> | ||
<small>]</small> | <small><code>]</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
<small>/auth/user/add</small> | <small>/auth/user/add</small> | ||
|<small>Предназначен для создания нового пользователя</small> | |<small>Предназначен для создания нового пользователя</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small>"username": "login_name",</small> | <code><small>"username": "login_name",</small> | ||
<small>"fullname": "Отображаемое Имя",</small><small>"password": "XXXXX",</small><small>"role": "role_id",</small> | <small>"fullname": "Отображаемое Имя",</small><small>"password": "XXXXX",</small><small>"role": "role_id",</small></code> | ||
<small>"dataset": "default dataset id",</small> | <code><small>"dataset": "default dataset id",</small> | ||
<small>"datasets": [ "dataset id",</small> | <small>"datasets": [ "dataset id",</small> | ||
<small>................. ]</small> | <small>................. ]</small> | ||
<small>}</small> | <small>}</small></code> | ||
|<small>{</small> | |<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>"user_id": "XXXXXXXXXXXXXXXX"</small> | <small><code>"user_id": "XXXXXXXXXXXXXXXX"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>DELETE</small> | |<small>DELETE</small> | ||
| Строка 215: | Строка 210: | ||
|<small>Предназначен для получения параметров пользователя</small> | |<small>Предназначен для получения параметров пользователя</small> | ||
|<small>'''user_id'''</small> | |<small>'''user_id'''</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small>"id": "XXXXXXXXXX",</small> | <small><code>"id": "XXXXXXXXXX",</code></small> | ||
<small>"username": "loginname",</small> | <small><code>"username": "loginname",</code></small> | ||
<small>"fullname": "Full Name",</small> | <small><code>"fullname": "Full Name",</code></small> | ||
<small>"role": "0",</small> | <small><code>"role": "0",</code></small> | ||
<small>"dataset": "0",</small> | <small><code>"dataset": "0",</code></small> | ||
<small>"datasets": [</small> | <small><code>"datasets": [</code></small> | ||
<small>"0",</small> | <small><code>"0",</code></small> | ||
<small>"2dc34d3454243522e5407d3a170815a2"]</small> | <small><code>"2dc34d3454243522e5407d3a170815a2"]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 239: | Строка 234: | ||
|<small>Предназначен для получения параметров пользователя по его токену доступа</small> | |<small>Предназначен для получения параметров пользователя по его токену доступа</small> | ||
|<small>'''x-access-token'''</small> | |<small>'''x-access-token'''</small> | ||
|<small>{</small><small>"id": "XXXXXXXXXX",</small> | |<code><small>{</small><small>"id": "XXXXXXXXXX",</small></code> | ||
<small>"username": "loginname",</small> | <small><code>"username": "loginname",</code></small> | ||
<small>"fullname": "Full Name",</small> | <small><code>"fullname": "Full Name",</code></small> | ||
<small>"role": "0",</small> | <small><code>"role": "0",</code></small> | ||
<small>"dataset": "0",</small> | <small><code>"dataset": "0",</code></small> | ||
<small>"datasets": [</small> | <small><code>"datasets": [</code></small> | ||
<small>"0",</small> | <small><code>"0",</code></small> | ||
<small>"2dc34d3454243522e5407d3a170815a2"]</small> | <small><code>"2dc34d3454243522e5407d3a170815a2"]</code></small> | ||
<small>},</small> | <small><code>},</code></small> | ||
<small>"rights": [</small> | <small><code>"rights": [</code></small> | ||
<small>..........</small> | <small><code>..........</code></small> | ||
<small>]</small> | <small><code>]</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/auth/user/list</small> | <small>/auth/user/list</small> | ||
|<small>Предназначен для получения списка пользователей с их параметрами</small> | |<small>Предназначен для получения списка пользователей с их параметрами</small> | ||
| | | <small>—</small> | ||
|<small>тоже самое что и в методе GET</small> <small>/auth/user/info</small><small>, только для всех пользователей</small> | |<small>тоже самое что и в методе GET</small> <small>/auth/user/info</small><small>, только для всех пользователей</small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
<small>/auth/user/modify/{id}</small> | <small>/auth/user/modify/{id}</small> | ||
|<small>Предназначен для изменения параметров пользователя</small> | |<small>Предназначен для изменения параметров пользователя</small> | ||
|<small>'''data | |<small>'''data —''' параметры пользователя как при создании</small> <small>'''id —''' идентификатор пользователя</small> | ||
|<small>{</small> <small>"error": 0,</small> | |<code><small>{</small> <small>"error": 0,</small></code> | ||
<small>"message": "success"</small> | <small><code>"message": "success"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 286: | Строка 281: | ||
|<small>Предназначен для смены пароля пользователя по его токену доступа</small> | |<small>Предназначен для смены пароля пользователя по его токену доступа</small> | ||
|<small>'''password'''</small> | |<small>'''password'''</small> | ||
|<small>{</small> <small>"error": 0,</small><small>"message": "success"</small> | |<code><small>{</small> <small>"error": 0,</small><small>"message": "success"</small></code> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/auth/version</small> | <small>/auth/version</small> | ||
|<small>Предназначен для получения | |<small>Предназначен для получения верcии UPS</small> | ||
| | | <small>—</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small>"version": "4.049 beta"</small> | <small><code>"version": "4.049 beta"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|} | |} | ||
| Строка 314: | Строка 309: | ||
<small>/lang/</small> | <small>/lang/</small> | ||
|<small>Предназначен для вывода информации о переводе элементов интерфейса на текущий язык</small> | |<small>Предназначен для вывода информации о переводе элементов интерфейса на текущий язык</small> | ||
| <small> | | <small>—</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"see":"Сущности",</small></code> | <code><small>"see":"Сущности",</small></code> | ||
| Строка 323: | Строка 318: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/lang/config</small> | <small>/lang/config</small> | ||
|<small>Отдает раздел | |<small>Отдает раздел «interface» конфигурационного файла</small> | ||
| | | <small>—</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "wallpaper": {</small> | <small><code> "wallpaper": {</code></small> | ||
<small> "login": true,</small> | <small><code> "login": true,</code></small> | ||
<small> "desktop": true,</small> | <small><code> "desktop": true,</code></small> | ||
<small> "workarea": true</small> | <small><code> "workarea": true</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 348: | Строка 343: | ||
<small>/lang/wallpaper</small> | <small>/lang/wallpaper</small> | ||
|<small>Отдает случайный фон рабочего стола в виде jpeg из каталога | |<small>Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups</small> | ||
| <small>—</small> | |||
|<small>image/jpeg</small> | |<small>image/jpeg</small> | ||
| | | | ||
| Строка 365: | Строка 360: | ||
<small>/server/get/addresses/{servicetype}</small> | <small>/server/get/addresses/{servicetype}</small> | ||
|<small>Предназначен для вывода информации о | |<small>Предназначен для вывода информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "trainer": "<nowiki>http://127.0.0.1:6181</nowiki>",</small></code> | <code><small> "trainer": "<nowiki>http://127.0.0.1:6181</nowiki>",</small></code> | ||
| Строка 403: | Строка 398: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| | | | ||
* <small>'''trainer''' | * <small>'''trainer''' — сервер обучения</small> | ||
* <small>'''cluster''' | * <small>'''cluster''' — рабочие серверы</small> | ||
* <small>'''connect''' | * <small>'''connect''' — время на подключение</small> | ||
* <small>'''read''' | * <small>'''read''' — время на ответ</small> | ||
* <small>'''failed''' | * <small>'''failed''' — время пребывания в сбойных</small> | ||
* <small>'''install''' | * <small>'''install''' — время на установку модели</small> | ||
* <small>'''info''' | * <small>'''info''' — время на получение информации о модели</small> | ||
* <small>'''counter''' | * <small>'''counter''' — счетчик запросов</small> | ||
* <small>'''current''' | * <small>'''current''' — индекс последнего опрошенного cluster-сервера</small> | ||
* <small>'''fail''' | * <small>'''fail''' — массив сбойных серверов со временем постановки в сбой.</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 419: | Строка 414: | ||
|<small>Предназначен для вывода информации о моделях указанного сервиса на каждом сервере указанного типа</small> | |<small>Предназначен для вывода информации о моделях указанного сервиса на каждом сервере указанного типа</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — сервиса</small> | ||
* <small>'''servertype''' | * <small>'''servertype''' — тип серверов</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "<nowiki>http://127.0.0.1:6181</nowiki>": [</small></code> | <code><small> "<nowiki>http://127.0.0.1:6181</nowiki>": [</small></code> | ||
| Строка 435: | Строка 430: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small>Вывод представляет собой массив | |<small>Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.</small> | ||
|} | |} | ||
| Строка 453: | Строка 448: | ||
<small>Доступно для следующих сервисов: smc, see, spr.</small> | <small>Доступно для следующих сервисов: smc, see, spr.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 461: | Строка 456: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 468: | Строка 463: | ||
<small>Доступно для следующих сервисов: smc, see, spr.</small> | <small>Доступно для следующих сервисов: smc, see, spr.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 476: | Строка 471: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>DELETE</small> | |<small>DELETE</small> | ||
| Строка 483: | Строка 478: | ||
<small>Доступно для следующих сервисов: smc, see, spr.</small> | <small>Доступно для следующих сервисов: smc, see, spr.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 491: | Строка 486: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 497: | Строка 492: | ||
|<small>Запрос на получение списка ошибок модели после тестирования. Если тестирования не было, то содержит ошибки проверки на обучающем корпусе. Доступен для сервисов see и smc</small> | |<small>Запрос на получение списка ошибок модели после тестирования. Если тестирования не было, то содержит ошибки проверки на обучающем корпусе. Доступен для сервисов see и smc</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''modeltype''' | * <small>'''modeltype''' — тип модели</small> | ||
|<small><code>[</code> <code>[true, predicted, phrase],</code></small> | |<small><code>[</code> <code>[true, predicted, phrase],</code></small> | ||
<small><code>...</code> | <small><code>...</code> | ||
<code>]</code></small> | <code>]</code></small> | ||
|<small> | |<small>Содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/model/export/{servicetype}/{model}/{modeltype}</small> | <small>/model/export/{servicetype}/{model}/{modeltype}</small> | ||
|<small> | |<small>Метод экспортирует модель, модель скачивается в виде zip-архива.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''modeltype''' | * <small>'''modeltype''' — тип модели</small> | ||
|<small>файл model.zip, где model | |<small>файл model.zip, где model — название модели</small> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 519: | Строка 514: | ||
|<small>Отправка файла-постобработчика в указанную модель типа future. Становится активным сразу после успешной отправки.</small> | |<small>Отправка файла-постобработчика в указанную модель типа future. Становится активным сразу после успешной отправки.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''handler''' | * <small>'''handler''' — файл, содержащий программный код python постобработчика</small> | ||
|<small><code>{</code><code>"error":0,</code></small> | |<small><code>{</code><code>"error":0,</code></small> | ||
| Строка 547: | Строка 542: | ||
| | | | ||
*<small>'''servicetype''' - тип сервиса</small> | *<small>'''servicetype''' - тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<small>Файл handler.py</small> | |<small>Файл handler.py</small> | ||
|<small>более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].</small> | |<small>более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].</small> | ||
| Строка 555: | Строка 550: | ||
|<small>Отправка файла-постобработчика в указанную модель указанного типа. Становится активным сразу после успешной отправки.</small> | |<small>Отправка файла-постобработчика в указанную модель указанного типа. Становится активным сразу после успешной отправки.</small> | ||
| | | | ||
*<small>'''modeltype''' | *<small>'''modeltype''' — тип модели</small> | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''handler''' | * <small>'''handler''' — файл, содержащий программный код python постобработчика</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 565: | Строка 560: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>DELETE</small> | |<small>DELETE</small> | ||
| Строка 571: | Строка 566: | ||
|<small>Удаление постобработчика в указанной модели указанного типа.</small> | |<small>Удаление постобработчика в указанной модели указанного типа.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''modeltype''' | * <small>'''modeltype''' — тип модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 587: | Строка 582: | ||
|<small>Получение файла-постобработчика из указанной модели указанного типа.</small> | |<small>Получение файла-постобработчика из указанной модели указанного типа.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''modeltype''' | * <small>'''modeltype''' — тип модели</small> | ||
|<small>Файл handler.py</small> | |<small>Файл handler.py</small> | ||
| | | | ||
| Строка 597: | Строка 592: | ||
|<small>Импортирует модель в черновик (modeltype=future)</small> | |<small>Импортирует модель в черновик (modeltype=future)</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''zip-model''' | * <small>'''zip-model''' — zip с файлами модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 612: | Строка 607: | ||
|<small>Получение информации о всех моделях указанного сервиса. Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.</small> | |<small>Получение информации о всех моделях указанного сервиса. Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "model1": {</small></code> | <code><small> "model1": {</small></code> | ||
| Строка 633: | Строка 628: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 639: | Строка 634: | ||
|<small>Получение информации о каждом типе (modeltype) указанной модели.</small> | |<small>Получение информации о каждом типе (modeltype) указанной модели.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "previous": null,</small></code> | <code><small> "previous": null,</small></code> | ||
| Строка 669: | Строка 664: | ||
<small>Доступно для следующих сервисов: smc, see, spr.</small> | <small>Доступно для следующих сервисов: smc, see, spr.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small>"error":0,</small></code> | <code><small>"error":0,</small></code> | ||
| Строка 683: | Строка 678: | ||
|<small>Выводит лог обучения и тестирования модели. Доступно для следующих сервисов: smc, see.</small> | |<small>Выводит лог обучения и тестирования модели. Доступно для следующих сервисов: smc, see.</small> | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
* <small>'''modeltype''' | * <small>'''modeltype''' — тип модели</small> | ||
|<code><small>[</small></code> | |<code><small>[</small></code> | ||
<code><small> "training",</small></code> | <code><small> "training",</small></code> | ||
| Строка 696: | Строка 691: | ||
<code><small>]</small></code> | <code><small>]</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 705: | Строка 700: | ||
* '''<small>null -> previous</small>''' | * '''<small>null -> previous</small>''' | ||
| | | | ||
*<small>'''servicetype''' | *<small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''model''' | * <small>'''model''' — название модели</small> | ||
|<small><code>{</code><code>"error":0,</code></small> | |<small><code>{</code><code>"error":0,</code></small> | ||
| Строка 712: | Строка 707: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
| <small> | | <small>—</small> | ||
|} | |} | ||
| Строка 730: | Строка 725: | ||
| <small>метод api для копирования корпуса данных</small> | | <small>метод api для копирования корпуса данных</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''srcname''' | * <small>'''srcname''' — текущее имя</small> | ||
* <small>'''dstname''' | * <small>'''dstname''' — новое имя</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "error": 0,</small></code> | <code><small> "error": 0,</small></code> | ||
| Строка 739: | Строка 734: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>DELETE</small> | |<small>DELETE</small> | ||
| Строка 746: | Строка 741: | ||
|<small>Удаляет корпус с данными</small> | |<small>Удаляет корпус с данными</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''name''' | * <small>'''name''' — название корпуса</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "error": 0,</small></code> | <code><small> "error": 0,</small></code> | ||
| Строка 754: | Строка 749: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 761: | Строка 756: | ||
|<small>Возвращает текстовый файл с данными, содержащий строки вида КЛАСС<TAB>ФРАЗА</small> | |<small>Возвращает текстовый файл с данными, содержащий строки вида КЛАСС<TAB>ФРАЗА</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''name''' | * <small>'''name''' — название корпуса</small> | ||
|<small>Файл name.txt</small> | |<small>Файл name.txt</small> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 771: | Строка 766: | ||
|<small>Возвращает JSON с данными корпуса</small> | |<small>Возвращает JSON с данными корпуса</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''name''' | * <small>'''name''' — название корпуса</small> | ||
|<code><small>[</small></code> | |<code><small>[</small></code> | ||
<code><small> [</small></code> | <code><small> [</small></code><code><small> "generalPayments",</small></code> | ||
<code><small> "generalPayments",</small></code> | |||
<code><small> "соцвыплата"</small></code> | <code><small> "соцвыплата"</small></code> | ||
| Строка 785: | Строка 778: | ||
<code><small>]</small></code> | <code><small>]</small></code> | ||
|<small>Список вложенных списков со значениями | |<small>Список вложенных списков со значениями «Класс» и «Фраза».</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 792: | Строка 785: | ||
| <small>Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл '''csv''', происходит импорт из файла, в противном случае из логов.</small> | | <small>Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл '''csv''', происходит импорт из файла, в противном случае из логов.</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''name''' | * <small>'''name''' — название корпуса</small> | ||
* <small>'''csv''' | * <small>'''csv''' — файл данных</small> | ||
* <small>'''startDate''' | * <small>'''startDate''' — дата начала выборки, YYYY-MM-DD</small> | ||
* <small>'''stopDate''' | * <small>'''stopDate''' — дата окончания выборки, YYYY-MM-DD</small> | ||
* <small>'''model''' | * <small>'''model''' — имя модели, из логов которой будет произведен импорт</small> | ||
* <small>'''limit''' | * <small>'''limit''' — числовое ограничение строк импорта</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "error": 0,</small></code> | <code><small> "error": 0,</small></code> | ||
| Строка 805: | Строка 798: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 812: | Строка 805: | ||
|<small>Возвращает список всех корпусов данных для указанного типа сервиса</small> | |<small>Возвращает список всех корпусов данных для указанного типа сервиса</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
|<code><small>[</small></code> | |<code><small>[</small></code> | ||
<code><small> "корпус1",</small></code> | <code><small> "корпус1",</small></code> | ||
| Строка 828: | Строка 821: | ||
|<small>Перезаписывает корпус отправленным массивом данных</small> | |<small>Перезаписывает корпус отправленным массивом данных</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''name''' | * <small>'''name''' — название корпуса</small> | ||
* <small>'''json''' | * <small>'''json''' — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "error": 0,</small></code> | <code><small> "error": 0,</small></code> | ||
| Строка 837: | Строка 830: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 844: | Строка 837: | ||
|<small>Переименование корпуса</small> | |<small>Переименование корпуса</small> | ||
| | | | ||
* <small>'''servicetype''' | * <small>'''servicetype''' — тип сервиса</small> | ||
* <small>'''srcname''' | * <small>'''srcname''' — текущее имя</small> | ||
* <small>'''dstname''' | * <small>'''dstname''' — новое имя</small> | ||
|<code><small>{</small></code> | |<code><small>{</small></code> | ||
<code><small> "error": 0,</small></code> | <code><small> "error": 0,</small></code> | ||
| Строка 853: | Строка 846: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|} | |} | ||
| Строка 867: | Строка 860: | ||
|<small>GET</small><small>/spr/audio/{taskID}</small> | |<small>GET</small><small>/spr/audio/{taskID}</small> | ||
|<small>Метод для получения аудиофайла отложенного задания</small> | |<small>Метод для получения аудиофайла отложенного задания</small> | ||
|<small>'''taskID''' | |<small>'''taskID''' — идентификатор задания в очереди</small> | ||
|<small>'''Wav''' файл</small> | |<small>'''Wav''' файл</small> | ||
| | | | ||
| Строка 874: | Строка 867: | ||
|<small>Метод для получения очереди отложенных заданий</small> | |<small>Метод для получения очереди отложенных заданий</small> | ||
| | | | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "id задания": {</small> | <small><code> "id задания": {</code></small> | ||
<small> "created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ",</small> | <small><code> "created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ",</code></small> | ||
<small> "status": "waiting",</small> | <small><code> "status": "waiting",</code></small> | ||
<small> "filename": "wav"</small> | <small><code> "filename": "wav"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
<small>Статусы</small> | <small>Статусы</small> | ||
<small>'''ready''' | <small>'''ready''' — готово</small> | ||
<small>'''waiting''' | <small>'''waiting''' — ожидание</small> | ||
<small>'''failed''' | <small>'''failed''' — сбой</small> | ||
| | | | ||
|- | |- | ||
|<small>DELETE</small><small>/spr/queue/{taskID}</small> | |<small>DELETE</small><small>/spr/queue/{taskID}</small> | ||
|<small>Метод для удаления задания из очереди</small> | |<small>Метод для удаления задания из очереди</small> | ||
|<small>'''taskID''' | |<small>'''taskID''' — идентификатор задания в очереди</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
"error": 0, | <code>"error": 0,</code> | ||
"message": "success" | <code>"message": "success"</code> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
|<small>GET</small><small>/spr/result/{taskID}</small> | |<small>GET</small><small>/spr/result/{taskID}</small> | ||
|<small>Метод для получения результатов распознавания отложенного задания</small> | |<small>Метод для получения результатов распознавания отложенного задания</small> | ||
|<small>'''taskID''' | |<small>'''taskID''' — идентификатор задания в очереди</small> | ||
|<small>Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:</small> | |<small>Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:</small> | ||
<small>'''ready''' | <small>'''ready''' — готово</small> | ||
<small>'''waiting''' — ожидание</small> | |||
<small>'''not found''' — не найдена</small> | |||
<small>'''failed''' — сбой</small> | |||
| | | | ||
|- | |- | ||
| Строка 916: | Строка 915: | ||
| <small>Метод для отправки файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] SPR. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему.</small> | | <small>Метод для отправки файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] SPR. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему.</small> | ||
| | | | ||
*<small>'''model''' | *<small>'''model''' — идентификатор модели</small> | ||
*<small>'''denoise''' | *<small>'''denoise''' — уровень шумоподавления</small> | ||
*<small>'''wav''' | *<small>'''wav''' — файл для распознавания</small> | ||
*<small>'''speakers''' | *<small>'''speakers''' — опция разделения по говорящим</small> | ||
|<small><code>{</code></small> | |<small><code>{</code></small> | ||
<small><code>"model":"name",</code></small> | <small><code>"model":"name",</code></small> | ||
| Строка 974: | Строка 973: | ||
|<small>GET</small><small>/spr/waveform/{taskID}</small> | |<small>GET</small><small>/spr/waveform/{taskID}</small> | ||
|<small>Служебный метод для отображения аудио в графическом виде, содержит пики сигнала</small> | |<small>Служебный метод для отображения аудио в графическом виде, содержит пики сигнала</small> | ||
|<small>'''taskID''' | |<small>'''taskID''' — идентификатор задания</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<"error": 0, | <code><"error": 0, | ||
"waveform": [ | "waveform": [ | ||
0.016, | 0.016, | ||
| Строка 983: | Строка 982: | ||
0.015, | 0.015, | ||
0.01 | 0.01 | ||
] | ]</code> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|} | |} | ||
| Строка 1001: | Строка 1000: | ||
|<small>метод для классификации текстовой фразы</small> | |<small>метод для классификации текстовой фразы</small> | ||
| | | | ||
* '''model''' | * '''model''' — идентификатор модели | ||
* '''text''' | * '''text''' — текст, подлежащий классификации | ||
* '''confidenceThreshold''', % | * '''confidenceThreshold''', % — минимальный порог доверия. | ||
|{ | |<code>{</code> | ||
"classes": [ | <code> "classes": [</code> | ||
{ | <code> {</code> | ||
"class": "название класса", | <code> "class": "название класса",</code> | ||
"confidence": 1 | <code> "confidence": 1</code> | ||
}, | <code> },</code> | ||
{ | <code> {</code> | ||
"class": "название класса 2", | <code> "class": "название класса 2",</code> | ||
"confidence": 1 | <code> "confidence": 1</code> | ||
} | <code> }</code> | ||
], | <code> ],</code> | ||
"groups": [ | <code> "groups": [</code> | ||
{ | <code> {</code> | ||
"group": "название группы 1", | <code> "group": "название группы 1",</code> | ||
"intersection": 2, | <code> "intersection": 2,</code> | ||
"classes": [ | <code> "classes": [</code> | ||
"название класса", | <code> "название класса",</code> | ||
"название класса 2" | <code> "название класса 2"</code> | ||
] | <code> ]</code> | ||
} | <code> }</code> | ||
], | <code> ],</code> | ||
"nearest": [ | <code> "nearest": [</code> | ||
{ | <code> {</code> | ||
"group": "название группы 2", | <code> "group": "название группы 2",</code> | ||
"percent": 0.6666666666666666, | <code> "percent": 0.6666666666666666,</code> | ||
"need": "название класса которого не хватило 1" | <code> "need": "название класса которого не хватило 1"</code> | ||
}, | <code> },</code> | ||
{ | <code> {</code> | ||
"group": ""название группы 3", | <code> "group": ""название группы 3",</code> | ||
"percent": 0.6666666666666666, | <code> "percent": 0.6666666666666666,</code> | ||
"need": "название класса которого не хватило 2" | <code> "need": "название класса которого не хватило 2"</code> | ||
} | <code> }</code> | ||
] | <code> ]</code> | ||
} | <code>}</code> | ||
| | | | ||
* '''classes''' | * '''classes''' — отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу. | ||
* '''groups''' — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке). | |||
* '''groups''' | * '''nearest''' — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента. | ||
* '''nearest''' | |||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1085: | Строка 1082: | ||
|<small>Убирает из фразы слова не влияющие на ее смысл.</small> | |<small>Убирает из фразы слова не влияющие на ее смысл.</small> | ||
| | | | ||
* <small>'''text''' | * <small>'''text''' — текст для сжатия</small> | ||
* <small>'''threshold''' | * <small>'''threshold''' — уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе</small> | ||
|{ | |<code>{</code> | ||
"text": "сжатый текст" | <code> "text": "сжатый текст"</code> | ||
} | <code>}</code> | ||
| | | | ||
|- | |- | ||
| Строка 1098: | Строка 1095: | ||
<small>/smc/correct</small> | <small>/smc/correct</small> | ||
|<small>Коррекция правописания. Изменяет неправильно написанные слова меняя их на наиболее близкие правильные (из знакомых модели).</small> | |<small>Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели).</small> | ||
|'''text''' | |'''text''' — текст для коррекции | ||
| | | | ||
| | | | ||
| Строка 1107: | Строка 1104: | ||
<small>/smc/emotion</small> | <small>/smc/emotion</small> | ||
|<small>Анализ эмоций.</small> | |<small>Анализ эмоций.</small> | ||
|<small>'''text''' | |<small>'''text''' — фраза для анализа эмоций</small> | ||
|<small>{ "emotion": "positive", "score": 0.9601 }</small> | |<small><code>{ "emotion": "positive", "score": 0.9601 }</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1116: | Строка 1113: | ||
|<small>Добавляет к модели группы из корпуса</small> | |<small>Добавляет к модели группы из корпуса</small> | ||
| | | | ||
* <small>'''id''' | * <small>'''id''' — наименование модели</small> | ||
* <small>'''corpus''' | * <small>'''corpus''' — наименование корпуса- источника групп</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "message": "string"</small> | <small><code> "message": "string"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
|<small>Группы в модели будут перезаписаны</small> | |<small>Группы в модели будут перезаписаны</small> | ||
|- | |- | ||
| Строка 1133: | Строка 1130: | ||
|<small>Поиск групп по ранее полученным меткам.</small> | |<small>Поиск групп по ранее полученным меткам.</small> | ||
| | | | ||
* <small>'''classes''' | * <small>'''classes''' — набор меток через запятую</small> | ||
* <small>'''model''' | * <small>'''model''' — имя модели</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small>"groups": [</small> | <small><code>"groups": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "group": "Группа 1",</small> | <small><code> "group": "Группа 1",</code></small> | ||
<small> "intersection": 3,</small> | <small><code> "intersection": 3,</code></small> | ||
<small> "classes": [</small> | <small><code> "classes": [</code></small> | ||
<small> "метка1_о",</small> | <small><code> "метка1_о",</code></small> | ||
<small> "метка2_о",</small> | <small><code> "метка2_о",</code></small> | ||
<small> "метка3_о"</small> | <small><code> "метка3_о"</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "group": "Группа 2",</small> | <small><code> "group": "Группа 2",</code></small> | ||
<small> "intersection": 2,</small> | <small><code> "intersection": 2,</code></small> | ||
<small> "classes": [</small> | <small><code> "classes": [</code></small> | ||
<small> "метка1_о",</small> | <small><code> "метка1_о",</code></small> | ||
<small> "метка5_о"</small> | <small><code> "метка5_о"</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small>],</small> | <small><code>],</code></small> | ||
<small>"nearest": [</small> | <small><code>"nearest": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "group": "Группа до которой не хватило 1 метки",</small> | <small><code> "group": "Группа до которой не хватило 1 метки",</code></small> | ||
<small> "percent": 0.75,</small> | <small><code> "percent": 0.75,</code></small> | ||
<small> "need": "недостающая метка_о"</small> | <small><code> "need": "недостающая метка_о"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small>]</small> | <small><code>]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
|<small>Ищет группы по набору меток. Результат | |<small>Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток.</small><small>Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.</small> | ||
<small>Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.</small> | |||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1199: | Строка 1194: | ||
<small>/smc/normalize</small> | <small>/smc/normalize</small> | ||
|<small>Обратная нормализация текста</small> | |<small>Обратная нормализация текста</small> | ||
|<small>text | |<small>text — текст для обработки.</small> | ||
|<small>{"text": "<строка после обратной нормализации>"}</small> | |<small><code>{"text": "<строка после обратной нормализации>"}</code></small> | ||
|Пример: двадцать пятого апреля в пятом часу | |Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу. | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1207: | Строка 1202: | ||
<small>/smc/punctuate</small> | <small>/smc/punctuate</small> | ||
|<small>Расстановка знаков препинания</small> | |<small>Расстановка знаков препинания</small> | ||
|<small>text | |<small>text — текст для преобразования.</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "text": "string"</small> | <small><code> "text": "string"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1219: | Строка 1214: | ||
<small>/smc/stop/{model}</small> | <small>/smc/stop/{model}</small> | ||
|<small>Остановка обучения модели.</small> | |<small>Остановка обучения модели.</small> | ||
|<small>model | |<small>model — имя модели/</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "message": "string"</small> | <small><code> "message": "string"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
|<small>Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение</small> | |<small>Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1234: | Строка 1229: | ||
|<small>Запуск тестирования модели smc</small> | |<small>Запуск тестирования модели smc</small> | ||
| | | | ||
* <small>'''model''' | * <small>'''model''' — идентификатор модели</small> | ||
* <small>'''corpus''' | * <small>'''corpus''' — название корпуса с тестовыми данными</small> | ||
|<small><code>{ "error": 0,</code></small> | |<small><code>{ "error": 0,</code></small> | ||
| Строка 1249: | Строка 1244: | ||
|<small>Запуск обучения модели future</small> | |<small>Запуск обучения модели future</small> | ||
| | | | ||
* <small>'''model''' | * <small>'''model''' — идентификатор модели</small> | ||
* <small>'''corpus''' | * <small>'''corpus''' — название корпуса с данными</small> | ||
|<small><code>{ "error": 0,</code></small> | |<small><code>{ "error": 0,</code></small> | ||
| Строка 1272: | Строка 1267: | ||
|<small>метод для поиска сущностей</small> | |<small>метод для поиска сущностей</small> | ||
| | | | ||
* <small>'''model''' | * <small>'''model''' — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями</small> | ||
* <small>'''text''' | * <small>'''text''' — текст</small> | ||
* <small>'''similarity''' | * <small>'''similarity''' — порог похожести найденной сущности на эталонные, %. По умолчанию 70.</small> | ||
|<code><small>{ID-модели: [</small></code><code><small>{</small></code> | |<code><small>{ID-модели: [</small></code><code><small>{</small></code> | ||
| Строка 1291: | Строка 1286: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small>Вернется массив со всеми моделями, в которых были найдены сущности. Каждая переменная с названием модели будет содержать список всех найденных сущностей.</small> | |<small>Вернется массив со всеми моделями, в которых были найдены сущности. Каждая переменная с названием модели будет содержать список всех найденных сущностей.</small> | ||
* <small>'''position''' | * <small>'''position''' — позиция слова начала фрагмента, определяющего сущность</small> | ||
* <small>'''confidence''' | * <small>'''confidence''' — вероятность правильного определения сущности</small> | ||
* <small>'''calculated''' | * <small>'''calculated''' — поле, содержащее измененное постобработчиком (при его наличии) значение сущности либо код сущности, использованный при обучении модели.</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1299: | Строка 1294: | ||
|<small>Остановка обучения модели</small> | |<small>Остановка обучения модели</small> | ||
| | | | ||
* <small>'''model''' | * <small>'''model''' — идентификатор модели</small> | ||
|<small><code>{</code><code> "error": 0,</code></small> | |<small><code>{</code><code> "error": 0,</code></small> | ||
| Строка 1305: | Строка 1300: | ||
<code><small>}</small></code> | <code><small>}</small></code> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1311: | Строка 1306: | ||
|<small>Запуск обучения модели future</small> | |<small>Запуск обучения модели future</small> | ||
| | | | ||
* <small>'''model''' | * <small>'''model''' — идентификатор модели</small> | ||
* <small>'''corpus''' | * <small>'''corpus''' — название корпуса с данными</small> | ||
* <small>'''noise''' | * <small>'''noise''' — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0</small> | ||
|<small><code>{</code><code> "error": 0,</code></small> | |<small><code>{</code><code> "error": 0,</code></small> | ||
| Строка 1336: | Строка 1331: | ||
|<small>Получение аналитических метаданных из голосового фрагмента</small> | |<small>Получение аналитических метаданных из голосового фрагмента</small> | ||
| | | | ||
* <small>'''wav''' | * <small>'''wav''' — файл для анализа</small> | ||
|<code><small>{ age: { class: 20-29, confidence: 0.99 }, emotion: { class: SADNESS, confidence: 0.99 }, gender: { class: FEMALE, confidence: 0.99 } }</small></code> | |<code><small>{ age: { class: 20-29, confidence: 0.99 }, emotion: { class: SADNESS, confidence: 0.99 }, gender: { class: FEMALE, confidence: 0.99 } }</small></code> | ||
|Более подробные сведения находятся в [[SBS. Руководство пользователя|руководстве пользователя SBS]]. | |Более подробные сведения находятся в [[SBS. Руководство пользователя|руководстве пользователя SBS]]. | ||
| Строка 1343: | Строка 1338: | ||
|<small>Поиск говорящего по базе слепков</small> | |<small>Поиск говорящего по базе слепков</small> | ||
| | | | ||
* '''<small>wav</small>''' <small> | * '''<small>wav</small>''' <small>—</small> <small>для анализа</small> | ||
|<small><code>{ error: 0, speaker: Ivan, confidence: 0.79 }</code></small> | |<small><code>{ error: 0, speaker: Ivan, confidence: 0.79 }</code></small> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1352: | Строка 1347: | ||
|<small>Добавление нового говорящего</small> | |<small>Добавление нового говорящего</small> | ||
| | | | ||
* <small>'''name''' | * <small>'''name''' — наименование говорящего</small> | ||
* <small>'''wav''' | * <small>'''wav''' — файл для обучения</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "id": "bd345767-ec94-4a8d-bcef-3ecbdfdd7a8f",</small> | <small><code> "id": "bd345767-ec94-4a8d-bcef-3ecbdfdd7a8f",</code></small> | ||
<small> "message": "success"</small> | <small><code> "message": "success"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1370: | Строка 1365: | ||
|<small>Удаление слепка из базы</small> | |<small>Удаление слепка из базы</small> | ||
| | | | ||
* <small>'''speaker_id''' | * <small>'''speaker_id''' — идентификатор говорящего</small> | ||
|<small><code>{ "error": 0,</code></small> | |<small><code>{ "error": 0,</code></small> | ||
| Строка 1376: | Строка 1371: | ||
<small><code>}</code></small> | <small><code>}</code></small> | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1382: | Строка 1377: | ||
<small>/sbs/speakers/list</small> | <small>/sbs/speakers/list</small> | ||
|<small>Выводит список имен и идентификаторов говорящих</small> | |<small>Выводит список имен и идентификаторов говорящих</small> | ||
| | | <small>—</small> | ||
|<small>[</small> | |<small><code>[</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "4830209e-0be4-495c-a633-4e2159b5368e",</small> | <small><code> "id": "4830209e-0be4-495c-a633-4e2159b5368e",</code></small> | ||
<small> "name": "наименование1"</small> | <small><code> "name": "наименование1"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "67acb90c-6217-4878-95d4-691008a00f07",</small> | <small><code> "id": "67acb90c-6217-4878-95d4-691008a00f07",</code></small> | ||
<small> "name": "наименование2"</small> | <small><code> "name": "наименование2"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small>]</small> | <small><code>]</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1409: | Строка 1404: | ||
|<small>Дообучение имеющегося слепка говорящего</small> | |<small>Дообучение имеющегося слепка говорящего</small> | ||
| | | | ||
* <small>'''wav''' | * <small>'''wav''' — голосовой отрезок для обучения</small> | ||
* <small>'''id''' | * <small>'''id''' — идентификатор говорящего</small> | ||
|<small>{</small> | |<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> | ||
| | | | ||
|- | |- | ||
| Строка 1424: | Строка 1419: | ||
|<small>Сравнение оцифрованного представления wav-файла cо слепком в базе</small> | |<small>Сравнение оцифрованного представления wav-файла cо слепком в базе</small> | ||
| | | | ||
* <small>'''speaker_id''' | * <small>'''speaker_id''' — идентификатор говорящего</small> | ||
|<small><code>{</code></small><small><code>"error": 0,</code></small> | |<small><code>{</code></small><small><code>"error": 0,</code></small> | ||
| Строка 1430: | Строка 1425: | ||
<small><code>}</code></small> | <small><code>}</code></small> | ||
|<small> | |<small>—</small> | ||
|} | |} | ||
| Строка 1444: | Строка 1439: | ||
<small>/tts/dictionary/export</small> | <small>/tts/dictionary/export</small> | ||
|<small>Предназначен для экспорта пользовательского словаря в виде строк</small> | |<small>Предназначен для экспорта пользовательского словаря в виде строк</small> | ||
| <small> | | <small>—</small> | ||
|<code><small>привет прив+ет</small></code> | |<code><small>привет прив+ет</small></code> | ||
| <small> | | <small>—</small> | ||
|- | |- | ||
|GET | |GET | ||
<small>/</small><small>tts/dictionary/get</small> | <small>/</small><small>tts/dictionary/get</small> | ||
|<small>Предназначен для экспорта пользовательского словаря в виде json</small> | |<small>Предназначен для экспорта пользовательского словаря в виде json</small> | ||
|<small> | |<small>—</small> | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
| | | | ||
[ | <code>[ | ||
[ | [ | ||
"привет", | "привет", | ||
"прив+ет" | "прив+ет" | ||
] | ] | ||
] | ]</code> | ||
|} | |} | ||
|<small> | |<small>—</small> | ||
|- | |- | ||
|POST | |POST | ||
<small>/</small><small>tts/dictionary/</small><small>import</small> | <small>/</small><small>tts/dictionary/</small><small>import</small> | ||
|<small>Предназначен для загрузки пользовательского словаря в виде строк из файла .csv</small> | |<small>Предназначен для загрузки пользовательского словаря в виде строк из файла .csv</small> | ||
| | |CSV-файл с разделителем — «табуляция». | ||
|{ | |<code>{</code> | ||
"error": 0, | <code> "error": 0,</code> | ||
"message": "success", | <code> "message": "success",</code> | ||
"answers": { | <code> "answers": {</code> | ||
"http://127.0.0.1<nowiki/>:6186": "{\"error\": 0, \"message\": \"success\"}\n" | <code> "http://127.0.0.1<nowiki/>:6186": "{\"error\": 0, \"message\": \"success\"}\n"</code> | ||
} | <code> }</code> | ||
} | <code>}</code> | ||
|Пользовательский словарь будет переписан, не дополнен! | |Пользовательский словарь будет переписан, не дополнен! | ||
|- | |- | ||
| Строка 1485: | Строка 1480: | ||
<small>/</small><small>tts/dictionary/</small><small>put</small> | <small>/</small><small>tts/dictionary/</small><small>put</small> | ||
|<small>Предназначен для загрузки пользовательского словаря в виде json списка</small> | |<small>Предназначен для загрузки пользовательского словаря в виде json списка</small> | ||
|[ [ "привет", "прив+ет" ] ] | |<code>[ [ "привет", "прив+ет" ] ]</code> | ||
|{ | |<code>{</code> | ||
"error": 0, | <code>"error": 0,</code> | ||
"message": "success", | <code>"message": "success",</code> | ||
"answers": { | <code>"answers": {</code> | ||
"http://127<nowiki/>.0.0.1:6186": "{\"error\": 0, \"message\": \"success\"}\n" | <code>"http://127<nowiki/>.0.0.1:6186": "{\"error\": 0, \"message\": \"success\"}\n"</code> | ||
} | <code>}</code> | ||
} | <code>}</code> | ||
|Пользовательский словарь будет переписан, не дополнен! | |Пользовательский словарь будет переписан, не дополнен! | ||
|- | |- | ||
| Строка 1505: | Строка 1500: | ||
|<small>Синтезировать текст</small> | |<small>Синтезировать текст</small> | ||
| | | | ||
* <small>'''text''' | * <small>'''text''' — текст для синтеза</small> | ||
* <small>'''rate''' | * <small>'''rate''' — скорость речи</small> | ||
* <small>'''pitch''' | * <small>'''pitch''' — высота тона</small> | ||
* <small>'''volume''' | * <small>'''volume''' — громкость речи</small> | ||
* <small>'''model''' | * <small>'''model''' — голос для синтеза</small> | ||
|<small>wav файл с синтезированным текстом</small> | |<small>wav-файл с синтезированным текстом</small> | ||
| | | | ||
|} | |} | ||
| Строка 1529: | Строка 1524: | ||
|<small>Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе</small> | |<small>Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе</small> | ||
| | | | ||
* <small>'''text''' | * <small>'''text''' — текст вопроса, на основе которого будут искаться фрагменты.</small> | ||
* <small>'''category''' | * <small>'''category''' — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.</small> | ||
* <small>'''channel | * <small>'''channel''' — id канала</small> | ||
* '''creative''' | * '''creative''' <small>—</small> <small>флаг креативности возможные варианты "yes" "no"</small> | ||
* <small>'''useCache''' | * <small>'''useCache''' — использовать кешированные ответы</small> | ||
<small>возможные варианты:</small> | <small>возможные варианты:</small> | ||
| Строка 1546: | Строка 1541: | ||
<small>возможные варианты "'''yes'''" "'''no'''"</small> | <small>возможные варианты "'''yes'''" "'''no'''"</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small>"error": 0,</small> | <small><code>"error": 0,</code></small> | ||
<small>"text": "Здесь будет текст ответа"</small> | <small><code>"text": "Здесь будет текст ответа"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| <small>Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.</small> | | <small>Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.</small> | ||
|- | |- | ||
| Строка 1558: | Строка 1553: | ||
<small>/qas/cachemaker/start</small> | <small>/qas/cachemaker/start</small> | ||
|<small>Генерация ответов на вопросы в кэше.</small> | |<small>Генерация ответов на вопросы в кэше.</small> | ||
| | |<small>'''category''' — категория для которой генерируются ответы</small> | ||
<small>''' | <small>'''mode''' — режим генерации ответов, возможные значения:</small> | ||
<small>'''generate''' | * <small>'''paraphrase''' — генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе</small> | ||
* <small>'''generate''' — генерирует кэш через разные ответы на каждый вопрос по документации</small> | |||
<small>'''variants''' — количество ответов, от 1 до 9</small> | |||
|<small>{"error": 0, "message": "success"}</small> | |<small><code>{"error": 0, "message": "success"}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/qas/cachemaker/status</small> | <small>/qas/cachemaker/status</small> | ||
|<small>Состояние генерации ответов на вопросы в кэше.</small> | |<small>Состояние генерации ответов на вопросы в кэше.</small><small>Статусы: started, stopped, если были ошибки, поле ответа error будет содержать код ошибки.</small> | ||
<small> | | <small>—</small> | ||
|<small><code>{</code></small> | |||
<small> | <small><code> "error": "",</code></small> | ||
<small> " | <small><code> "status": "started",</code></small> | ||
<small> " | <small><code> "progress": 33.33</code></small> | ||
<small> | <small><code>}</code></small> | ||
| <small>—</small> | |||
<small> | |||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1594: | Строка 1584: | ||
<small>/qas/cachemaker/stop</small> | <small>/qas/cachemaker/stop</small> | ||
|<small>Остановить генерацию ответов на вопросы в кэше.</small> | |<small>Остановить генерацию ответов на вопросы в кэше.</small> | ||
| | | <small>—</small> | ||
|{"error": 0, "message": "success"} | |<code>{"error": 0, "message": "success"}</code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small><small>/qas/category/add</small> | |<small>POST</small><small>/qas/category/add</small> | ||
|<small>Добавить категорию с указанным именем</small> | |<small>Добавить категорию с указанным именем</small> | ||
| | | | ||
* <small>'''name''' | * <small>'''name''' — наименование категории</small> | ||
|<small>В ответе - id созданной категории или сообщение об ошибке:</small> | |<small>В ответе - id созданной категории или сообщение об ошибке:</small> | ||
<small>{</small> | <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> "id": "ad895085-2e48-439a-831e-b5f699b6a54a"</small> | <small><code> "id": "ad895085-2e48-439a-831e-b5f699b6a54a"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1619: | Строка 1609: | ||
| | | | ||
* <small>'''id''' - идентификатор категории</small> | * <small>'''id''' - идентификатор категории</small> | ||
|<small>{</small> | |<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> | ||
|<small>В ответе или | |<small>В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/qas/category/list</small> | <small>/qas/category/list</small> | ||
|<small>Получить список категорий</small> | |<small>Получить список категорий</small> | ||
| | | <small>—</small> | ||
|<small>В ответе json с именами и id категорий</small> | |<small>В ответе json с именами и id категорий</small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1639: | Строка 1629: | ||
|<small>Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию</small> | |<small>Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию</small> | ||
| | | | ||
*<small>'''id''' | *<small>'''id''' — идентификатор категории</small> | ||
*<small>'''name''' | *<small>'''name''' — наименование категории</small> | ||
|{ | |<code>{</code> | ||
"error": 0, | <code> "error": 0,</code> | ||
"message": "success" | <code> "message": "success"</code> | ||
} | <code>}</code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1653: | Строка 1643: | ||
|<small>Добавление канала</small> | |<small>Добавление канала</small> | ||
| | | | ||
* <small>'''name''' | * <small>'''name''' — наименование канала</small> | ||
|{ | |<code>{</code> | ||
"error": 0, | <code>"error": 0,</code> | ||
"message": "success", | <code>"message": "success",</code> | ||
"id": "a46fb887-5d98-41e0-8299-bcc94f615e91" | <code>"id": "a46fb887-5d98-41e0-8299-bcc94f615e91"</code> | ||
} | <code>}</code> | ||
|<small>В ответе id созданного канала или сообщение об ошибке</small> | |<small>В ответе id созданного канала или сообщение об ошибке</small> | ||
|- | |- | ||
| Строка 1668: | Строка 1658: | ||
|<small>Удаление канала</small> | |<small>Удаление канала</small> | ||
| | | | ||
* '''id''' | * '''id''' — идентификатор канала | ||
|{ | |<code>{</code> | ||
"error": 0, "message": "success" | <code>"error": 0, "message": "success"</code> | ||
} | <code>}</code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
<small>/qas/channel/list</small> | <small>/qas/channel/list</small> | ||
|<small>Получить список всех каналов</small> | |<small>Получить список всех каналов</small> | ||
| | | <small>—</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "channels": [</small> | <small><code> "channels": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "1",</small> | <small><code> "id": "1",</code></small> | ||
<small> "name": "voice"</small> | <small><code> "name": "voice"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "56442779-e871-43fd-ae4d-caf4ab6d09b9",</small> | <small><code> "id": "56442779-e871-43fd-ae4d-caf4ab6d09b9",</code></small> | ||
<small> "name": "канал++"</small> | <small><code> "name": "канал++"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "0",</small> | <small><code> "id": "0",</code></small> | ||
<small> "name": "default"</small> | <small><code> "name": "default"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>POST</small> | |<small>POST</small> | ||
| Строка 1717: | Строка 1707: | ||
|<small>Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал</small> | |<small>Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал</small> | ||
| | | | ||
* <small>'''name''' | * <small>'''name''' — новое наименование канала</small> | ||
* <small>'''id''' | * <small>'''id''' — идентификатор канала</small> | ||
|<small>{</small> | |<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> | ||
| | | | ||
|- | |- | ||
| Строка 1733: | Строка 1723: | ||
|<small>Предназначен для загрузки текстового документа</small> | |<small>Предназначен для загрузки текстового документа</small> | ||
| | | | ||
* <small>'''text title''' | * <small>'''text title''' — заголовок документа</small> | ||
* <small>'''text category''' | * <small>'''text category''' — категория документа</small> | ||
* <small>'''text'''</small> | * <small>'''text'''</small> — <small>файл документа</small> | ||
| | | | ||
<small>{</small> | <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>"id": "ebe2bc57551c2d17f892987d1f62306d"</small> | <small><code>"id": "ebe2bc57551c2d17f892987d1f62306d"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| <small>Добавляет документ в базу.</small> | | <small>Добавляет документ в базу.</small> | ||
|- | |- | ||
| Строка 1752: | Строка 1742: | ||
<small>/qas/doc/delete/{id}</small> | <small>/qas/doc/delete/{id}</small> | ||
|<small>Предназначен для удаления документа</small> | |<small>Предназначен для удаления документа</small> | ||
|<small>id | |<small>id — идентификатор документа</small> | ||
|<small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small> | |<code><small>{</small><small>"error": 0,</small><small>"message": "success"</small><small>}</small></code> | ||
| | | <small>—</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1760: | Строка 1750: | ||
<small>/qas/doc/get/{id}</small> | <small>/qas/doc/get/{id}</small> | ||
|<small>Предназначен для выгрузки текста документа</small> | |<small>Предназначен для выгрузки текста документа</small> | ||
|<small>id | |<small>id — идентификатор документа</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "text": "Здесь будет полный текст документа"</small> | <small><code> "text": "Здесь будет полный текст документа"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1772: | Строка 1762: | ||
<small>/qas/doc/list</small> | <small>/qas/doc/list</small> | ||
|<small>Предназначен для | |<small>Предназначен для получения списка имеющихся</small> <small>документов</small> | ||
|<small> | |<small>—</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "docs": [</small> | <small><code> "docs": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "d4999cdee5ad1faf2cb3066ea1b5e96b",</small> | <small><code> "id": "d4999cdee5ad1faf2cb3066ea1b5e96b",</code></small> | ||
<small> "title": "PVE. Установка сервисного пакета окружения",</small> | <small><code> "title": "PVE. Установка сервисного пакета окружения",</code></small> | ||
<small> "category": "Техническая поддержка"</small> | <small><code> "category": "Техническая поддержка"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "759042575b965745b9d2af869bca1740",</small> | <small><code> "id": "759042575b965745b9d2af869bca1740",</code></small> | ||
<small> "title": "UPS. Руководство администратора",</small> | <small><code> "title": "UPS. Руководство администратора",</code></small> | ||
<small> "category": "Техническая поддержка"</small> | <small><code> "category": "Техническая поддержка"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1808: | Строка 1798: | ||
|<small>Метод для обновления документа</small> | |<small>Метод для обновления документа</small> | ||
| | | | ||
* <small>'''data''' | * <small>'''data''' — json c изменяемыми параметрами документа</small> | ||
<small><code>{</code></small> | |||
<small> title: string,</small> | <small><code> title: string,</code></small> | ||
<small> category: string,</small> | <small><code> category: string,</code></small> | ||
<small> text: string</small> | <small><code> text: string</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
<small>параметр который не меняется может отсутствовать в json</small> | <small>параметр который не меняется может отсутствовать в json</small> | ||
* <small>'''id''' | * <small>'''id''' — идентификатор документа.</small> | ||
|<small>В случае успеха метод вернет статус выполнения операции (например, | |<small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ||
<small>{"error": INT, "message": DESCRIPTION}</small> | <small><code>{"error": INT, "message": DESCRIPTION}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1835: | Строка 1826: | ||
* <small>'''answers''' - ответы в виде Json:</small> | * <small>'''answers''' - ответы в виде Json:</small> | ||
<small>[ { "checked": true, "channel": "0", "answer": "ответ" } ]</small> | <small><code>[ { "checked": true, "channel": "0", "answer": "ответ" } ]</code></small> | ||
* <small>'''aliases''' - вопросы к которым подходят ответы из блока answers в виде json:</small> | * <small>'''aliases''' - вопросы к которым подходят ответы из блока answers в виде json:</small> | ||
<small>["вопрос","еще вопрос"]</small> | <small><code>["вопрос","еще вопрос"]</code></small> | ||
|<small>В случае успеха метод вернет id вопроса, в случае неудачи - код ошибки.</small> | |<small>В случае успеха метод вернет id вопроса, в случае неудачи - код ошибки.</small> | ||
<small>{</small> | <small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"</small> | <small><code> "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1853: | Строка 1844: | ||
<small>/qas/question/delete/{id}</small> | <small>/qas/question/delete/{id}</small> | ||
|<small>Метод для удаления вопроса</small> | |<small>Метод для удаления вопроса</small> | ||
|<small>'''id''' | |<small>'''id''' — идентификатор вопроса</small> | ||
|<small>В случае успеха метод вернет статус выполнения операции (например, | |<small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ||
<code><small>{"error": INT, "message": DESCRIPTION}</small></code> | <code><small>{"error": INT, "message": DESCRIPTION}</small></code> | ||
| | | | ||
| Строка 1861: | Строка 1852: | ||
<small>/qas/question/get/{id}</small> | <small>/qas/question/get/{id}</small> | ||
|<small>Метод для получения вопроса вместе с ответами и синонимами вопроса</small> | |<small>Метод для получения вопроса вместе с ответами и синонимами вопроса</small> | ||
|<small>'''id''' | |<small>'''id''' — идентификатор вопроса</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "answers": [</small> | <small><code> "answers": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "checked": true,</small> | <small><code> "checked": true,</code></small> | ||
<small> "channel": "0",</small> | <small><code> "channel": "0",</code></small> | ||
<small> "answer": "ответ"</small> | <small><code> "answer": "ответ"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ],</small> | <small><code> ],</code></small> | ||
<small> "aliases": [</small> | <small><code> "aliases": [</code></small> | ||
<small> "вопрос",</small> | <small><code> "вопрос",</code></small> | ||
<small> "синоним вопроса",</small> | <small><code> "синоним вопроса",</code></small> | ||
<small> "еще синоним вопроса"</small> | <small><code> "еще синоним вопроса"</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1895: | Строка 1886: | ||
<small>/qas/question/list</small> | <small>/qas/question/list</small> | ||
|<small>Метод для получения списка вопросов.</small> | |<small>Метод для получения списка вопросов.</small> | ||
| | | <small>—</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "questions": [</small> | <small><code> "questions": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "77b42c9b-2075-4a5f-b6d9-a284bba7cf43",</small> | <small><code> "id": "77b42c9b-2075-4a5f-b6d9-a284bba7cf43",</code></small> | ||
<small> "question": "вопрос",</small> | <small><code> "question": "вопрос",</code></small> | ||
<small> "category": "9580b3b7-34cb-4d0e-ba75-d17313ead16d"</small> | <small><code> "category": "9580b3b7-34cb-4d0e-ba75-d17313ead16d"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "d1836e5e-010e-4f3a-b306-813c3acb7efb",</small> | <small><code> "id": "d1836e5e-010e-4f3a-b306-813c3acb7efb",</code></small> | ||
<small> "question": "n-й второй вопрос",</small> | <small><code> "question": "n-й второй вопрос",</code></small> | ||
<small> "category": "7d8a3415-cb09-4dad-a169-478ba15ade47"</small> | <small><code> "category": "7d8a3415-cb09-4dad-a169-478ba15ade47"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1933: | Строка 1924: | ||
* <small>'''data''' - json c измененными параметрами, пример полного:</small> | * <small>'''data''' - json c измененными параметрами, пример полного:</small> | ||
<small>{ "answers": [</small> | <small><code>{ "answers": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "checked": true,</small> | <small><code> "checked": true,</code></small> | ||
<small> "channel": "0",</small> | <small><code> "channel": "0",</code></small> | ||
<small> "answer": "новый ответ"</small> | <small><code> "answer": "новый ответ"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ],</small> | <small><code> ],</code></small> | ||
<small>"question":"новый вопрос",</small> | <small><code>"question":"новый вопрос",</code></small> | ||
<small>"category": "a3801cc0-f8e5-4f3b-bb10-e42148cd772b",</small> | <small><code>"category": "a3801cc0-f8e5-4f3b-bb10-e42148cd772b",</code></small> | ||
<small> "aliases": [</small> | <small><code> "aliases": [</code></small> | ||
<small> "новый вопрос",</small> | <small><code> "новый вопрос",</code></small> | ||
<small> "синоним",</small> | <small><code> "синоним",</code></small> | ||
<small> "еще синоним"</small> | <small><code> "еще синоним"</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
* <small>'''id''' | * <small>'''id''' — идентификатор вопроса</small> | ||
|<small>В случае успеха метод вернет статус выполнения операции (например, | |<small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ||
<small>{"error": INT, "message": DESCRIPTION}</small> | <small><code>{"error": INT, "message": DESCRIPTION}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 1973: | Строка 1964: | ||
|<small>Запуск генерации вопросов для кэша.</small> | |<small>Запуск генерации вопросов для кэша.</small> | ||
| | | | ||
* '''category''' | * '''category''' — категория, для которой выполнится генерация вопросов. | ||
|<small>{"error": 0, "message": "success" }</small> | |<small><code>{"error": 0, "message": "success" }</code></small> | ||
|<small>По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий | |<small>По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.</small> | ||
|- | |- | ||
|<small>GET</small> | |<small>GET</small> | ||
| Строка 1981: | Строка 1972: | ||
<small>/qas/questionmaker/status</small> | <small>/qas/questionmaker/status</small> | ||
|<small>Проверка состояния генерации</small> | |<small>Проверка состояния генерации</small> | ||
| | | <small>—</small> | ||
|{ | |<code>{</code> | ||
"error": "", | <code> "error": "",</code> | ||
"status": "stopped", | <code> "status": "stopped",</code> | ||
"progress": 0 | <code> "progress": 0</code> | ||
} | <code>}</code> | ||
|<small>Статусы''': started''', '''stopped.'''</small> | |<small>Статусы''': started''', '''stopped.'''</small> | ||
<small>Если были ошибки поле ответа '''error''' будет содержать код ошибки</small> | <small>Если были ошибки поле ответа '''error''' будет содержать код ошибки</small> | ||
| Строка 1997: | Строка 1988: | ||
<small>/qas/questionmaker/stop</small> | <small>/qas/questionmaker/stop</small> | ||
|<small>Прервать генерацию.</small> | |<small>Прервать генерацию.</small> | ||
| | | <small>—</small> | ||
|<small>{"error": 0, "message": "success"}</small> | |<small><code>{"error": 0, "message": "success"}</code></small> | ||
| | | | ||
|- | |- | ||
| Строка 2004: | Строка 1995: | ||
|<small>Предназначен для поиска фрагментов содержащих ответ</small> | |<small>Предназначен для поиска фрагментов содержащих ответ</small> | ||
| | | | ||
* <small>'''text''' | * <small>'''text''' — текст запроса</small> | ||
* <small>'''category''' | * <small>'''category''' — категория (раздел) знаний</small> | ||
|<small>{</small> | |<small><code>{</code></small> | ||
<small> "error": 0,</small> | <small><code> "error": 0,</code></small> | ||
<small> "text": "</small> | <small><code> "text": "</code></small> | ||
<small> Фрагмент 1:Здесь будет текст найденного фрагмента</small> | <small><code> Фрагмент 1:Здесь будет текст найденного фрагмента</code></small> | ||
<small> Фрагмент 2:Здесь будет текст найденного фрагмента",</small> | <small><code> Фрагмент 2:Здесь будет текст найденного фрагмента",</code></small> | ||
<small> "fragments": [</small> | <small><code> "fragments": [</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "3a386b0a9e0e19efb0870685e1d0b484",</small> | <small><code> "id": "3a386b0a9e0e19efb0870685e1d0b484",</code></small> | ||
<small> "title": "Заголовок документа",</small> | <small><code> "title": "Заголовок документа",</code></small> | ||
<small> "category": "Категория документа",</small> | <small><code> "category": "Категория документа",</code></small> | ||
<small> "text": "Здесь будет текст найденного фрагмента"</small> | <small><code> "text": "Здесь будет текст найденного фрагмента"</code></small> | ||
<small> },</small> | <small><code> },</code></small> | ||
<small> {</small> | <small><code> {</code></small> | ||
<small> "id": "44fd73ea1ac63f32cf18d79c854dbfe2",</small> | <small><code> "id": "44fd73ea1ac63f32cf18d79c854dbfe2",</code></small> | ||
<small> "title": "Заголовок документа",</small> | <small><code> "title": "Заголовок документа",</code></small> | ||
<small> "category": "Категория документа",</small> | <small><code> "category": "Категория документа",</code></small> | ||
<small> "text": "Здесь будет текст найденного фрагмента"</small> | <small><code> "text": "Здесь будет текст найденного фрагмента"</code></small> | ||
<small> }</small> | <small><code> }</code></small> | ||
<small> ]</small> | <small><code> ]</code></small> | ||
<small>}</small> | <small><code>}</code></small> | ||
| | | <small>—</small> | ||
|} | |} | ||
Версия от 12:30, 21 октября 2024
Описание часто используемых параметров
| Параметр | Тип | Описание |
|---|---|---|
| servicetype | запрос | Тип сервиса. Возможные значения: spr, smc, see, sbs, tts |
| servertype | запрос | Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы) |
| model | запрос | Название модели |
| modeltype | запрос | Тип модели. Возможные значения: future — планируемая/черновик, current — текущая/рабочая, previous — архивная. |
| error | ответ | Флаг ошибки |
| message | ответ | Информационное сообщение |
"/external modules" методы внешних модулей
В этом разделе будут методы соответствующим образом оформленных внешних модулей
/auth: методы авторизации
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| POST
/auth/access |
Предназначен для получения токенов доступа | username — логин
password — пароль |
{
|
Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла. |
| POST/auth/dataset/add | Предназначен для добавления dataset (набора данных) | {
|
{
|
dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных. |
| DELETE/auth/dataset/delete/{id} | Предназначен для удаления dataset (набора данных) | id — идентификатор набора данных | {
|
— |
| POST/auth/dataset/modify/{id} | Предназначен для переименования dataset (набора данных) | id — идентификатор набора данныхdata — JSON c новыми параметрами | {
|
Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование. |
| GET/auth/datasets | Предназначен для получения списка наборов данных | — | [
|
— |
| GET/auth/refresh | Предназначен для обновления токенов доступа | x-refresh-token — токен обновления доступа | {
|
Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTimeконфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль. |
| GET/auth/rights | Предназначен для получения списка прав доступа | — |
|
Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы. |
| POST/auth/role/add | Предназначен для создания роли | data — JSON с параметрами роли:{
|
{
|
Служебный метод — используется веб-интерфейсом при создании роли. |
| DELETE/auth/role/delete/{id} | Предназначен для удаления роли | id роли | {"error": 0,"message": "success"}
|
— |
| POST/auth/role/modify/{id} | Предназначен для изменения роли | id ролиdata — JSON с параметрами роли | {"error": 0,"message": "success"}
|
Параметры как при создании роли. Роль будет переписана. |
| GET/auth/roles | Предназначен для получения списка ролей | — | [
|
— |
| POST
/auth/user/add |
Предназначен для создания нового пользователя | {
|
{
|
— |
| DELETE
/auth/user/delete/{id} |
Предназначен для удаления пользователя | user_id | ||
| GET
/auth/user/get/{id} |
Предназначен для получения параметров пользователя | user_id | {
|
— |
| GET
/auth/user/info |
Предназначен для получения параметров пользователя по его токену доступа | x-access-token | {"id": "XXXXXXXXXX",
|
— |
| GET
/auth/user/list |
Предназначен для получения списка пользователей с их параметрами | — | тоже самое что и в методе GET /auth/user/info, только для всех пользователей | — |
| POST
/auth/user/modify/{id} |
Предназначен для изменения параметров пользователя | data — параметры пользователя как при создании id — идентификатор пользователя | { "error": 0,
|
— |
| POST
/auth/user/password |
Предназначен для смены пароля пользователя по его токену доступа | password | { "error": 0,"message": "success"
|
— |
| GET
/auth/version |
Предназначен для получения верcии UPS | — | {
|
— |
/lang: методы мультиязычности
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/lang/ |
Предназначен для вывода информации о переводе элементов интерфейса на текущий язык | — | {
|
— |
| GET
/lang/config |
Отдает раздел «interface» конфигурационного файла | — | {
|
|
| GET
/lang/wallpaper |
Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups | — | image/jpeg |
/server: получение информации о серверах
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/server/get/addresses/{servicetype} |
Предназначен для вывода информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. |
|
{
|
|
| GET
/server/get/models/{servicetype}/{servertype} |
Предназначен для вывода информации о моделях указанного сервиса на каждом сервере указанного типа |
|
{
|
Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей. |
/model: методы работы с моделями
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| POST
/model/add/{servicetype}/{model} |
Предназначен для создания пустой модели в указанном сервисе.
Доступно для следующих сервисов: smc, see, spr. |
|
{
|
— |
| POST
/model/apply/{servicetype}/{model} |
Предназначен для применения установленной на рабочих серверах модели. После применения модель становится доступна для штатного режима работы.
Доступно для следующих сервисов: smc, see, spr. |
|
{
|
— |
| DELETE
/model/delete/{servicetype}/{model} |
Полностью удаляет модель из системы и со всех управляемых серверов.
Доступно для следующих сервисов: smc, see, spr. |
|
{
|
— |
| GET
/model/errors/{servicetype}/{model}/{modeltype} |
Запрос на получение списка ошибок модели после тестирования. Если тестирования не было, то содержит ошибки проверки на обучающем корпусе. Доступен для сервисов see и smc |
|
[ [true, predicted, phrase],
|
Содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза). |
| GET
/model/export/{servicetype}/{model}/{modeltype} |
Метод экспортирует модель, модель скачивается в виде zip-архива. |
|
файл model.zip, где model — название модели | — |
| POST
/model/handler/{servicetype}/{model} |
Отправка файла-постобработчика в указанную модель типа future. Становится активным сразу после успешной отправки. |
|
{"error":0,
|
более подробно об обработчике см. руководства пользователя smc и see. |
| DELETE
/model/handler/{servicetype}/{model} |
Удаление постобработчика из модели типа future. |
|
{"error":0,
|
более подробно об обработчике см. руководства пользователя smc и see. |
| GET
/model/handler/{servicetype}/{model} |
Получение файла-постобработчика из модели типа future. |
|
Файл handler.py | более подробно об обработчике см. руководства пользователя smc и see. |
| POST
/model/handler/{servicetype}/{model}/{modeltype} |
Отправка файла-постобработчика в указанную модель указанного типа. Становится активным сразу после успешной отправки. |
|
{
|
— |
| DELETE
/model/handler/{servicetype}/{model}/{modeltype} |
Удаление постобработчика в указанной модели указанного типа. |
|
{
|
|
| GET
/model/handler/{servicetype}/{model}/{modeltype} |
Получение файла-постобработчика из указанной модели указанного типа. |
|
Файл handler.py | |
| POST
/model/import/{servicetype}/{model} |
Импортирует модель в черновик (modeltype=future) |
|
{
|
- |
| GET
/model/info/{servicetype} |
Получение информации о всех моделях указанного сервиса. Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях. |
|
{
|
— |
| GET
/model/info/{servicetype}/{model} |
Получение информации о каждом типе (modeltype) указанной модели. |
|
{
|
Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели, более подробно о которой можно прочитать в руководствах пользователя smc и see. |
| POST
/model/install/{servicetype}/{model} |
Предназначен для установки импортированной или обученной модели на рабочих серверах.
Доступно для следующих сервисов: smc, see, spr. |
|
{
|
|
| GET
/model/log/{servicetype}/{model}/{modeltype} |
Выводит лог обучения и тестирования модели. Доступно для следующих сервисов: smc, see. |
|
[
|
— |
| POST
/model/restore/{servicetype}/{model} |
Откат модели. Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:
|
|
{"error":0,
|
— |
/corpus: работа с данными для обучения моделей
Методы данного класса предназначены только для сервисов smc и see
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| POST
/corpus/copy/{servicetype} |
метод api для копирования корпуса данных |
|
{
|
— |
| DELETE
/corpus/delete/{servicetype} |
Удаляет корпус с данными |
|
{
|
— |
| GET
/corpus/export/{servicetype} |
Возвращает текстовый файл с данными, содержащий строки вида КЛАСС<TAB>ФРАЗА |
|
Файл name.txt | — |
| GET
/corpus/get/{servicetype} |
Возвращает JSON с данными корпуса |
|
[
|
Список вложенных списков со значениями «Класс» и «Фраза». |
| POST
/corpus/import/{servicetype} |
Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае из логов. |
|
{
|
— |
| GET
/corpus/list/{servicetype} |
Возвращает список всех корпусов данных для указанного типа сервиса |
|
[
|
Список с названиями всех имеющихся корпусов |
| POST
/corpus/put/{servicetype} |
Перезаписывает корпус отправленным массивом данных |
|
{
|
— |
| POST
/corpus/rename/{servicetype} |
Переименование корпуса |
|
{
|
— |
/spr: работа с сервисом SPR
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET/spr/audio/{taskID} | Метод для получения аудиофайла отложенного задания | taskID — идентификатор задания в очереди | Wav файл | |
| GET/spr/queue | Метод для получения очереди отложенных заданий | {
Статусы ready — готово waiting — ожидание failed — сбой |
||
| DELETE/spr/queue/{taskID} | Метод для удаления задания из очереди | taskID — идентификатор задания в очереди | {
|
|
| GET/spr/result/{taskID} | Метод для получения результатов распознавания отложенного задания | taskID — идентификатор задания в очереди | Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:
ready — готово waiting — ожидание not found — не найдена failed — сбой |
|
| POST
/stt/{model} |
Метод для отправки файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора SPR. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. |
|
{
|
Более подробное описание доступно в пользователя SPR. |
| GET/spr/waveform/{taskID} | Служебный метод для отображения аудио в графическом виде, содержит пики сигнала | taskID — идентификатор задания | {
|
/smc: работа с сервисом SMC
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/smc/classify/{model} |
метод для классификации текстовой фразы |
|
{
|
|
| GET
/smc/compress |
Убирает из фразы слова не влияющие на ее смысл. |
|
{
|
|
| GET
/smc/correct |
Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). | text — текст для коррекции | ||
| GET
/smc/emotion |
Анализ эмоций. | text — фраза для анализа эмоций | { "emotion": "positive", "score": 0.9601 }
|
|
| POST
/smc/groups/{model} |
Добавляет к модели группы из корпуса |
|
{
|
Группы в модели будут перезаписаны |
| GET
/smc/groups/{model} |
Поиск групп по ранее полученным меткам. |
|
{
|
Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток.Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста. |
| GET
/smc/normalize |
Обратная нормализация текста | text — текст для обработки. | {"text": "<строка после обратной нормализации>"}
|
Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу. |
| GET
/smc/punctuate |
Расстановка знаков препинания | text — текст для преобразования. | {
|
|
| POST
/smc/stop/{model} |
Остановка обучения модели. | model — имя модели/ | {
|
Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение. |
| POST
/smc/test/{model} |
Запуск тестирования модели smc |
|
{ "error": 0,
|
Метод асинхронный, статус тестирования можно запросить методом GET
/info/{servicetype}/{model} |
| POST
/smc/train/{model} |
Запуск обучения модели future |
|
{ "error": 0,
|
Метод асинхронный, статус обучения можно запросить методом GET
/info/{servicetype}/{model} |
/see: работа с сервисом SEE
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/entities/{model} |
метод для поиска сущностей |
|
{ID-модели: [{
|
Вернется массив со всеми моделями, в которых были найдены сущности. Каждая переменная с названием модели будет содержать список всех найденных сущностей.
|
| POST
/stop/{model} |
Остановка обучения модели |
|
{ "error": 0,
|
— |
| POST
/train/{model} |
Запуск обучения модели future |
|
{ "error": 0,
|
Метод асинхронный, статус обучения можно запросить методом GET
/info/{servicetype}/{model} |
/sbs: работа с сервисом SBS
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| POST
/sbs/analyze |
Получение аналитических метаданных из голосового фрагмента |
|
{ age: { class: 20-29, confidence: 0.99 }, emotion: { class: SADNESS, confidence: 0.99 }, gender: { class: FEMALE, confidence: 0.99 } }
|
Более подробные сведения находятся в руководстве пользователя SBS. |
| POST/sbs/search | Поиск говорящего по базе слепков |
|
{ error: 0, speaker: Ivan, confidence: 0.79 }
|
— |
| POST
/sbs/speakers/add |
Добавление нового говорящего |
|
{
|
|
| DELETE
/speaker/{model}/{speaker_id} |
Удаление слепка из базы |
|
{ "error": 0,
|
— |
| GET
/sbs/speakers/list |
Выводит список имен и идентификаторов говорящих | — | [
|
|
| POST
/sbs/speakers/modify/{id} |
Дообучение имеющегося слепка говорящего |
|
{
|
|
| POST/sbs/verify/{id} | Сравнение оцифрованного представления wav-файла cо слепком в базе |
|
{"error": 0,
|
— |
/tts: методы работы с сервисом tts
| Метод | Описание | Входные параметры | Ответ | Пояснения | |
|---|---|---|---|---|---|
| GET
/tts/dictionary/export |
Предназначен для экспорта пользовательского словаря в виде строк | — | привет прив+ет
|
— | |
| GET
/tts/dictionary/get |
Предназначен для экспорта пользовательского словаря в виде json | — |
|
— | |
| POST
/tts/dictionary/import |
Предназначен для загрузки пользовательского словаря в виде строк из файла .csv | CSV-файл с разделителем — «табуляция». | {
|
Пользовательский словарь будет переписан, не дополнен! | |
| POST
/tts/dictionary/put |
Предназначен для загрузки пользовательского словаря в виде json списка | [ [ "привет", "прив+ет" ] ]
|
{
|
Пользовательский словарь будет переписан, не дополнен! | |
| GET
/tts/synthesize/{model} |
Синтезировать текст |
|
wav-файл с синтезированным текстом |
/qas: методы работы с сервисом qas
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/qas/ask |
Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе |
возможные варианты: - "no" не использовать - "all" использовать все - "checked" использовать только проверенные
возможные варианты "yes" "no" |
{
|
Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение. |
| GET
/qas/cachemaker/start |
Генерация ответов на вопросы в кэше. | category — категория для которой генерируются ответы
mode — режим генерации ответов, возможные значения:
variants — количество ответов, от 1 до 9 |
{"error": 0, "message": "success"}
|
— |
| GET
/qas/cachemaker/status |
Состояние генерации ответов на вопросы в кэше.Статусы: started, stopped, если были ошибки, поле ответа error будет содержать код ошибки. | — | {
|
— |
| GET
/qas/cachemaker/stop |
Остановить генерацию ответов на вопросы в кэше. | — | {"error": 0, "message": "success"}
|
— |
| POST/qas/category/add | Добавить категорию с указанным именем |
|
В ответе - id созданной категории или сообщение об ошибке:
|
|
| DELETE
/qas/category/delete/{id} |
Удалить категорию |
|
{
|
В ответе или сообщении об успехе, или ошибке, если категория используется или не существует. |
| GET
/qas/category/list |
Получить список категорий | — | В ответе json с именами и id категорий | — |
| POST
/qas/category/modify/{id} |
Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию |
|
{
|
— |
| POST
/qas/channel/add |
Добавление канала |
|
{
|
В ответе id созданного канала или сообщение об ошибке |
| DELETE
/qas/channel/delete/{id} |
Удаление канала |
|
{
|
— |
| GET
/qas/channel/list |
Получить список всех каналов | — | {
|
— |
| POST
/qas/channel/modify/{id} |
Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал |
|
{
|
|
| POST
/qas/doc/add |
Предназначен для загрузки текстового документа |
|
|
Добавляет документ в базу. |
| DELETE
/qas/doc/delete/{id} |
Предназначен для удаления документа | id — идентификатор документа | {"error": 0,"message": "success"}
|
— |
| GET
/qas/doc/get/{id} |
Предназначен для выгрузки текста документа | id — идентификатор документа | {
|
|
| GET
/qas/doc/list |
Предназначен для получения списка имеющихся документов | — | {
|
|
| POST
/qas/doc/modify/{id} |
Метод для обновления документа |
параметр который не меняется может отсутствовать в json
|
В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.
|
|
| POST
/qas/question/add |
Метод для добавления вопроса |
|
В случае успеха метод вернет id вопроса, в случае неудачи - код ошибки.
|
|
| DELETE
/qas/question/delete/{id} |
Метод для удаления вопроса | id — идентификатор вопроса | В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.
|
|
| GET
/qas/question/get/{id} |
Метод для получения вопроса вместе с ответами и синонимами вопроса | id — идентификатор вопроса | {
|
|
| GET
/qas/question/list |
Метод для получения списка вопросов. | — | {
|
|
| POST
/qas/question/modify/{id} |
Метод для модификации вопроса. Позволяет заменить как все параметры так и отдельные |
|
В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.
|
|
| GET
/qas/questionmaker/start |
Запуск генерации вопросов для кэша. |
|
{"error": 0, "message": "success" }
|
По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases. |
| GET
/qas/questionmaker/status |
Проверка состояния генерации | — | {
|
Статусы: started, stopped.
Если были ошибки поле ответа error будет содержать код ошибки |
| GET
/qas/questionmaker/stop |
Прервать генерацию. | — | {"error": 0, "message": "success"}
|
|
| GET/qas/search | Предназначен для поиска фрагментов содержащих ответ |
|
{
|
— |
/transcription: методы работы со стенографией
| Метод | Описание | Входные параметры | Ответ | Пояснения |
|---|---|---|---|---|
| GET
/transcription/audio/{id} |
Предназначен для получения аудиофайла по id стенограммы |
|
wav файл сохраненной стенограммы | Идентификатор нужной стенограммы можно получить методом
"GET /transcription/list" |
| POST
/transcription/create |
Предназначен для создания стенограммы из завершенного задания в очереди распознавания |
|
{
"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 ] } |
- |