Действия

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

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

Нет описания правки
Нет описания правки
Строка 2339: Строка 2339:


*<small>'''postprompt''' - текст шаблона постобработки результатов (нужен только для summarize)</small>
*<small>'''postprompt''' - текст шаблона постобработки результатов (нужен только для summarize)</small>
*<small>'''params''' - параметры запроса к LLM</small>"<small>max_tokens": 4096,</small>  <small>"top_k": 30,</small>  <small>"top_p": 0.5,</small>  <small>"temperature": 0.5,</small>  <small>"repeat_penalty": 1.3</small>
|<small>{</small><small>  "error": 0,</small>
|<small>{</small><small>  "error": 0,</small>



Версия от 13:22, 18 июля 2025

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


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

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

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

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

"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX"

}

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

"error": 0

"message": "success",

"dataset_id": "XXXXXXXXXXXXX"

}

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

"error": 0,

"message": "success"

}

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

"error": 0,

"message": "success"

}

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

{"id": "XXXXXXXXXXXXXXXXXX",

"name": "XXX"},

{"id": "0",

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

]

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

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

"x-refresh-token": "XXXXXXXXXXXXXXXXXXXX"

}

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

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

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

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

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

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

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

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

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

}

{

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

}

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

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

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

}

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

"id": "XXXXXXXXXXX",

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

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

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

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

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

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

{"error": 0,

"message": "success",

"user_id": "XXXXXXXXXXXXXXXX"}

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

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

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

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

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

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

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

{"id": "XXXXXXXXXX",

"username": "loginname",

"fullname": "Full Name",

"role": "0",

"dataset": "0",

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

......

]

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

"message": "success"}

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

  "error": 0,

  "message": "success",

  "data": [

    [

      "время",

      "id",

      "метод",

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

    ],

    [

      "время",

      "id",

      "метод",

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

    ],

    .........

}

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

  "version": "4.082 release"

}

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

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

... }

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


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

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

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

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

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

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

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

  "timers": {  "connect": 0.5,

    "read": 1,

    "failed": 600,

    "install": 60,

    "info": 3 },

  "counter": 0,

  "current": 0,

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

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

    "model1",

    ...

    "modelN"

  ],  ... }

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

"error":0,

"message":"success"

}

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

"error":0,

"message":"success"

}

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

"error":0,

"message":"success"

}

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

- train ошибки обучения

- test ошибки тестирования

- mark ошибки авторазметки

  • servicetype — тип сервиса
  • model — название модели
  • modeltype — тип модели
[ [true, predicted, phrase],

... ]

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

"message":"success"

}

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

"message":"success"

}

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

"error":0,

"message":"success"

}

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

"error":0,

"message":"success"

}

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

"error":0,

"message":"success"

}

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

    "previous": null,

    "current": null,

    "future": {

      "status": "empty",

      ...

    }   },  ... }

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

  "current":  {

    "status": "trained",

    ... },

  "future": {

    "status": "trained",

    ...  } }

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

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

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

"error":0,

"message":"success"

}

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

  "training",

  "preparing data",

  "tokenizing",

  ...

]

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

"message":"success"

}


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

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

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

  "message": "success",

  "tasks": [ {

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

      "taskname": "test_doc",

      "status": "finished"    },

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

      "taskname": "sssss",

      "status": "finished"    }  ] }

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

}

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

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

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

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

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

  "error": 0,

  "message": "success",

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

}

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

  "error": "",

  "status": "finished",

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

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

  "progress": 0

}

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

  "message": "success"}

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

  "error": 0,

  "message": "success"

}

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

  "message": "success"}

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

  [ "тэг",

    "фраза"

  ],

  ...

]

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

  "error": 0,

  "message": "success"

}

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

"корпус2",

  ...]

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

  "error": 0,

  "message": "success"

}

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

  "error": 0,

  "message": "success"

}


/marks: работа с наборами меток в smc
POST/marks/add Добавление набора менток
  • json —список меток в формате: [ [  "метка1",

      ["синоним1", "синоним2", "синоним3", "синонимN" ], 0.9 # достоверность для метки (0 - 1)

    ],  [ "меткаN",

      ["синоним11", "синоним21","синоним31", "синонимN1"], 0.9 # достоверность для метки (0 - 1)

    ] ]

  • name — имя создаваемого набора
{

  "error": 0,

  "message": "success",

  "id": "132310fa-98c7-4b12-896f-ff113827d077"

}

DELETE/marks/delete/{id} Удаление набора меток
  • id — идентификатор набора меток
{  "error": 0,

  "message": "success" }

GET/marks/export/{id} Получение набора меток в виде строк
  • id — идентификатор набора меток
Пример:

метка1 синоним1,синоним2,синоним3,синонимN 0.9

меткаN синоним11,синоним21,синоним31,синонимN1 0.9

GET/marks/get/{id} Получение набора меток в виде json
  • id — идентификатор набора меток
Пример:

{  "error": 0,

  "message": "success",

  "data": [

    ["метка1", [ "синоним1", "синоним2", "синоним3", "синонимN"  ],

      0.9

    ],

    ["меткаN", ["синоним11","синоним21", "синоним31","синонимN1"],

      0.9

    ]  ] }

POST/marks/import/{id} Импорт в существующий набор меток из файла. Набор будет переписан из файла
  • csv — файл "метка"ТАБ"синонимы через запятую"ТАБ"достоверность(число от 0 до 1)"
  • id — идентификатор набора
{  "error": 0,

  "message": "success" }

GET/marks/list Получение списка наборов меток
Нет входных параметров Пример:

{  "error": 0,

  "message": "success",

  "result": [    { "id": "416fbe08-19e9-453c-b140-37008a08a76c","name": "test" },

    {"id": "16e77fa2-7c4d-47f9-8644-6385876525d6","name": "Рыжик" },

    {"id": "132310fa-98c7-4b12-896f-ff113827d077", "name": "test" }

  ]}

POST/marks/put/{id} Импорт в существующий набор меток из json строки. Набор будет переписан
  • json — список меток в формате: [ [  "метка1",

      ["синоним1", "синоним2", "синоним3", "синонимN" ], 0.9 # достоверность для метки (0 - 1)

    ],  [ "меткаN",

      ["синоним11", "синоним21","синоним31", "синонимN1"], 0.9 # достоверность для метки (0 - 1)

    ] ]

  • id — идентификатор заменяемого набора меток
{  "error": 0,

  "message": "success" }

POST/marks/rename/{id} Присваивает новое наименование существующему набору меток
  • id — идентификатор набора меток
  • name — новое имя набора
{  "error": 0,

  "message": "success" }

/spr: работа с сервисом SPR
GET/spr/audio/{taskID} Получение аудиофайла отложенного задания
  • taskID — идентификатор задания в очереди/small>
Wav файл
GET/spr/queue Получение очереди отложенных заданий. Выводит очередь со статусами выполнения заданий. Статусы: ready — готово, waiting — ожидание, failed — сбой
Нет входных параметров {  "id задания": {

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

   "status": "waiting",

   "filename": "wav"}

DELETE/spr/queue/{taskID} Удаление задания из очереди
  • taskID — идентификатор задания в очереди/small>
{"error": 0,

"message": "success"}

GET/spr/result/{taskID} получениеПезультатов распознавания отложенного задания. Статусы: ready — готово, waiting — ожидание, failed — сбой, not found — не найдена
  • taskID — идентификатор задания в очереди/small>
Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи
POST/spr/stt/{model} Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора spr.
  • model — идентификатор модели
  • wav — файл для распознавания
  • speakers — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)
  • punctuation — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).
  • normalization — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).
  • vad — используемый VAD, по умолчанию webrtc
  • toxicity — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:"оскорбление": 0.13, "непристойность": 0, "угроза": 0, "вежливость": 0.53
  • emotion — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.
  • voice_analyzer — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE). Пол (male, female).
  • speaker_counter — количество докладчиков, по умолчанию 0, автоматическое определение количества
  • async — отложенный запуск распознавания
  • classifiers - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {"smс":"название модели":{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам smc и see.
В случае async=1 возвращается только taskID, результат по taskID смотреть в методе /spr/result.

Для коротких файлов:

{

  "model": "call",

  "text": "текст фрагмента",

"classifiers": тут ответы от моделей smc и see,

  "words": [

{ "word": "текст",

      "start": 520,

      "stop": 1240 },

    { "word": "фрагмента",

      "start": 1240,

      "stop": 1920  }

]

}

Для транскрибации больших файлов:

{

"speakers": [

    {

"id": null,

      "duration": 18980,

      "fragments": 3,

      "age": "old", # только для voice_analyzer=1

      "gender": "female" # только для voice_analyzer=1

}

],

"splitted": [

    {

"start": "00:00:01.870",

      "text": "текст.",

      "words": [

      {

"word": "текст.",

          "start": 1870,

          "stop": 2710,

          "confidence": 0.95263671875

}

],

      "stop": "00:00:05.510",

      "channel": 0,

      "duration": "00:00:03.640",

      "start_ms": 1870,

      "stop_ms": 5510,

      "duration_ms": 3640,

      "speaker": 4,

      "speakerConfidence": 0.87,

"classifiers": тут ответы от моделей smc и see,

      "toxicity": { # только для toxicity=1

        "insult": 0,

        "obscenity": 0,

        "threat": 0,

        "politeness": 0.99

},

      "emotion": { "neutral": -0.3315 }, # только для emotion=1

      "voice_analysis": { # только для voice_analyzer=1

        "emotion": {

          "class": "NEUTRAL",

          "confidence": 0.7554781436920166  }

}

}

]

}

GET/spr/waveform/{taskID} Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.
  • taskID — идентификатор задания
{"error": 0,

"waveform": [

0.016,

    0.015,

    0.01 ] }

/smc: работа с сервисом SMC
GETsmc/classify/{model} Классификация текстовой фразы. В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.

В ответе:

  •     classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.
  •     groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).
  •     nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.
  • id - идентификатор модели
  • text - текст, подлежащий классификации
  • correction - уровень коррекции ошибок, от 0 до 3, по умолчанию 0
  • confidenceThreshold, % - минимальный порог доверия.
{  "corrected": "исправленный текст", # при наличии флага коррекции "classes": [

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

      "confidence": 1    },

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

      "confidence": 1    }  ],

  "groups": [

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

      "intersection": 2,

      "classes": [ "название класса", "название класса 2" ]    }  ],

  "nearest": [

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

      "percent": 0.67,

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

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

      "percent": 0.67,

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

GET/smc/compress Убирает из фразы слова не влияющие на ее смысл.
  • text текст для сжатия
  • threshold уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе
{  "text": "сжатый текст"}
GET/smc/correct Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.
  • text - текст для коррекции
  • correction - уровень коррекции, от 1 до 3. По умолчанию 1.
  • model - если указано, то при коррекции дополнительно используется словарь модели
{  "text": "корректный текст" }
GET/smc/emotion Анализ эмоций. На выходе один из вариантов: positive, negative, neutral.
text фраза для анализа эмоций { "emotion": "positive", "score": 0.9601 }
POST/smc/groups/{model} Добавляет к модели группы из корпуса. Группы в модели будут перезаписаны
  • id — наименование модели
  • corpus — наименование корпуса- источника групп
{  "error": 0,

  "message": "string"}

GET/smc/groups/{model} Поиск групп по ранее полученным меткам. Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.
  • classes — набор меток через запятую
  • model — имя модели
{"groups": [

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

     "intersection": 3,

     "classes": [

       "метка1_о",

       "метка2_о",

       "метка3_о"     ]   },

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

     "intersection": 2,

     "classes": [

       "метка1_о",

       "метка5_о"     ]   }],

"nearest": [

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

     "percent": 0.75,

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

GET/smc/normalize Обратная нормализация текста. Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.
  • text — текст для обработки.
{"text": "<строка после обратной нормализации>"}
GET/smc/punctuate Расстановка знаков препинания
  • text — текст для обработки.
{  "text": "string" }
POST/smc/stop/{model} Остановка обучения модели. Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.
  • model — идентификатор модели
{  "error": 0,

  "message": "string"}

POST/smc/test/{model} Запуск тестирования модели smc. Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}
  • model — идентификатор модели
  • corpus — название корпуса с тестовыми данными
{  "error": 0,

  "message": "success" }

GET/smc/toxicity Определение токсичности высказывания. Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:
  • text текстовая строка с высказыванием
{ "insult": 0.13, # оскорбление

  "obscenity": 0, # брань

  "threat": 0, # угрозы

  "politeness": 0.53 вежливость}

POST/smc/train/{model} Добавление модели.
  • model — идентификатор модели
  • corpus — имя текстового корпуса для обучения модели или имя набора меток
  • isMarks — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.
{ error: INT, message: DESCRIPTION }
/see: работа с сервисом SEE
GET/see/entities/{model} Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.
  • model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.
  • text — текст для анализа.
  • similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.
{ ID-модели: [

{ position: 0, # позиция слова начала фрагмента, определяющего сущность

confidence: 1, #вероятность правильного определения сущности

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

calculated: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели }, {...}

] }

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

  "message": "success"}

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

  "message": "success"}

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

{ age: {

   class: 20-29, # {"00-05", "06-12", "13-19", "20-29", "30-39", "40-49",   "50-59", "60+"}

   confidence: 0.99 },

emotion: {

   class: SADNESS, # { "ANGER", "BORE", "DISAPPOINTMENT", "DISGUST", "EXCITEMENT", "FEAR", "NEUTRAL", "PAIN", "PLEASURE", "SADNESS", "SUPRISE"}

   confidence: 0.99 },

gender: {

   class: FEMALE, # { "MALE", "FEMALE" }

   confidence: 0.99 } }

POST/sbs/noiselevel Возвращает процент зашумленности аудио
  • wav — файл для анализа
Пример ответа:

{ error: 0, message: 'success', 'noise': 0.79 }

POST/sbs/search Поиск говорящего по базе слепков.
  • wav — файл для анализа
  • threshold — процент совпадения
  • text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.
Пример ответа:

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

POST/sbs/speakers/add Добавление слепка в базу.
  • name — имя говорящего
  • wav — файл для создания оцифрованного представления говорящего
  • text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.
{

  "error": 0,

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

}

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

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

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

  }]

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

  "message": "Success"}

POST/sbs/verify/{id} Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.
  • name — имя говорящего
  • wav — файл для создания оцифрованного представления говорящего
  • text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от text.
{ "error": 0, "confidence": 0.78 }
/tts: методы работы с сервисом tts
GET/tts/dictionary/export Выгрузка пользовательского словаря ударений.
Входные параметры отсутствуют Простой текст — строки со словом и его интерпретацией с ударением.
GET/tts/dictionary/get Выгрузка пользовательского словаря ударений в виде json.
Входные параметры отсутствуют [ [   "слово",   "замена слова с удар+ением"],

[   "слово2",   "замена слова2 с удар+ением"],

...]

POST/tts/dictionary/import Загрузка пользовательского словаря ударений. Текущий словарь будет переписан.
  • csv file — файл строк со словом и его интерпретацией с ударением.
{  "error": 0,

  "message": "сообщение о статусе результата"}

POST/tts/dictionary/put Загрузка пользовательского словаря ударений в виде json. Текущий словарь будет переписан.
  • json — строка json следующего вида:

[

[   "слово",   "замена слова с удар+ением" ],

[ "слово2",   "замена слова2 с удар+ением" ],

...

]

{

  "error": 0,

  "message": "сообщение о статусе результата"

}

POST/tts/normalize Нормализация текста — перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -> «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».
  • text — фраза для нормализации
{  "error": 0,

  "message": "success",

  "text": "нормализованный текст" }

POST/tts/revoice/{revoicer} Модификация или искажение голоса
  • wav — аудиофайл для обработки
  • revoicer — модель модификации голоса
wav-файл с модифицированным (искаженным) голосом
GET/tts/revoicers Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.
Входные параметры отсутствуют [  "distortion" ]
POST/tts/synthesize/{model} Синтез звукового файла из текста/
  • ID — имя модели
  • text — текст синтезируемой фразы
  • rate — скорость речи
  • pitch — высота (тон)
  • volume — громкость
  • frequency — частота дискретизации (по умолчанию 22050 Гц)
  • format - формат файла результата (wav, opus, ogg, mp3)
  • link - если 1, то вернуть только ссылку на файл
файл с синтезированой фразой
/qas: методы работы с сервисом qas
GET/qas/ask Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.
  • text — текст вопроса, на основе которого будут искаться фрагменты.
  • category — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".
  • channel — id канала
  • useCache — использовать кешированные ответы

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

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

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

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

  • useGPT — использовать генеративную сеть для поиска ответов в документах. возможные варианты "yes" "no"
  • model - имя модели GPT, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
  • addAlias — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты "yes" "no"
{

"error": 0,

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

}

GET/qas/cachemaker/start Генерация ответов на вопросы в кэше.
  • category - категория для которой генерируются ответы*mode - режим генерации ответов, возможные значения:- paraphrase - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе- generate - генерирует кэш через разные ответы на каждый вопрос по документации
  • option - {all | empty} обработать все вопросы или только не содержащие ответов
  • category - если указан код категории, то генерация только для этой категории
  • variants - количество ответов, от 1 до 9
  • replace - заменить ответы на сгенерированные
  • maxDocs - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1
  • model - какую модель использовать для генерации, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
{"error": 0, "message": "success"}
GET/qas/cachemaker/status Состояние генерации ответов на вопросы в кэше. Статусы: started, stopped, если были ошибки, поле ответа error будет содержать код ошибки.
Входные параметры отсутствуют {  "error": "",

  "status": "started",

  "progress": 33.33}

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

  "message": "success",

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

DELETE/qas/category/delete/{id} Удалить категорию. В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.
  • id — идентификатор категории
{   "error": 0,

  "message": "success" }

GET/qas/category/list Получить список категорий
Входные параметры отсутствуют В ответе json с именами и id категорий
POST/qas/category/modify/{id} Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию
  • id — идентификатор категории
  • name — наименование категории
{  "error": 0,

  "message": "success" }

POST/qas/channel/add Добавление канала. В ответе id созданного канала или сообщение об ошибке
  • name — наименование канала
{"error": 0,

"message": "success",

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

DELETE/qas/channel/delete/{id} Удаление канала
  • id — идентификатор канала
{ "error": 0, "message": "success" }
GET/qas/channel/list Получить список всех каналов
Входные параметры отсутствуют {  "error": 0,

  "channels": [

    {      "id": "1",      "name": "voice"    },

    {      "id": "56442779-e871-43fd-ae4d-caf4ab6d09b9",      "name": "канал++"    },

    {      "id": "0",      "name": "default"    }

  ] }

POST/qas/channel/modify/{id} Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал
  • name — новое наименование канала
  • id — идентификатор канала
{  "error": 0,

  "message": "success" }

POST/qas/chat Поиск ответа за пределами документов. На стадии разработки, не используется.
  • text - текст вопроса
  • history - история вопросов, будет склеена с text при запросе
  • model - какую модель использовать для ответа, если кроме default используются другие модели
  • useInternalTemplate - использовать ли шаблон запроса. no - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.
  • params - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в руководстве администратора.
Пример ответа на вопрос "как пройти в библиотеку"{"error": 0,

"text": "1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом" }

GET/qas/chat Поиск ответа за пределами документов. Аналогичен методу "POST/qas/chat". Не поддерживает большие тексты.На стадии разработки, не используется.
  • text - текст вопроса
  • history - история вопросов, будет склеена с text при запросе
  • model - какую модель использовать для ответа, если кроме default используются другие модели
  • useInternalTemplate - использовать ли шаблон запроса. no - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.
  • params - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в руководстве администратора.
Аналогично методу "POST/qas/chat".
POST/qas/cleandoc Очистка документа от лишней информации
  • text - текст документа
  • model - какую модель использовать для ответа, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
{"error": 0, "message": "success", "text": "измененный текст"}
POST/qas/doc/add Загрузить текстовый документ. Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.
  • title — заголовок документа
  • category — категория документа
  • textфайл документа
{"error": 0,

"message": "success",

"id": "ebe2bc57551c2d17f892987d1f62306d"}

DELETE/qas/doc/delete/{id} Удаление документа
  • id — идентификатор документа
{"error": 0,"message": "success"}
GET/qas/doc/get/{id} Выгрузка текста документа
  • id — идентификатор документа
{

  "error": 0,

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

}

GET/qas/doc/list Получение списка имеющихся документов
Входные параметры отсутствуют Пример:

{  "error": 0,

  "docs": [

    {id": "d4999cdee5ad1faf2cb3066ea1b5e96b",

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

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

    {"id": "759042575b965745b9d2af869bca1740",

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

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

POST/qas/doc/modify/{id} Обновление документа. В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.
  • data — json c изменяемыми параметрами документа

{

  title: string,

  category: string,

  text: string

}

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

  • id — идентификатор документа.
{"error": INT, "message": DESCRIPTION}
POST/qas/doc/replace Замена подстроки в текстах категории Будут заменены все найденные вхождения
  • search - искомая подстрока, будет заменена
  • replace - текст замены
  • category - в какой категории искать
{"error": INT, "message": DESCRIPTION,"replacements":INT}
POST/qas/doc/modifyphrases Массовая замена текста в указанных фразах.
  • phrases - JSON массив с изменяемым фразами следующего вида:

[

{

'doc_id': 'ad895085-2e48-439a-831e-b5f699b6a54a',

'phrase_id': 5,

'text': 'новый текст'

}

]

{"error": 0,"message": "success"}
GET/qas/gpt/list Получение списка доступных(установленных) GPT моделей
Входные параметры отсутствуют {  "error": 0,  "message": "success",  "models": ["default" ]}
POST/qas/question/add Добавление вопроса. В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.
  • question — текст вопроса
  • category — id категории к которой относится вопрос
  • answers — ответы в виде Json:

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

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

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

{

  "error": 0,

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

}

POST/qas/question/append/{id} Добавляет алиасы/кандидаты к другому вопросу
  • aliases — JSON list с синонимами
  • candidates JSON list с кандидатами
  • id — идентификатор вопроса к которому добавить синонимы и(или) кандидаты
{error: 0 | 1, message: string}
POST/qas/question/approve/{destination_id} Перемещает кандидаты в формулировки другого вопроса
  • candidates — json массив c текстами кандидатов
  • destination_id — идентификатор вопроса
{error: 0 | 1, message: string}
POST/qas/question/delete/list Удаление списка вопросов или ответов
  • questions — json строка с перечнем id
  • type — выбор, удалять вопросы или ответы (questions, answers)
{"error": INT, "message": DESCRIPTION}
DELETE/qas/question/delete/{id} Удаление вопроса
  • id — идентификатор вопроса
{"error": INT, "message": DESCRIPTION}
GET/qas/question/get/{id} Получение вопроса вместе с ответами и синонимами вопроса
  • id — идентификатор вопроса
{  "error": 0,

  "answers": [

    {   "checked": true,

      "channel": "0",

      "answer": "ответ"    }  ],

  "aliases": [

    "вопрос",

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

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

GET/qas/question/list Получение списка вопросов.
  • question — фильтр вопросов, ограничение списка по вопросам
  • answer — фильтр ответов, ограничение списка по ответам
{  "error": 0,

  "questions": [

{"id": "","question": "","incomplete": "",

  "aliases": [],"candidates": [],"category": "",

  "checked": 0,"unchecked": 0},

{"id": "","question": "","incomplete": "",

  "aliases": [],"candidates": [],"category": "",

  "checked": 0,"unchecked": 0}

  ] }

POST/qas/question/modify/{id} Модификация вопроса. Позволяет заменить как все параметры так и отдельные
  • data — json c измененными параметрами, пример полного:

{   "answers": [

    {

      "checked": true,

      "channel": "0",

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

    }

  ],

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

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

  "aliases": [

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

    "синоним",

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

  ]

}

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

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

POST/qas/question/replace Поиск и замена подстроки. Будут заменены все найденные вхождения
  • search - искомая подстрока, будет заменена
  • replace - текст замены
  • category - в какой категории искать
{"error": INT, "message": DESCRIPTION,"replacements":INT}
POST/qas/question/modifyanswers Массовая замена текста в указанных ответах.
  • phrases - JSON массив с изменяемым ответами следующего вида:

[

{

'question_id': 'ad895085-2e48-439a-831e-b5f699b6a54a',

'answer_id': 5,

'text': 'новый текст'

}

]

{"error": 0,"message": "success"}
POST/qas/paraphrase Генерация фраз-синонимов для предложения.
  • text - предложение
  • model - какую модель использовать для ответа, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
{"error": 0, "message": "success", "texts": [ "перефразированный текст 1", ... ]}
GET/qas/questionlist/answers Отображает лог массовой обработки вопросов
Входные параметры отсутствуют на выходе :

массив из объектов {

  error: number;

  question: string;

  answer: string;

  confidence: number | null;

}

POST/qas/questionlist/start Старт массовой обработки вопросов из файла
  • questions - файл с вопросами
  • format - в json или в text файл с вопросами
  • category — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".
  • channel — id канала
  • useCache — использовать кешированные ответы

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

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

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

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

  • useGPT — использовать генеративную сеть для поиска ответов в документах. возможные варианты "yes" "no"
  • model - имя модели GPT, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
  • maxDocs - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1
  • addAlias — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты "yes" "no"
  • threshold - порог достоверности при обработке
{error: 0 | 1, message: string}
GET/qas/questionlist/status Статус массовой обработки вопросов
Входные параметры отсутствуют {     error: string;

     status: 'started' | 'stopped';

     progress: number; }

GET/qas/questionlist/stop Остановка массовой обработки вопросов
Входные параметры отсутствуют {error: 0 | 1, message: string}
GET/qas/mismatchsearcher/answers Отображает лог найденных несоответствий
Входные параметры отсутствуют на выходе :массив из объектов {

  'question_id'

'category'

'answer_id'

'answer'

'description'

'error'

}

POST/qas/mismatchsearcher/start Старт поиска несоответствий
  • category — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".
  • model - имя модели GPT, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
{error: 0 | 1, message: string}
GET/qas/mismatchsearcher/status Статус поиска несоответствий
Входные параметры отсутствуют {     error: string;     status: 'started' | 'stopped';

     progress: number; }

GET/qas/mismatchsearcher/stop Остановка поиска несоответствий
Входные параметры отсутствуют {error: 0 | 1, message: string}
GET/qas/questionmaker/stop Прервать генерацию.
Входные параметры отсутствуют {"error": 0, "message": "success"}
GET/qas/search Поиск фрагментов содержащих ответ
  • text — текст запроса
  • category — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель "|".
{  "error": 0,

  "text": "

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

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

  "fragments": [

    {      "id": "3a386b0a9e0e19efb0870685e1d0b484",

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

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

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

    {      "id": "44fd73ea1ac63f32cf18d79c854dbfe2",

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

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

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

POST/qas/summarization_template/add Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.
  • name — название шаблона
  • options — json словарь с именами разделов и их описанием
{  "error": 0,  "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"}
DELETEqas/summarization_template/delete/{id} Удаление шаблона.
  • id — идентификатор шаблона
{"error": INT, "message": DESCRIPTION}
GET/qas/summarization_template/get/{id} Получение json с шаблоном.
  • id — идентификатор шаблона
На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.
GET/qas/summarization_template/list Получение всех шаблонов.
Входные параметры отсутствуют На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).
POST/qas/summarization_template/modify/{id} Изменение шаблона.
  • data — словарь как в выдаче метода GET/qas/summarization_template/get/{id}
  • id — идентификатор шаблона
{"error": INT, "message": DESCRIPTION}
POST/qas/summarize Построение протокола или краткого содержания совещания
  • text - текст совещания
  • options — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.
  • model - какую GPT модель использовать для построения протокола, если кроме default используются другие модели
  • file — файл с текстом (текст, csv, pdf или текстовые офисные документы)
  • template - ID шаблона запроса к LLM, необязательный параметр
{  "error": 0,

  "message": "success",

  "summary": "здесь текст протокола"

}

POST/qas/replace корректировка информации в тексте при помощи LLM
  • text - текст
  • oldinfo — старая информация
  • newinfo — новая информация
  • model - какую модель использовать для генерации, если кроме default используются другие модели
  • template - ID шаблона запроса к LLM, необязательный параметр
{  "error": 0,  "message": "success",

  "text": "итоговый текст"

}

POST/qas/replacementlist список всех фраз в документах и ответов в вопросах, подлежащих правке. Векторно ищет все фрагменты по указанному тексту.
  • text - текст
  • category — категория, в которой производится векторный поиск
  • threshold — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -> threshold)
[ "error": 0,

"message": "success", "docs": [], "answers": [] ]

POST/qas/prompt/add Добавление шаблона запроса к LLM. В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.
  • type — тип шаблона - chat - произвольный чат, - ask - запрос к документам, - cleandoc - очистка документа, форматирование либо другое преобразование, - similars_generator - генерация синонимичных которотких фраз, - paraphrase - перефразировка текста, - summarize - суммаризация текста (формирование краткой выдержки из текста), - question_generator - генерация вопросов по тексту, - replace - замена информации в тексте
  • name — название шаблона
  • prompt — текст шаблона
  • postprompt - текст шаблона постобработки результатов (нужен только для summarize)
  • params - параметры запроса к LLM"max_tokens": 4096, "top_k": 30, "top_p": 0.5, "temperature": 0.5, "repeat_penalty": 1.3
{  "error": 0,

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

}

DELETE/qas/prompt/delete/{id} Удаление шаблона.
  • id — идентификатор вопроса
{"error": INT, "message": DESCRIPTION}
GET/qas/prompt/get/{id} Получение шаблона.
  • id — идентификатор вопроса
{  "error": 0,  "prompt": {

    "id": "cleandoc",

    "type": "cleandoc",

    "isDefault": false,

    "name": "Чистка документа",

    "prompt": "Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:",

    "postprompt": "",

    "_modified": 1751475766.7460272,

    "_created": 1751475766.7460272,

    "_modified_date": "2025-07-02",

    "_created_date": "2025-07-02"

  }

}

GET/qas/prompt/list Получение списка шаблонов.
{  "error": 0,  "prompts": [

    {

      "id": "chat",

      "type": "chat",

      "isDefault": false,

      "name": "Чат",

      "prompt": "Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:",

      "postprompt": "",

      "_modified": 1751475766.7460272,

      "_created": 1751475766.7460272,

      "_modified_date": "2025-07-02",

      "_created_date": "2025-07-02"

    }

  ]

}

POST/qas/prompt/modify/{id} Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.
  • data — json c измененными параметрами:

{ "name": "новое имя" }

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


/ses: методы работы с роботом
Описание методов API
для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс "_prod", для бэкапа "_backup"

актуально для методов

- получения данных робота  GET/ses/robot/get/{id}

- применение настроек робота GET/ses/robot/commit/{id}

- экспорт робота GET/ses/robot/export/{id}

- список скриптов GET/ses/robot/script/list/{robot}

- получение скрипта GET/ses/robot/script/get/{robot}/{id}

- список ЭД GET/ses/robot/data/list/{robot}

- получение ЭД GET/ses/robot/data/get/{robot}/{id}

- список КТ GET/ses/robot/endpoint/list/{robot}

- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}

- метода ask (отладчика) POST/ses/ask/{robot_id}

- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}

GET/ses/archive/audio/{uuid} Получение аудио-файла из архива диалогов
  • uuid - идентификатор диалога
аудио-файл с расширением opus
GET/ses/archive/dialog/{uuid} Получение диалога из архива
  • uuid - идентификатор диалога
{ "error": 0,  "message": "success",

  "dialog": [{"id": "...", "robot": "...", "channel": "...",

    "unknown": true/false, "closed": true/false, "endpoint": "...",

    "answered": true/false, "models": [...], "variables": {}, "current": {

      "id": "...", "qas": "", "category": "...", "entry": [...],

      "nearest": "...", "missingRunData": [...], "waitingRunData": "...",

      "answered": true/false, "lastreply": "..."},

      "request": {"datetime": "...", "message": "", "data": [...]},

      "reply": {"answers": [{"messages": [...], "voice": "...",

          "interruptible": true/false, "file": null}],

        "datetime": "...", "answered": true/false}}]}

GET/ses/archive/list Получение списка диалогов из архива
  • uuid - идентификатор диалога
  • startdate - начало временного интервала в формате date %Y-%m-%d %H:%M
  • enddate - конец временного интервала в формате date %Y-%m-%d %H:%M
  • phone - номер телефона
  • variable - переменная в формате variable=value
  • robot - идентификатор робота (id)
  • text - фрагмент текста в любом сообщении
  • data - id элемента данных
  • channel - название канала (коннектора)
[{"uuid": "...", "datetime": "...","phone": "", "channel": [...], "robot": ["..."]}]
GET/ses/archive/waveform/{uuid} Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.
  • uuid - идентификатор диалога
[0.016,

0.015,

0.01]

POST/ses/ask/{robot_id} Получение ответа на запрос пользователя. Метод для отладки робота
  • text - текст запроса
  • channel - id канала
  • connector - имя коннектора
  • session - uuid сессии, если это не первый запрос в сессии
  • tts - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)
  • variables - словарик с переменными {"переменная1":"значение","переменнаяN":"значение"}
  • handler - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.
  • restartClosed - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)
  • audio - аудиофайл с запросом, текст запроса будет получен распознаванием audio
  • document - документ для последующей обработки
  • robot_id - id робота
  • endpoint - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)
{  "error": 0,  "question": "Вопрос",

  "answer": [

    {  "messages": [

        "ответ"      ],

      "voice": "",

    "interruptible": true/false,

"file": "" }  ],

  "session": "",

"uuid": "" }

POST/ses/robot/add Создание нового робота. На выходе id созданного робота или сообщение об ошибке
  • name — имя нового робота
{  "error": 0,  "id": "2fd2f909-2069-4b20-a725-3a598c83f886"}
POST/ses/robot/apply/{id} Применение робота. Переводит черновик робота в статус prod. Если до этого был prod вариант — становится backup.
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/cleardraft/{id} Обнуление черновика рабочей версией робота
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/commit/{id} Применение текущих изменений настроек робота. Применимо ко всем версиям (черновик, рабочая, резервная копия)
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/data/add/{robot} Добавление элемента данных
  • data — json строка с параметрами элемента данных
  • robot — идентификатор робота
{  "error": 0,  "message": "success"}
DELETE/ses/robot/data/delete/{robot}/{id} Удаление элемента данных
  • id — идентификатор элемента данных
  • robot — идентификатор робота
{  "error": 0,  "message": "success"}
GET/ses/robot/data/get/{robot}/{id} Получение настроек элемента данных
  • id — идентификатор элемента данных
  • robot — идентификатор робота
{ "error": 0,                "data": {    "id": "id ЭД",         "name": "Имя ЭД",          "comment": "",

    "type": "...",     "rtype": "report",     "model": "Имя модели",

    "param": "Ответ",        "script": "",              "weight": 3,

    "slaveData": [],                 "getOnlyAsNearest": true/false,

    "injectToMessage": true/false,        "longWaiting": true/false,

    "dataWaiting": [],          "actions": {             "alone": {

        "default": [{"action": "say",   "type": "random",   "text": ["....."]}]}},

    "exceptions": {}}}

GET/ses/robot/data/list/{robot} Получение списка элементов данных
  • robot — идентификатор робота
[  {  "id": "3ebfe38b-95bf-4927-a662-17f6e5da22ea",

    "name": "pve", "type": "smc", "rtype": "report",

    "weight": 3, "hasNearestAction": false } ]

POST/ses/robot/data/modify/{robot}/{id} Изменение элемента данных. Формат data как на выходе метода GET/ses/robot/data/get/{robot}/{id}
  • data — json строка с параметрами элемента данных
  • robot — идентификатор робота
  • id — идентификатор элемента данных
{  "error": 0,  "message": "success"}
DELETE/ses/robot/delete/{id} Удаление всех версий робота
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/endpoint/add/{robot} Создание конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id}
  • data — json строка с параметрами конечной точки
  • robot — идентификатор робота
{  "error": 0,  "id": "8576593b-b0d8-4b03-a623-74f3132356ea"}
DELETE/ses/robot/endpoint/delete/{robot}/{id} Удаление конечной точки.
  • robot — идентификатор робота
  • id — идентификатор конечной точки
{  "error": 0,  "message": "success"}
GET/ses/robot/endpoint/get/{robot}/{id} Получение настроек конечной точки
  • robot — идентификатор робота
  • id — идентификатор конечной точки
{ "error": 0,  "data": {    "id": "...", "name": "...", "comment": "",

    "entryType": "conditions",

    "entry": [{ "conditions": [{ "type": "...", "depth": 5, "id": "...", "operation": "...", "value": ""}], "run": []}],

    "run": [],

    "actions": { "default": [{ "action": "...", "voice": "", "type": "...",  "interruptible": true/false}]},

    "type": "report"}}

GET/ses/robot/endpoint/list/{robot} Получение списка конечных точек робота
  • robot — идентификатор робота
[{ "error": 0,  "data": {    "id": "...", "name": "точка 1", "comment": "",

    "entryType": "conditions",

    "entry": [{ "conditions": [{ "type": "...", "depth": 5, "id": "...", "operation": "...", "value": ""}], "run": []}],

    "run": [],

    "actions": { "default": [{ "action": "...", "voice": "....", "type": "...",  "interruptible": true/false}]},

    "type": "report"}}]

POST/ses/robot/endpoint/modify/{robot}/{id} Изменение конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id}
  • data — json строка с параметрами элемента данных
  • id — идентификатор элемента данных
  • robot — идентификатор робота
{  "error": 0,  "message": "success"}
GET/ses/robot/export/{id} Выгрузка робота в архив
  • id — идентификатор робота
zip файл с именем = идентификатор робота
GET/ses/robot/files/download/{robot}/{id} Получение файла.
  • robot - идентификатор робота
  • id - идентификатор файла
файл
POST/ses/robot/files/upload/{robot} Отправка файла.
  • robot - идентификатор робота
  • file - файл
{"error": 0, "message": "success", "id": "Id файла"}
GET/ses/robot/get/{id} Выгрузка основных настроек робота
  • id — идентификатор робота
{  "error": 0,  "data": {

    "id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78",

    "name": "test",    "description": "",    "voice": "",

    "session": {      "lifetime": 600    },

    "models": {},    "servicedata": {},

    "exceptions": {},    "actions": {},

    "holidays": [],    "timeintervals": {

      "name": {        "weekdays": [ 1, 2, 3, 4, 5, 6,  7  ],

        "dates": [  0,  1,  2,   3, 4,  5, 6,  7,  8,  9, 10,  11, 12,13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],

"months": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],

"days": "all", "intervals": [ [ 0,  1440 ] ] }}}}

POST/ses/robot/import/{id} Загрузка архива робота в черновик существующего робота
  • zip — файл с архивом робота
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
GET/ses/robot/list Получение списка роботов
Входные параметры отсутствуют [  {  "id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78",    "name": "test",

    "hasProd": true,

    "hasBackup": true  } ]

POST/ses/robot/modify/{id} Изменение основных настроек робота. Формат data как в ответе метода GET/ses/robot/get/{id}
  • data — json строка с новыми настройками робота
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/restore/{id} Откат рабочей версии из бэкапа. Резервная копия становится рабочей, и удаляется, а черновик остается без изменений
  • id — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/script/add/{robot} Добавление нового скрипта. Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id}
  • data — json строка с параметрами скрипта
  • robot — идентификатор робота
{  "error": 0,  "message": "success"}
DELETE/ses/robot/script/delete/{robot}/{id} Удаление скрипта
  • robot — идентификатор робота
  • id — идентификатор скрипта
{  "error": 0,  "message": "success"}
GET/ses/robot/script/get/{robot}/{id} Получение текста скрипита
  • robot — идентификатор робота
  • id — идентификатор скрипта
{  "error": 0,  "data": {

    "id": "6a9f91b6-9634-4079-ac2b-60a944922c61",

"type": "Тип скрипта",

    "name": "Наименование скрипта",

    "code": "Текст скрипта"  }

}

GET/ses/robot/script/list/{robot} Получение списка скриптов
  • id — идентификатор робота
[  {    "id": "9b9d83b7-d5c3-49e6-9bd4-a123a9047939",    "name": "наименование1",

"type": "Тип скрипта"},

  {    "id": "48b508ba-a32b-4ada-bcc3-66ce26d81c6a",

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

"type": "Тип скрипта"}]

POST/ses/robot/script/modify/{robot}/{id} Изменение скрипта.Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id}
  • data — json строка с параметрами элемента данных
  • id — идентификатор скрипта
  • robot — идентификатор робота
{  "error": 0,  "message": "success"}
POST/ses/robot/script/test/{robot}/{id} Тестирование скрипта. Формат data как в ответе метода GET/ses/session/{robot_id}/{session_id}
  • data - json строка с параметрами сессии
  • id - идентификатор скрипта
  • robot - идентификатор робота
{"error": 0, "message": "success", "result": {.....}, "variables": {}}
POST/ses/robot/userdata/data/add/{robot}/{structure} Добавление записи в пользовательский справочник.
  • data - json строка в формате {"колонка 1": "значение 1","колонка n":"значение n"}
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
{"error": 0,  "id": "id записи"}
DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id} Удаление записи из пользовательского справочника.
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
  • id - идентификатор записи (id)
{"error": 0,  "message": "success"}
GET/ses/robot/userdata/data/list/{robot}/{structure} Получение данных из пользовательского справочника.
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
[{ "колонка 1": "значение 1", "колонка n": "значение n", "id": "id записи"}]
POST/ses/robot/userdata/data/modify/{robot}/{structure} Массовое изменение данных в пользовательском справочнике.
  • list - json строка в формате [{"колонка 1": "значение 1","колонка n": "значение n", "id": "id строки"}]
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
{"error": 0,  "message": "success"}
POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id} Изменение одной записи пользовательского справочника.
  • data - json строка в формате {"колонка 1": "значение 1","колонка n":"значение n"}
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
  • id - идентификатор записи (id)
{"error": 0,  "message": "success"}
POST/ses/robot/userdata/data/put/{robot}/{structure} Добавление данных с заменой в пользовательском справочнике.
  • list - json строка в формате [{"колонка 1": "значение 1","колонка n": "значение n", "id": "id строки"}] Поле "id" опционально, при его добавлении данные в строке будут заменены.
  • replace - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.
  • robot - идентификатор робота (id)
  • structure - идентификатор пользовательского справочника
{"error": 0,  "message": "success"}
POST/ses/robot/userdata/structure/add/{robot} Добавление пользовательского справочника.
  • data - json строка в формате {"id": "id справочника", "name": "справочник", "fields": {"колонка 1": "значение по умолчанию","колонка n":"значение по умолчанию"}}. Поле "id" опционально.
  • robot - идентификатор робота (id)
{"error": 0,  "id": "id справочника"}
DELETE/ses/robot/userdata/structure/delete/{robot}/{id} Удаление пользовательского справочника.
  • robot - идентификатор робота (id)
  • id - идентификатор пользовательского справочника
{"error": 0,  "message": "success"}
GET/ses/robot/userdata/structure/list/{robot} Получение списка пользовательских справочников.
  • robot - идентификатор робота (id)
[{"id": "id справочника", "name": "справочник", "fields": {"колонка1": "значение по умолчанию"}}]
POST/ses/robot/userdata/structure/modify/{robot}/{id} Модификация структуры пользовательского справочника.
  • data - json строка в формате {"name": "справочник", "fields": {"колонка 1": "значение по умолчанию","колонка n":"значение по умолчанию"}}.
  • robot - идентификатор робота (id)
  • id - идентификатор пользовательского справочника
{"error": 0,  "message": "success"}
GET/ses/session/{robot_id}/{session_id} Выдает параметры сессии. Для отображения на боковой панели тестирования в UPS. Основные блоки результата:
  • robot_id — id робота
  • session_id — id незакрытой сессии
{ "started": "",  "modified": "",

  "robot": "",

  "session": "",

  "channel": "",

  "connector": "",

  "unknown": true/false,

  "current": {"id": "", "qas": "", "answered": true/false, "category": "",

              "nearest": "",    "entry": [.....],    "missingRunData": [],

              "passedRunData": [.....],       "waitingRunData": null,

              "border": int,    "preborder": int,    "lastreply": ""},

  "models": [.....],

  "scripts": [.....],

  "data": [{"request": {.....}, "reply": {.....}}],

  "timers": [],

  "variables": {},

  "error": "",

  "events": {.....},

  "closed": ""  }

GET/ses/widget/config Выдает параметры виджета для web канала по запросу js скрипта
  • token — уникальный код виджета, создается при внедрении
Состав конфига канала, для передачи виджету. Подробней в Руководстве администратора
GET/ses/widget/js Выдает код js скрипта виджета для web-канала
Входные параметры отсутствуют Код скрипта
/res: методы работы с сервисом отчетов
Описание методов API
GET/res/dashboards Получить список рабочих столов kibana с наборами отчетов
Входные параметры отсутствуют {  "error": 0,  "message": "success",

  "dashboards": {

"Наименование1": "https://........",

"Наименование2": "https://........."  }}

/transcription: методы работы со стенографией
GET/transcription/audio/{id} Получить аудиофайл по id стенограммы. Идентификатор нужной стенограммы можно получить методом

"GET /transcription/list"

  • id — идентификатор стенограммы
wav файл сохраненной стенограммы
POST/transcription/create Создание стенограммы из завершенного задания в очереди распознавания. В ответ придет id созданной стенограммы
  • taskID — идентификатор задания из очереди
  • name — имя создаваемой стенограммы
{"error": 0,

"message": "success",

"id": "74721a3b-9055-4650-9afb-de4d103cafc7"}

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} Сохранение стенограмы. Используется для сохранения изменений по нажатию кнопки «Сохранить».
  • data — стенограмма в json формате
  • id стенограммы
{"error": 0,"message": "success"}
GET/transcription/waveform/{id} Служебный метод для отображения аудио в графическом виде, ответ содержит пики сигнала
  • id стенограммы
{ "error": 0,

"waveform": [

   0.016,

  ..........

  ..........

   0.015,

   0.01 ] }