<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.connect2ai.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ka.shapovalov</id>
	<title>Флора AI - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.connect2ai.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ka.shapovalov"/>
	<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Ka.shapovalov"/>
	<updated>2026-06-01T15:17:38Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SPR._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3044</id>
		<title>SPR. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SPR._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3044"/>
		<updated>2025-08-27T10:00:27Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Short phrase recognizer предназначен для преобразования речи в текст. Принимает на вход аудиофайл в формате wav и возвращает структурированные данные в формате JSON.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Short Phrase Recognizer (SPR) — сервис распознавания речи.&lt;br /&gt;
&lt;br /&gt;
Модель — предварительно обученная специализированная нейронная сеть для распознавания естественной речи в аудиозаписях.&lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SPR в реальном времени.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API SPR&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SPR. По умолчанию используется порт 6183/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Вывод списка моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Без входных параметров.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ models: [model1,...,modelN] }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение файла аудиозаписи отложенного задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Файл аудиозаписи или&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT , message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение архива модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;ZIP-файл с моделью, либо &amp;lt;code&amp;gt;{ error: INT , message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели, обязательный параметр.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;zip-model — zip-архив с файлами модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Или&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;from-existing-model — название модели, которая должна перемещена на место id.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Удаление модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение очереди отложенных заданий на распознавание.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Без входных параметров.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id задания&amp;quot;:&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;, # ready | waiting | failed&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE:/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Удаление отложенных заданий на распознавание.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания в очереди.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST:/spr/stt/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Отправка файла на распознавание речи. Моно-файлы до 60 секунд распознаются без разбивки на фрагменты и определения спикеров. Многоканальные файлы и файлы длиннее 60 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Аудио говорящего анализируется на возраст (child, adult, old).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества. При отправке значения -1 разделение на докладчиков будет отключено.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    { &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        { &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  } &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение результата отложенного распознавания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Вывод по окончанию распознавания аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;ready — готово&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;waiting — ожидание&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;not found — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;failed — сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;width: 50%&amp;quot; colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;0.016,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    0.015,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    0.01&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=3043</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=3043"/>
		<updated>2025-08-27T09:59:36Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества. При отправке значения -1 разделение на докладчиков будет отключено.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести при поиске, от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;similarityArea -&#039;&#039;&#039; определяет допустимую разницу между максимальной и минимальной релевантностью фрагментов при фильтрации результатов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;similarityArea -&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;определяет допустимую разницу между максимальной и минимальной релевантностью фрагментов при фильтрации результатов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - параметры запроса к LLM&amp;lt;/small&amp;gt;&amp;quot;&amp;lt;small&amp;gt;max_tokens&amp;quot;: 4096,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_k&amp;quot;: 30,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_p&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;temperature&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;repeat_penalty&amp;quot;: 1.3&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;endpoint&#039;&#039;&#039; - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,                &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;id ЭД&amp;quot;,         &amp;quot;name&amp;quot;: &amp;quot;Имя ЭД&amp;quot;,          &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,     &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,     &amp;quot;model&amp;quot;: &amp;quot;Имя модели&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;Ответ&amp;quot;,        &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,              &amp;quot;weight&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],                 &amp;quot;getOnlyAsNearest&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;injectToMessage&amp;quot;: true/false,        &amp;quot;longWaiting&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;dataWaiting&amp;quot;: [],          &amp;quot;actions&amp;quot;: {             &amp;quot;alone&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;        &amp;quot;default&amp;quot;: [{&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,   &amp;quot;type&amp;quot;: &amp;quot;random&amp;quot;,   &amp;quot;text&amp;quot;: [&amp;quot;.....&amp;quot;]}]}},&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {   &amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;....&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отправка файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление записи из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SPR._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3041</id>
		<title>SPR. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SPR._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3041"/>
		<updated>2025-08-27T08:24:32Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Short phrase recognizer предназначен для преобразования речи в текст. Принимает на вход аудиофайл в формате wav и возвращает структурированные данные в формате JSON.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Short Phrase Recognizer (SPR) — сервис распознавания речи.&lt;br /&gt;
&lt;br /&gt;
Модель — предварительно обученная специализированная нейронная сеть для распознавания естественной речи в аудиозаписях.&lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SPR в реальном времени.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API SPR&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SPR. По умолчанию используется порт 6183/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Вывод списка моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Без входных параметров.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ models: [model1,...,modelN] }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение файла аудиозаписи отложенного задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Файл аудиозаписи или&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT , message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение архива модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;ZIP-файл с моделью, либо &amp;lt;code&amp;gt;{ error: INT , message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели, обязательный параметр.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;zip-model — zip-архив с файлами модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Или&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;from-existing-model — название модели, которая должна перемещена на место id.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE:/spr/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Удаление модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;id — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение очереди отложенных заданий на распознавание.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Без входных параметров.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id задания&amp;quot;:&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;, # ready | waiting | failed&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE:/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Удаление отложенных заданий на распознавание.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания в очереди.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST:/spr/stt/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Отправка файла на распознавание речи. Моно-файлы до 60 секунд распознаются без разбивки на фрагменты и определения спикеров. Многоканальные файлы и файлы длиннее 60 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Аудио говорящего анализируется на возраст (child, adult, old).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    { &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        { &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  } &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Получение результата отложенного распознавания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Вывод по окончанию распознавания аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;ready — готово&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;waiting — ожидание&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;not found — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;failed — сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET:/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;width: 50%&amp;quot; colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;taskID — идентификатор задания.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;0.016,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    0.015,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    0.01&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=3040</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=3040"/>
		<updated>2025-08-27T07:53:37Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: /* /sbs: работа с сервисом SBS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести при поиске, от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;similarityArea -&#039;&#039;&#039; определяет допустимую разницу между максимальной и минимальной релевантностью фрагментов при фильтрации результатов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;similarityArea -&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;определяет допустимую разницу между максимальной и минимальной релевантностью фрагментов при фильтрации результатов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - параметры запроса к LLM&amp;lt;/small&amp;gt;&amp;quot;&amp;lt;small&amp;gt;max_tokens&amp;quot;: 4096,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_k&amp;quot;: 30,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_p&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;temperature&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;repeat_penalty&amp;quot;: 1.3&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;endpoint&#039;&#039;&#039; - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,                &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;id ЭД&amp;quot;,         &amp;quot;name&amp;quot;: &amp;quot;Имя ЭД&amp;quot;,          &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,     &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,     &amp;quot;model&amp;quot;: &amp;quot;Имя модели&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;Ответ&amp;quot;,        &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,              &amp;quot;weight&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],                 &amp;quot;getOnlyAsNearest&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;injectToMessage&amp;quot;: true/false,        &amp;quot;longWaiting&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;dataWaiting&amp;quot;: [],          &amp;quot;actions&amp;quot;: {             &amp;quot;alone&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;        &amp;quot;default&amp;quot;: [{&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,   &amp;quot;type&amp;quot;: &amp;quot;random&amp;quot;,   &amp;quot;text&amp;quot;: [&amp;quot;.....&amp;quot;]}]}},&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {   &amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;....&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отправка файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление записи из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3039</id>
		<title>SBS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=3039"/>
		<updated>2025-08-27T07:52:06Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Simple Biometry Server предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Simple Biometry Server (SBS) — сервис извлечения метаданных.&lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SBS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API сервиса биометрии (SBS)&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SBS. По умолчанию используется порт 6185/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке &amp;lt;nowiki&amp;gt;http://АДРЕС:6185&amp;lt;/nowiki&amp;gt; будет отображен интерфейс Swagger со всеми методами с возможностью их проверки. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение аналитических метаданных из голосового фрагмента. Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;&amp;lt;age: {&lt;br /&gt;
    class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;, &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  },&lt;br /&gt;
  emotion: {&lt;br /&gt;
    class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;&amp;lt;&amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  },&lt;br /&gt;
  gender: {&lt;br /&gt;
    class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; —  порог совпадения спикера, от 0 до 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для поиска&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет проверен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление слепка в базу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление слепка из базы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение списка всех слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Дообучение слепка.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;—&#039;&#039;&#039;   идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;textSimilarity&amp;lt;/small&amp;gt;&#039;&#039;&#039; - &amp;lt;small&amp;gt;порог похожести текста и распознанного аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=3031</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=3031"/>
		<updated>2025-08-21T08:21:59Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;,params={параметры запроса, см. в руководстве пользователя в метода добавления шаблона запроса}), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|cache.size&lt;br /&gt;
|2560000&lt;br /&gt;
|Максимальный размер кэша векторов&lt;br /&gt;
|-&lt;br /&gt;
|cache.update&lt;br /&gt;
|3600&lt;br /&gt;
|Период сохранения кэша на диск (секунды)&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=3028</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=3028"/>
		<updated>2025-08-20T14:15:37Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;,params={параметры запроса, см. в руководстве пользователя в метода добавления шаблона запроса}), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|cache.size&lt;br /&gt;
|100000&lt;br /&gt;
|Максимальный размер кэша векторов&lt;br /&gt;
|-&lt;br /&gt;
|cache.update&lt;br /&gt;
|3600&lt;br /&gt;
|Период сохранения кэша на диск (секунды)&lt;br /&gt;
|-&lt;br /&gt;
|cache.path&lt;br /&gt;
|/opt/qas/.cache&lt;br /&gt;
|Путь к файлу кэша&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._UPS_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5_%D1%81_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%BC&amp;diff=2860</id>
		<title>SES. UPS руководство по работе с интерфейсом</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._UPS_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5_%D1%81_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%BC&amp;diff=2860"/>
		<updated>2025-07-21T10:36:33Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== SES (Script Engine Service) Сценарная машина ===&lt;br /&gt;
[[Файл:UPS SES.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 1 Главный экран UPS&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В главном меню UPS (Universal Proxy Server) расположены кнопки для перехода в блоки (см. рис. 1):&lt;br /&gt;
&lt;br /&gt;
# [[SMC. UPS руководство по работе с интерфейсом|SMC Классификатор]],&lt;br /&gt;
# [[SEE. UPS руководство по работе с интерфейсом|SEE Сущности]],&lt;br /&gt;
# [[SPR. UPS руководство по работе с интерфейсом|SPR Распознавание]],&lt;br /&gt;
# [[SBS. UPS руководство по работе с интерфейсом|SBS Биометрия]],&lt;br /&gt;
# [[TTS. UPS руководство по работе с интерфейсом|TTS Синтез]],&lt;br /&gt;
# [[QAS. UPS руководство по работе с интерфейсом|QAS ЧаВО]],&lt;br /&gt;
# SES Сценарная машина,&lt;br /&gt;
# Выход.&lt;br /&gt;
&lt;br /&gt;
Переключаться между продуктами можно двумя способами:&lt;br /&gt;
&lt;br /&gt;
# Воспользоваться кнопкой на панели управления «На главную» [[Файл:Меню пользователя new.png|безрамки|20x20px]].&lt;br /&gt;
# Воспользоваться кнопкой в виде линии, которая находится снизу в центе экрана (см. рис. 2).&lt;br /&gt;
[[Файл:2025-06-09 14-33-48.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 2 Рабочая область SES&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Рабочая область SES включает в себя (рис. 2):&lt;br /&gt;
&lt;br /&gt;
* список роботов, расположенный на левой панели&lt;br /&gt;
* панель управления, &lt;br /&gt;
* облако/таблица элементов данных и конечных точек,&lt;br /&gt;
* кроме того, есть вкладки: «[[SES. UPS руководство по работе с интерфейсом#Вкладка «Скрипты»|Скрипты]]», «[[SES. UPS руководство по работе с интерфейсом#Вкладка «Календарь»|Календарь]]», «[[SES. UPS руководство по работе с интерфейсом#Вкладка «Интервалы»|Интервалы]]», «[[SES. UPS руководство по работе с интерфейсом#Вкладка «Настройки»|Настройки]]» и информационная вкладка «Серверы», которая отображает информацию о серверах и процессах. Все они находятся с правой стороны рабочей области.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Добавление и настройка робота ====&lt;br /&gt;
Чтобы добавить нового робота, нажмите кнопку &#039;&#039;&#039;«Добавить робота»&#039;&#039;&#039;. В появившемся диалоговом окне введите название и нажмите &#039;&#039;&#039;«Добавить»&#039;&#039;&#039;. В нижнем правом углу экрана появится сообщение «Добавлено!». По умолчанию робот создается с предварительными настройками. В нем сразу есть текстовки для исключений и событий, ознакомиться и поправить их можно, перейдя на вкладку [[SES. UPS руководство по работе с интерфейсом|«Настройки»]]. Робот может быть 3х версий: черновик, рабочий и архивный, подробная информация о версиях представлена в таблице 1.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&#039;&#039;&amp;lt;small&amp;gt;Табл. 1 Версии робота.&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Иконка версии&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Наименование версии робота&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Описание&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Черновик.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Черновик&lt;br /&gt;
|это не примененный робот. Можно добавлять новые элементы данных, конечные точки, менять настройки, применять эти настройки и тестировать робота. После применения робота (см. [https://wiki.connect2ai.net/index.php?title=SES._UPS_руководство_по_работе_с_интерфейсом&amp;amp;veaction=edit&amp;amp;section=2#Панель_управления_SES табл.2] «Применение») становится «Рабочей версией».&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Рабочая_нов.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Рабочая&lt;br /&gt;
|это робот, который уже используется в прод (англ. &#039;&#039;production –&#039;&#039; производство&#039;&#039;)&#039;&#039;. Применённого робота нельзя установить заново или менять. Можно провести ручное тестирование (см. раздел «[[SES. UPS руководство по работе с интерфейсом#Тестирование робота|Тестирование робота]]») . Можно менять настройки робота и применять эти настройки, они применяются в фоновом режиме незаметно для пользователя, то есть пользователю ничего не нужно обновлять со своей стороны. Если была применена черновая версия робота &#039;&#039;–&#039;&#039; «Рабочий» робот переходит в архивную версию.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Архив_нов.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Архивная&lt;br /&gt;
|это рабочий робот, который переводится в архив (резервную копию) после применения черновика. Можно вернуть архивную модель в рабочую версию, нажав на кнопку «Восстановить» (см. [https://wiki.connect2ai.net/index.php?title=SES._UPS_руководство_по_работе_с_интерфейсом&amp;amp;veaction=edit&amp;amp;section=2#Панель_управления_SES Панель управления SES]). При этом рабочая версия также становится архивной, то есть рабочая и архивная версии меняются местами.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Настройка робота =====&lt;br /&gt;
Прежде чем приступить к настройке робота, необходимо упомянуть о сервисах, которые потребуются для его функционирования:&lt;br /&gt;
&lt;br /&gt;
- Все требуемые модели [[SMC. UPS руководство по работе с интерфейсом|SMC]];&lt;br /&gt;
&lt;br /&gt;
- Все требуемые модели [[SEE. UPS руководство по работе с интерфейсом|SEE]];&lt;br /&gt;
&lt;br /&gt;
- База вопросно-ответных пар в [[QAS. UPS руководство по работе с интерфейсом|QAS]], если вы планируете предоставлять консультации.&lt;br /&gt;
&lt;br /&gt;
Здесь представлен общий перечень необходимых сервисов. В зависимости от специфики проекта некоторые из них могут отсутствовать.&lt;br /&gt;
[[Файл:2025-07-04 17-15-25.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 3 Интерфейс вкладки Скрипты&amp;lt;/small&amp;gt;&#039;&#039;]]                        &lt;br /&gt;
&lt;br /&gt;
====== Вкладка «Скрипты» ======&lt;br /&gt;
предоставляет вам возможность работать с кодом скриптов интеграции в системе напрямую. Вы можете вносить изменения в код, используя выпадающий список «Скрипт». В этом списке вы найдете все доступные скрипты и сможете выбрать нужный. После выбора скрипта вы сможете отредактировать его название и непосредственно область для внесения изменений.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
У скриптов есть параметр &#039;&#039;&#039;&#039;&#039;«Область действия»&#039;&#039;&#039;&#039;&#039;, в котором есть 5 опций:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;конечные точки&#039;&#039;, позволяет подключать скрипт в действиях конечных точек;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;элементы данных&#039;&#039;, позволяет подключать скрипт в действиях элементов данных и контейнеров;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;завершение сессии&#039;&#039; — скрипты, которые могут выполняться после завершения диалога, если скрипт указать в настройках в действиях на событии «Завершение диалога»;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;перед каждым вопросом&#039;&#039; - для случаев, когда нужно актуализировать какую-то информацию постоянно и использовать ее в условиях.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Скриптом «перед каждым вопросом» можно выставить, например, сегодняшнюю дату - custom.today, а потом ее в сравнении дат использовать в условиях получения данных. Для случаев записи на прием проверять, &#039;&#039;&#039;что дата точно больше сегодняшней.&#039;&#039;&#039; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;после каждого ответа&#039;&#039; - для случаев, требуется пошагово после каждого ответа передавать информацию  во внешнюю систему.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Scrirts.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 4 Отладка скриптов интеграции&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
Есть &#039;&#039;&#039;режим отладки скриптов интеграций&#039;&#039;&#039; с функцией извлечения данных из сессии (рис. 4). То есть можно [[SES. UPS руководство по работе с интерфейсом#Тестирование робота|тестировать робота в чате отладчика]] и, в случае если отработка некорректна или нужно проверить внесенные изменения в скрипт, то можно открыть вкладку «Скрипты» -&amp;gt; выбрать нужный скрипт -&amp;gt; кликнуть на закладку «Проверка» (слева откроется дополнительное окно) и нажать на кнопку «Вставить данные сессии». Тогда в открывшемся окне появятся все данные из текущей сессии из чата отладчика. По нажатию на кнопку «Тест», появится окно с результатом отработки скрипта.&lt;br /&gt;
&lt;br /&gt;
====== Вкладка «Календарь» ======&lt;br /&gt;
представляет собой классический календарь, который показывает текущий и следующий год. Это настройка конкретных интервалов времени, которые потом могут использоваться в качестве условий в действиях.    &lt;br /&gt;
  &lt;br /&gt;
[[Файл:Интервалы2.png|мини|&amp;lt;small&amp;gt;&#039;&#039;Рис. 5 Интерфейс вкладки «Интервалы»&#039;&#039;&amp;lt;/small&amp;gt;]]  &lt;br /&gt;
====== Вкладка «Интервалы» ======&lt;br /&gt;
предлагает вам возможность заранее задать временные промежутки (утро, день, вечер, ночь), которые будут определять реакцию робота в зависимости от времени суток. Например, вы можете настроить приветствия, такие как «Доброе утро!» или «Добрый день!» и бот будет выбирать нужное в соответствии с текущем временем. А так же периоды, например, настроить рабочее время до перерыва или после. Периодов может быть несколько на одном интервале. Чтобы добавить новый интервал, нужно найти меню «Интервал времени» в верхней части вкладки «Интервалы» (рис. 5). Затем нажмите кнопку «Добавить интервал времени». В появившемся окне введите название нового интервала и настройте его параметры по своему усмотрению. Вы можете выбрать необходимое количество минут и часов из выпадающего списка или ввести их с клавиатуры. Чтобы удалить период, просто нажмите на иконку корзины, расположенную напротив выбранного периода. Для удаления интервала времени воспользуйтесь кнопкой «Удалить», расположенной в нижней правой части окна.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Вкладка «Настройки» ======&lt;br /&gt;
изображённая на рисунке 6, содержит следующие поля:&lt;br /&gt;
* название робота,&lt;br /&gt;
* описание&lt;br /&gt;
А так же меню с настройками: &lt;br /&gt;
&lt;br /&gt;
* события — это настройка действий робота, при наступлении этого события, например «Не найдено» (см. раздел «События» ниже);&lt;br /&gt;
* исключения — это то, сколько раз допускается событие (см. раздел «Исключения» ниже);&lt;br /&gt;
* данные;[[Файл:2025-07-04 17-26-03.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 6 Интерфейс вкладки «Настройки»&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
* модели — настройка моделей, если требуется использовать параметры, отличные от параметров по умолчанию;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;События&#039;&#039;&#039;&#039;&#039; есть 11-ти типов и прописываются для каждого канала связи отдельно: &lt;br /&gt;
&lt;br /&gt;
# Старт — старт новой сессии — это когда робот приветствует пользователя и представляется. Это событие срабатывает, если человек впервые начинает общение с ботом. Также полное приветствие необходимо при начале разговора по телефону.&lt;br /&gt;
# Горячий старт —  это событие настраивается для случаев, если диалог был приостановлен. То есть, при горячем старте бот не станет снова представляться абоненту, а просто поприветствует его в зависимости от времени суток (настроенных интервалов) и ответит на его вопросы.&lt;br /&gt;
# Возврат на старт — это действие, которое должен выполнить бот, чтобы вернуться к началу разговора. Например, в диалоге в голосовом чате можно спросить у пользователя: «Чем я могу вам ещё помочь?»&lt;br /&gt;
# Запрос повтора — действия на случай, если абонент запросил повтор информации.&lt;br /&gt;
# Тишина — добавляем действие в моменты, когда от человека нет ответа, то есть тишина.&lt;br /&gt;
# Перебивание — событие доступно &#039;&#039;только для голосовых каналов (например, voice)&#039;&#039;. Она позволяет настроить реакцию на прерывание речи.&lt;br /&gt;
# Задержка ответа — событие доступно &#039;&#039;только для голосовых каналов (например, voice)&#039;&#039;. Это действия, которые появляются, когда идет генерация. Например, можно написать: «Секундочку, выясняю». Это нужно, чтобы человек понимал, что робот не просто молчит.&lt;br /&gt;
# Не найдено — здесь указывается действие, которое должен выполнить робот, если он не смог найти ответ на вопрос пользователя, то есть настройка действий если это событие произошло. Например, можно предложить пользователю попробовать переформулировать свой вопрос.&lt;br /&gt;
# Нет данных — это событие происходит, когда система пытается получить конкретный недостающий элемент данных, например название филиала, и ей это не удалось.&lt;br /&gt;
# Ошибка.&lt;br /&gt;
# Запрос повтора — если пользователь не расслышал информацию в голосовом канале, он может запросить её повторение. В этом разделе можно настроить функцию повтора последнего или двух последних ответов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Если произойдет какое-либо событие, будет выполнено действие из канала по умолчанию, если в канале не указано иное.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Вы можете настроить реакции робота на определённые события. Более подробную информацию о них вы найдёте в разделе «Исключения».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Исключения&#039;&#039;&#039;&#039;&#039; есть трех типов &#039;&#039;&#039;Тишина&#039;&#039;&#039;, &#039;&#039;&#039;Не найдено&#039;&#039;&#039; и &#039;&#039;&#039;Нет данных&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
При &#039;&#039;&#039;Тишине&#039;&#039;&#039;, когда пользователь молчит, можно выставить одно или несколько исключений подряд (одно исключение равно 4000 мс.) (параметр &#039;&#039;Макс. кол-во исключений подряд&#039;&#039;) и если были выполнены эти исключения подряд, то можно выполнить определенные действия: &#039;&#039;Сказать&#039;&#039;, &#039;&#039;Завершить диалог, Отправить файл или Передача диалога&#039;&#039;&#039;&#039;&#039;.&#039;&#039;&#039; Также здесь указано &#039;&#039;время жизни сессии&#039;&#039; в секундах. Это означает, что по истечении заданного периода сессия будет завершена.&lt;br /&gt;
[[Файл:Функционал действий.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 7 Функционал Действий&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 4 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайная фраза — вы получите любую фразу из имеющегося списка.&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы (рис. 7). Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, если она не единственная, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Также можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;- из внутреннего источника — в этом случае выполняется консультация из [[QAS. UPS руководство по работе с интерфейсом|QAS]] (системы ответов на вопросы) после настройки &#039;&#039;условий присвоения&#039;&#039;. Так же требуется настроить условия вывода ответа: использование кэша ответов, генерация и требуется ли кэширование формулировки (подробнее об этих настройках см. инструкцию по [[QAS. UPS руководство по работе с интерфейсом#Поиск ответа|QAS.Поиск ответа]]). Второй вариант — QAS-чат. В этом случае ответы на вопросы будут поступать не из базы данных, а от встроенной модели LLM по умолчанию или из любой другой модели, которую [[QAS. Руководство администратора|добавит]] администратор.&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты-интеграций для выполнения необходимых действий, если они есть.&lt;br /&gt;
&lt;br /&gt;
Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&#039;&#039;Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.&#039;&#039;&amp;lt;/blockquote&amp;gt;Для действий можно настроить &#039;&#039;&#039;условия запуска&#039;&#039;&#039;. Это условия, при которых действие будет выполняться (этих условий может не быть). Такой подход удобен, когда для исключения нужно настроить разные действия в зависимости от поступающих данных или переменных. &amp;lt;blockquote&amp;gt;Например, в случае действия «Передача диалога», в зависимости от значения переменной с номером телефона, можно отправить информацию в разные контактные центры.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
При исключении типа &#039;&#039;&#039;«Не найдено»&#039;&#039;&#039;, то есть в запросе абонента обнаружилась неизвестная тематика или отсутствие ответа. Выставляется параметр «Макс. кол-во исключений подряд», то есть сколько раз бот может не найти информацию (сколько раз допускается это событие), после чего происходит переключение на оператора, либо выполнить действия «Сказать», «Завершить диалог» или «Передать диалог».&lt;br /&gt;
&lt;br /&gt;
При исключении типа &#039;&#039;&#039;«Нет данных»&#039;&#039;&#039; также выставляется параметр «Макс. кол-во исключений подряд», то есть сколько раз бот может не найти информацию (сколько раз допускается это событие), после чего происходит переключение на оператора либо выполнить действия «Сказать», «Завершить диалог» или «Передать диалог».&amp;lt;blockquote&amp;gt;Важно: Если элемент отсутствует в начале, счётчик увеличивается на единицу. То есть учитывается самое первое сообщение абонента, в котором не было нужной информации. &amp;lt;/blockquote&amp;gt;Вкладка &#039;&#039;&#039;&#039;&#039;Данные&#039;&#039;&#039;&#039;&#039; позволяет настроить процесс обработки сервисных данных, таких как согласие, отрицание, повторение и так далее. Для каждого элемента сервисных данных указывается его &#039;&#039;Тип&#039;&#039; (Класс или Сущность), &#039;&#039;Модель&#039;&#039;, из которой берутся данные, а также конкретный &#039;&#039;Класс&#039;&#039; или &#039;&#039;Сущность&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
На вкладке &#039;&#039;&#039;&#039;&#039;Модели&#039;&#039;&#039;&#039;&#039; нужно добавить все модели, которые нужны для работы робота, например, модели SMC, SEE и голоса.    &lt;br /&gt;
&lt;br /&gt;
На вкладке можно настроить параметры голосового канала. Вот что там можно сделать:    &lt;br /&gt;
&lt;br /&gt;
* Выбрать голос, которым будет говорить робот.&lt;br /&gt;
&lt;br /&gt;
* Установить основную модель распознавания (рекомендуем оставлять common).&lt;br /&gt;
&lt;br /&gt;
* Определить фоновую модель распознавания (рекомендуем background).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для каждой модели можно задать порог доверия, который определяет, какие данные от этой модели будут использоваться в сценарии, а какие — нет. Данные (метки), которые не достигают этого уровня, будут исключены из сценария, и в нём останутся только те, что превышают или равны этому уровню. Для моделей SMC можно выбрать один из режимов «Коррекции»:    &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Базовая&#039;&#039;&#039;: исправляет только слова с минимальными опечатками (1-2 ошибки для коротких слов, макс. 1 ошибка)&lt;br /&gt;
* &#039;&#039;&#039;Расширенная&#039;&#039;&#039;: допускает больше исправлений для сложных случаев (добавляет +1 ошибку к базовому порогу, макс. 2 ошибки).&lt;br /&gt;
* &#039;&#039;&#039;Агрессивная&#039;&#039;&#039;: корректирует даже сильно искажённые слова (добавляет +2 ошибки к базовому порогу, макс. 3 ошибки).&lt;br /&gt;
* либо коррекция может &#039;&#039;&#039;Отсутствовать&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Добавление и настройка элементов данных ====&lt;br /&gt;
[[Файл:Снимок экрана 2025-07-16 154838.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 8. Массовое добавление элементов данных&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
[[Файл:2025-06-09 14-43-00.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 8.1. Бланк настройки элемента данных&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
После того как вы добавили робота нужно добавить элементы данных, нажав на кнопку &#039;&#039;&#039;«Добавить элемент»&#039;&#039;&#039;. В появившемся диалоговом окне возможны два варианта добавления: &#039;&#039;&#039;&amp;quot;Одиночное&amp;quot;&#039;&#039;&#039; и &#039;&#039;&#039;&amp;quot;Массовое&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Для &#039;&#039;&#039;одиночного&#039;&#039;&#039; режима обязательно заполните поле &#039;&#039;&#039;«Название элемента данных»&#039;&#039;&#039;, выберите тип элемента в выпадающем списке («Класс», «Сущность» или «Контейнер») и нажмите на кнопку &#039;&#039;&#039;«Добавить»&#039;&#039;&#039;. Все созданные элементы данных формируют &#039;&#039;облако данных&#039;&#039; и находятся на левой части рабочей области.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Класс&#039;&#039;&#039; — данные, полученные из моделей SMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Сущность&#039;&#039;&#039; — информация из моделей SEE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Контейнер&#039;&#039;&#039; — составной элемент данных, который собирает необходимые данные, чтобы отправить их во внешнюю БД по API с помощью скриптов интеграции.&lt;br /&gt;
&lt;br /&gt;
Для &#039;&#039;&#039;массового&#039;&#039;&#039; режима (&#039;&#039;доступно только для типа &amp;quot;Класс&amp;quot;&#039;&#039;) необходимо выбрать модель (&#039;&#039;Рис. 8&#039;&#039;). Далее, в появившейся таблице будет представлен список классов этой модели, которых еще нет в списке элементов данных, с указанием подтипа (&#039;&#039;см. подраздел &#039;&#039;&#039;«Подтип»&#039;&#039;&#039; ниже&#039;&#039;) для каждого класса. После нажатия кнопки &#039;&#039;&#039;«Добавить»&#039;&#039;&#039; будут добавляться элементы данных, отмеченные галочкой, с заполненными полями &amp;quot;Название&amp;quot;, &amp;quot;Модель&amp;quot;, &amp;quot;Класс&amp;quot;, &amp;quot;Подтип&amp;quot;, &amp;quot;Вес&amp;quot; соответственно (&#039;&#039;см. обозначения ниже&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
===== Настройка элемента данных =====&lt;br /&gt;
[[Файл:2025-04-23 14-43-07.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 9 Проверка модели в ЭД&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
На предыдущем этапе вы добавили новый элемент. После этого откроется окно, в котором необходимо настроить новый элемент данных (&#039;&#039;Рис. 8.1&#039;&#039;). В этом окне есть два поля: «&#039;&#039;&#039;Название элемента данных»&#039;&#039;&#039; и &#039;&#039;&#039;«Тип»&#039;&#039;&#039;, которые вы заполнили при создании элемента данных. Однако, если вы передумаете, вы сможете изменить только название элемента данных. Далее необходимо заполнить поле &#039;&#039;&#039;«Модель»&#039;&#039;&#039;, а в поле &#039;&#039;&#039;«Класс»&#039;&#039;&#039; выбрать класс этой модели ([[SMC. UPS руководство по работе с интерфейсом|SMC]]), соответствующий типу элемента данных. &#039;&#039;Если получили класс от SMC, следовательно, получен и элемент данных, ему соответствующий.&#039;&#039; Возле названия модели появится значок серой галочки — «Проверка модели» (см. рис. 9). При нажатии на него откроется функция ручной проверки модели, аналогичная проверке [[SEE. UPS руководство по работе с интерфейсом|SEE]] и [[SMC. UPS руководство по работе с интерфейсом|SMC]]. &#039;&#039;&#039;«Вес»&#039;&#039;&#039; — это параметр, который определяет приоритет этого элемент данных в спорных ситуациях. По умолчанию установлено значение 3. Также вес ЭД отображается в [[SES. UPS руководство по работе с интерфейсом#Тестирование робота|отладчике]] и, если у вас активировано [[SES. UPS руководство по работе с интерфейсом#Панель управления SES|табличное представление сценария]], то и в самой таблице. &amp;lt;blockquote&amp;gt;Совет по работе с весом ЭД.&lt;br /&gt;
&lt;br /&gt;
При настройке сценария необходимо определить, какие элементы данных будут иметь приоритет по умолчанию и однозначно указывать, в какую конечную точку следует направлять комбинации меток с ними, а какие будут служить исключениями из этого правила. К однозначно приоритетным (а значит, их вес будет выше в случае спорных ситуаций) ЭД могут относиться:&lt;br /&gt;
&lt;br /&gt;
* Предварительная запись, отмена записи, уточнение записи и её перенос.&lt;br /&gt;
* Проверка статуса,&lt;br /&gt;
* Запрос оператора,&lt;br /&gt;
* а так же данные (тематики), которые должны отрабатываться иным способом, например, ЭД Выплаты и пособия, Опека и др. должны уходить на оператора, по ним нет консультации в ЧаВО.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим пример. ЭД «Предварительная запись» имеет вес 4 и приоритет в случае, если одновременно с ней от модели пришла метка СНИЛС (вес по умолчанию 3). В таком случае сочетание этих меток должно привести к КТ «Запись на прием».&lt;br /&gt;
&lt;br /&gt;
Однако существуют некоторые &#039;&#039;&#039;исключения&#039;&#039;&#039;. Например, если метка «Предварительная запись» (вес 4) появляется вместе с меткой «Детский сад» (вес 3), то их комбинация должна привести в КТ «Консультация ЧаВО», а не в КТ «Запись на приём». Чтобы избежать такой ситуации, можно &#039;&#039;добавить это сочетание меток для входа в раздел «Консультация ЧаВО»&#039;&#039;. Тогда при поступлении такого запроса от модели сценарная машина отправит его в QAS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;То есть в случае однозначного приоритета можно повысить вес у конкретного элемента данных, а все исключения из этого правила отрабатывать добавлением сочетания меток на вход нужной КТ.&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;В выпадающем списке &#039;&#039;&#039;«Подтип»&#039;&#039;&#039; можно выбрать один из двух вариантов:&lt;br /&gt;
&lt;br /&gt;
«Сервисный» — этот элемент данных не нужно включать в отчет.&lt;br /&gt;
&lt;br /&gt;
«Отчетный» — такой элемент должен быть отображен в отчетах. &lt;br /&gt;
&lt;br /&gt;
Есть возможность &#039;&#039;&#039;оставлять комментарии&#039;&#039;&#039; по нажатию на кнопку [[Файл:Комментарий.png|безрамки|20x20пкс]]. Это удобно, например, если нужно сделать заметку для себя или коллег. Например, если было изменено значение веса ЭД, можно указать причину в комментарии. Как только будет оставлен комментарий, иконка поменяется на [[Файл:Комментарий полный.png|безрамки|20x20пкс]] — это означает, что комментарий не пустой.    &lt;br /&gt;
[[Файл:Настройка исключений.jpg|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 10 Настройка нестандартных исключений&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Рядом с комментарием находится кнопка &#039;&#039;&#039;Исключения&#039;&#039;&#039; [[Файл:Исключения .png|безрамки|20x20пкс]]. По нажатию на эту кнопку можно для определенных элементов данных настроить нестандартные исключения, то есть исключения, отличные от общих настроек (рис.10).  &amp;lt;blockquote&amp;gt;&lt;br /&gt;
Например, для ЭД «Название филиала». [[SES. UPS руководство по работе с интерфейсом#Вкладка «Настройки»|В общих настройках]] робота МФЦ указано, что количество исключений для события «Нет данных» равно 3 (в счетчик входит и первое обращение к роботу, если там не было нужной информации). Однако мы хотим, чтобы, если с первого раза филиал не был найден, робот больше не запрашивал у абонента его название. Вместо этого робот должен показать заглушку с предложением поискать нужный филиал на сайте. Для таких случаев можно настроить &#039;&#039;&#039;нестандартное исключение.&#039;&#039;&#039; &amp;lt;/blockquote&amp;gt;Настройка нестандартного исключения:&lt;br /&gt;
&lt;br /&gt;
# выберете нужный элемент данных,&lt;br /&gt;
# кликните на значок исключения [[Файл:Исключения .png|безрамки|20x20пкс]],&lt;br /&gt;
# в появившемся окне активируйте флаг «включить нестандартные исключения»,&lt;br /&gt;
# заполните тип исключения Нет данных,&lt;br /&gt;
# установите максимальное кол-во исключений подряд (если хотите уточнять один раз, то макс.кол-во устанавливайте равным 2),&lt;br /&gt;
# установите канал связи при необходимости,&lt;br /&gt;
# и выберете действие на случай, если исключение наступило.&lt;br /&gt;
&lt;br /&gt;
В настройках есть флажок &#039;&#039;&#039;«Получать только прямым запросом»&#039;&#039;&#039;. Он предназначен для элементов данных, которые следует извлекать только тогда, когда мы находимся в конечной точке, где они необходимы и только в случае если сценарий дошел до точки дозапроса этого элемента данных.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Пример: Запись на прием&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Процесс взаимодействия с пользователем&lt;br /&gt;
&lt;br /&gt;
Пользователь хочет записаться на прием. Для этого необходимо собрать следующие данные:&lt;br /&gt;
&lt;br /&gt;
* Намерение (цель обращения).&lt;br /&gt;
* Адрес (куда хочет попасть пользователь).&lt;br /&gt;
* ФИО.&lt;br /&gt;
* Номер телефона.&lt;br /&gt;
&lt;br /&gt;
2. Работа моделей в КТ &amp;quot;Запись на прием&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Все модели, отвечающие за обработку запроса, работают в фоновом режиме.&lt;br /&gt;
* На любом этапе диалога они могут «выхватывать» сущности (например, извлекать ФИО, адрес и т. д.).&lt;br /&gt;
&lt;br /&gt;
3. Проблема ложного срабатывания&lt;br /&gt;
&lt;br /&gt;
Модель может ошибочно извлечь данные, если:&lt;br /&gt;
&lt;br /&gt;
* Пользователь вводит информацию, которая частично совпадает с искомой сущностью (например, город &#039;&#039;&amp;quot;Владимир&amp;quot;&#039;&#039; может быть ошибочно принят за имя).&lt;br /&gt;
* Это приводит к некорректной обработке данных до завершения сценария.&lt;br /&gt;
&lt;br /&gt;
4. Решение: ограничение работы модели&lt;br /&gt;
&lt;br /&gt;
Чтобы избежать ложных срабатываний:&lt;br /&gt;
&lt;br /&gt;
* Активируйте галочку  &#039;&#039;&#039;«Получать только прямым запросом»&#039;&#039;&#039; в настройках ЭД.&lt;br /&gt;
* Если галочка активна, модель (например, извлечение ФИО) сработает только когда:&lt;br /&gt;
** Сценарий диалога дошел до запроса ФИО.&lt;br /&gt;
** Пользователь явно отвечает на вопрос о недостающих данных по ФИО.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Таким образом, &#039;&#039;&#039;система не будет обрабатывать случайные упоминания имен или других сущностей вне контекста запроса.&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;Флажок &#039;&#039;&#039;«Подставлять ответ модели в сообщение»&#039;&#039;&#039; предназначен для работы с типами ЭД «Сущность».&lt;br /&gt;
&lt;br /&gt;
Его основная функция — подставлять в запросы пользователей ответ от модели (название тэга) SEE вместо исходного текста абонента, на который среагировала модель.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Пример использования&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Например, для оформления загранпаспорта необходимо уточнить возраст получателя.&lt;br /&gt;
&lt;br /&gt;
# Создаем модель SEE с тегами:&lt;br /&gt;
#* &amp;lt;code&amp;gt;до 14 лет&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;с 14 лет до 18 лет&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;с 18 лет&amp;lt;/code&amp;gt;  &#039;&#039;(Теги формируются на основе предоставленной документации.)&#039;&#039;&lt;br /&gt;
# Добавляем ЭД в качестве недостающего элемента в настройки КТ.&lt;br /&gt;
# Когда сценарий доходит до дозапроса этого ЭД или абонент сам предоставляет данные, система отправляет запрос в QAS. Например, абонент отвечает, что ему 44 года, но в документах нет такого варианта. В них информация сгруппирована &amp;lt;code&amp;gt;до 14 лет&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;с 14 лет до 18 лет&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;с 18 лет.&amp;lt;/code&amp;gt; Соответственно система не найдет похожую информацию. &lt;br /&gt;
# Решение:&lt;br /&gt;
#* Если флажок активирован, система подставит ближайший подходящий тег (в данном случае — &amp;lt;code&amp;gt;с 18 лет&amp;lt;/code&amp;gt;).&lt;br /&gt;
#* Это поможет QAS корректно находить информацию в документации.&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; если ваша модель SEE &#039;&#039;&#039;не отдаст ответ&#039;&#039;&#039;, то настройка &#039;&#039;&#039;не сработает&#039;&#039;&#039;. Проверьте и при необходимости дообучите модель.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Флажок &#039;&#039;&#039;«Режим долгого ожидания»&#039;&#039;&#039; Открывает дополнительное меню с триггерами окончания ожидания. Это данные, при получении которых мы прекращаем ждать именно этот элемент данных (ЭД). Например, если получили его же или другие данные, например, просьбу позвать оператора.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; чтобы этот режим работал правильно, создайте нестандартное исключение для ЭД (описание выше). Иначе система будет ориентироваться на общие настройки количества исключений.&amp;lt;/blockquote&amp;gt;После завершения всех настроек нажмите на кнопку &#039;&#039;&#039;«Добавить элемент»&#039;&#039;&#039;, и он появится в списке элементов данных.&lt;br /&gt;
&lt;br /&gt;
Если в карточку ЭД были внесены изменения, закрыть её можно только после того, как вы сохраните эти изменения и кликните на любую область за пределами карточки, или принудительно закрыть её, нажав на кнопку «Закрыть» &amp;lt;u&amp;gt;(без сохранения внесенных изменений)&amp;lt;/u&amp;gt;. Если открыли карточку просто для просмотра, то закрывается по клику вне карточки или по кнопке «Закрыть».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== События элемента данных =====&lt;br /&gt;
&lt;br /&gt;
Так же можно настроить События. Это действия которые будут происходить при получении этого элемента данных (если пришел класс от [[SMC. UPS руководство по работе с интерфейсом|SMC]]). События есть двух типов: &lt;br /&gt;
&lt;br /&gt;
# если найден только текущий,&lt;br /&gt;
# недостающий элемент,&lt;br /&gt;
# нет данных,&lt;br /&gt;
# тишина.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; для событий «Тишина» и «Нет данных» на ЭД доступны &#039;&#039;нестандартные исключения&#039;&#039;. Подробнее об этом читайте в предыдущем разделе.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Тип события «Если найден только текущий»&#039;&#039;&#039; позволяет настроить реакцию на получение &amp;lt;u&amp;gt;только одного&amp;lt;/u&amp;gt; этого класса.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Например, у нас есть такой элемент данных, как Дата. Если абонент называет или пишет: «25 января», мы получили класс от SSE, а значит получили и элемент данных. Но поскольку ответить на такое сообщение не возможно, то в этом типе события можно указать уточнение, например: «Что вы имеете в виду?»&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Можно настроить разные события для разных каналов. Чтобы переключиться между каналами связи, просто откройте выпадающий список «Канал». По умолчанию выбран канал «default».&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Действия&#039;&#039;&#039; для этого типа события могут быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 3 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайную фразу — робот выберет случайную фразу из предложенных вариантов для ответа на обращение пользователя,&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Затем в параметре «Дополнительно» можно настроить интервал времени, когда это действие выполнять.&amp;lt;blockquote&amp;gt;&#039;&#039;Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.&#039;&#039;&amp;lt;/blockquote&amp;gt;Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть опция:&lt;br /&gt;
&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Тип события «Недостающий элемент»&#039;&#039;&#039; предоставляет возможность создать сценарий на случай, если для активации конечной точки не хватает именно этого конкретного элемента данных. Если есть необходимость дозапросить информацию при получении какого-то элемента данных, то можно сделать это следующим образом:&lt;br /&gt;
&lt;br /&gt;
# Создаем элемент данных (класс или сущность). &amp;lt;blockquote&amp;gt;Например, пользователь обращается с вопросом о замене паспорта, но не уточняет, какой паспорт ему нужно заменить — заграничный или внутренний. Для этого случая есть элемент данных «Тип паспорта», который является сущностью. У этого элемента данных будет стоять событие типа «Недостающий элемент» с уточнением: «Какой паспорт нужен — заграничный или внутренний?». То есть мы запрашиваем у пользователя информацию, для того чтобы получить этот элемент данных и перейти либо в конечную точку «Паспорт РФ» (при получении тега от [[SEE. UPS руководство по работе с интерфейсом|SEE]] «РФ»), либо в конечную точку «Загранпаспорт» (при получении тега от [[SEE. UPS руководство по работе с интерфейсом|SEE]] «Загран»).&amp;lt;/blockquote&amp;gt;2. Выбираем тип события «Недостающий элемент» и настраиваем действие. И сохраняем настройки.&lt;br /&gt;
[[Файл:Фильтрация и настройка кон.точки.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 11 Окно с настройкой элемента данных&amp;lt;/small&amp;gt;&#039;&#039;]]&#039;&#039;&#039;Действия&#039;&#039;&#039; для этого типа события могут быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 3 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайную фразу — робот выберет случайную фразу из предложенных вариантов для ответа на обращение пользователя,&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Затем в параметре «Дополнительно» можно настроить интервал времени, когда это действие выполнять.&amp;lt;blockquote&amp;gt;&#039;&#039;Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.&#039;&#039;&amp;lt;/blockquote&amp;gt;Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть опция:&lt;br /&gt;
&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.&lt;br /&gt;
[[Файл:2025-05-21 12-31-27.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 12 Добавление кнопок&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
Окно с полностью заполненными настройками выглядит так, как показано на рисунке 10. Так же на рисунке 10 показана возможность фильтрации и поиска по заданному значению. При отображении в виде облака все элементы данных, которые совпадают с поисковыми критериями, будут выделены синим цветом. В случае табличного представления будут отображены только те элементы данных, которые соответствуют запросу, и соответствующие КТ, где на входе есть искомый ЭД.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Тип события&#039;&#039;&#039; &#039;&#039;&#039;«Тишина»&#039;&#039;&#039; настраивается на каждом элементе данных при необходимости, чаще это нужно для недостающего элемента, который мы запрашиваем. Тут можно прописать действия на случай, если в ответ на вопрос от робота человек молчит.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Например, если робот спрашивает у абонента, какой паспорт ему нужен, а человек молчит, можно через некоторое время повторить вопрос или сказать: «Говорите громче, не слышно».&amp;lt;/blockquote&amp;gt;&#039;&#039;&#039;Действия&#039;&#039;&#039; для этого типа события могут быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 3 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайную фразу — робот выберет случайную фразу из предложенных вариантов для ответа на обращение пользователя,&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Затем в параметре «Дополнительно» можно настроить интервал времени, когда это действие выполнять.&amp;lt;blockquote&amp;gt;&#039;&#039;Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.&#039;&#039;&amp;lt;/blockquote&amp;gt;Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть опция:&lt;br /&gt;
&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Тип события&#039;&#039;&#039; &#039;&#039;&#039;«Нет данных»&#039;&#039;&#039; настраивается на каждом элементе данных при необходимости, чаще это нужно для недостающего элемента, который мы запрашиваем. Тут можно прописать действия на случай, если в ответ на вопрос от робота человек говорит что-то, но не ответ на вопрос.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Действия&#039;&#039;&#039; для этого типа события могут быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 3 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайную фразу — робот выберет случайную фразу из предложенных вариантов для ответа на обращение пользователя,&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Затем в параметре «Дополнительно» можно настроить интервал времени, когда это действие выполнять.&amp;lt;blockquote&amp;gt;&#039;&#039;Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.&#039;&#039;&amp;lt;/blockquote&amp;gt;Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
[[Файл:Уведомление об отсутствующем классе.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 12.1. Уведомление об отсутствующем классе&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть опция:&lt;br /&gt;
&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В таблице элементов данных предусмотрено уведомление &#039;&#039;(Рис 12.1)&#039;&#039; об отсутствующей модели на сервере, которую использует элемент данных, а также об отсутствующем классе в выбранной модели. При таких случаях левее элемента данных расположен значок [[Файл:Warning.png|безрамки]] , при наведении на которого будет показано соответствующее сообщение.&lt;br /&gt;
&lt;br /&gt;
==== Добавление кнопок в действия ====&lt;br /&gt;
[[Файл:2025-03-28 14-35-58.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 13 Редактирование и удаление кнопки&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
В сценарной машине предусмотрена возможность добавления кнопок. Для этого нужно кликнуть правой клавишей мыши (ПКМ) на поле «Фраза» в &amp;lt;u&amp;gt;любом&amp;lt;/u&amp;gt; блоке действий и в появившемся меню выбрать «Добавить кнопку» (рис. 12). После этого раскроется блок с настройками, где требуется ввести:&lt;br /&gt;
&lt;br /&gt;
# название кнопки;&lt;br /&gt;
# текст для отправки — это тот текст, который отправится на модели ([[SMC. UPS руководство по работе с интерфейсом|SMC]], [[SEE. UPS руководство по работе с интерфейсом|SEE]]).&lt;br /&gt;
&lt;br /&gt;
Чтобы внести изменения в созданную кнопку, кликните по ней левой клавишей мыши (ЛКМ) и в открывшемся меню можно редактировать или удалить эту кнопку (рис. 13). &amp;lt;blockquote&amp;gt;Есть возможность выполнить настройки кнопок для разных каналов. Для этого переключите канал в меню напротив «Типа» события, по умолчанию все настройки производятся в канале default.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[Файл:2024-11-18 12-00-28.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 14 Рабочая область SES&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==== Добавление и настройка конечных точек ====&lt;br /&gt;
Конечная точка — это то, что выполняет определённое действие, например, предоставляет консультацию, завершает диалог и так далее. Процесс добавления конечной точки похож на добавление элемента данных. В верхней правой части рабочей области расположена кнопка &#039;&#039;&#039;«Добавить конечную точку»&#039;&#039;&#039; (рис. 14). Нажав на неё и заполнив поле с названием, вы создадите новую конечную точку. Все созданные точки образуют «облако конечных точек».&lt;br /&gt;
&lt;br /&gt;
===== Настройка конечной точки =====&lt;br /&gt;
После того как вы ввели название конечной точки и нажали кнопку &#039;&#039;&#039;«Добавить»&#039;&#039;&#039;, слева на рабочей панели появится окно для настройки конечной точки. В самом верху этого окна отображается &#039;&#039;название конечной точки&#039;&#039;, при желании его можно сменить. Также доступен выпадающий список «Тип». Здесь можно выбрать один из четырёх вариантов:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Отчетный»&#039;&#039;&#039; — эта та, которая участвует в статистике, т.е. несет какую-то полезную для анализа информационную нагрузку.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Сервисный»&#039;&#039;&#039; — это такие конечные точки, как «приветствие» и другие, которые служат для поддержания диалога.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Передача диалога»&#039;&#039;&#039; — точки, отвечающие за переключение звонка или передачу разговора операторам.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Завершение диалога»&#039;&#039;&#039; — конечная точка, которая ставит точку в общении с пользователем.&lt;br /&gt;
[[Файл:2025-03-28 14-57-55.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 15 Типы входа в конечные точки&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Также можно выбрать еще &#039;&#039;&#039;Тип входа в КТ&#039;&#039;&#039; может быть трех видов (рис. 15): &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;- по условиям&#039;&#039;&#039;, когда попадаем в КТ при условии получения определенных данных, например, класс от SMC. &lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;по бездействию&#039;&#039;&#039;, когда КТ отрабатывает по таймауту, указанному в поле Время, если абонент приостановил взаимодействие с роботом, но сессия еще не завершилась. &amp;lt;blockquote&amp;gt;Пример.&lt;br /&gt;
&lt;br /&gt;
Абонент обратился за консультацией. Робот предоставил ответ. После консультации абонент бездействует, а сессия еще не закрыта. Можно настроить КТ Оценка качества обслуживания, которая по истечению указанного времени запросит оценку, после ответа абонента, завершит сессию.&amp;lt;/blockquote&amp;gt;- &#039;&#039;&#039;по ручному запуску&#039;&#039;&#039;, когда КТ нужно принудительного запустить, например из рассылки&lt;br /&gt;
&lt;br /&gt;
Есть возможность &#039;&#039;&#039;оставлять комментарии&#039;&#039;&#039; по нажатию на кнопку [[Файл:Комментарий.png|безрамки|20x20пкс]]. Это удобно, например, если нужно сделать заметку для себя или коллег. Как только будет оставлен комментарий, иконка поменяется на [[Файл:Комментарий полный.png|безрамки|20x20пкс]] — это означает, что комментарий не пустой.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:2025-05-28 16-23-27.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 16 Вход в КТ по условиям&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===== Вход в конечную точку «по условиям» =====&lt;br /&gt;
Чтобы настроить вход в конечную точку по определённым условиям, выберите из выпадающего меню «Вход» опцию «По условиям» (рис. 15).&lt;br /&gt;
&lt;br /&gt;
Далее есть 2 вкладки:&lt;br /&gt;
&lt;br /&gt;
- Условия,&lt;br /&gt;
&lt;br /&gt;
- Действия.&lt;br /&gt;
&lt;br /&gt;
На вкладках «Условия» доступна &#039;&#039;фильтрация по элементу данных.&#039;&#039;        &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Условия входа и запуска&#039;&#039;&#039;. Для того чтобы попасть в конечную точку и выполнить определенные действия, нужно выполнить условия входа. Их может быть как один элемент данных, так и их сочетание (см.рис. 16).    &amp;lt;blockquote&amp;gt;Пример: У нас есть конечная точка «Загранпаспорт». И в эту конечную точку приводят элемент данных: &#039;&#039;«Загранпаспорт»&#039;&#039; (получена метка от [[SMC. UPS руководство по работе с интерфейсом|SMC]], соответствующая этому элементу данных). А также сочетание элементов данных: &#039;&#039;«Паспорт»&#039;&#039; (получаем, если тип паспорта не указан сразу) и &#039;&#039;«Тип паспорта-загран»&#039;&#039; (тег «Загран» получили после уточнения типа паспорта).&amp;lt;/blockquote&amp;gt;Условия входа объединены в блоки, которые имеют логическое условие «И». Чтобы добавить новое условие, необходимо нажать на кнопку «Добавить условие» [[Файл:Добавить условие.png|безрамки|20x20пкс]]. Блоки с условиями «И» разделены логическим «ИЛИ».&lt;br /&gt;
[[Файл:Рис. 17 Условия запуска.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 17 Условия запуска&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Условия запуска&#039;&#039;.&#039;&#039;&#039; По нажатию на эту кнопку открывается окно, где нужно указать &#039;&#039;&#039;&#039;&#039;все&#039;&#039;&#039;&#039;&#039; случаи (данные и их комбинации), &#039;&#039;&#039;&#039;&#039;при которых точка сработает&#039;&#039;&#039;&#039;&#039; (см.рис. 17). В окне «Условия запуска» элементы данных разделяются логическим оператором «ИЛИ». В случае с комбинациями условий ЭД отделяются друг от друга логическим «И». Как в случае с элементами, разделёнными операторами «ИЛИ», так и с элементами, разделёнными «И», порядок элементов можно менять. Для того, чтобы изменить порядок элементов, разделённых «ИЛИ», необходимо навести курсор (он изменится на курсор перемещения) на любой край элемента и перетянуть элемент на необходимую позицию. Для изменения порядка элементов, разделённых «И», необходимо навести курсор (он изменится на курсор в форме маленькой руки) на специальную иконку для перетаскивания слева от строки с условием и перетащить его в нужное место. Условия можно редактировать: добавлять и удалять. Окно можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.&amp;lt;blockquote&amp;gt;Например, конечная точка «Консультация» активируется, если будут получены метки «Апостиль» ИЛИ «Банкротство» ИЛИ «Загранпаспорт» и «Тип паспорта — загран».&amp;lt;/blockquote&amp;gt;В меню условий запуска есть повторяющиеся кнопки &#039;&#039;«Сохранить»&#039;&#039; и &#039;&#039;«Закрыть»&#039;&#039;. &#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; при нажатии на кнопку «Сохранить» &#039;&#039;&#039;сохраняются&#039;&#039;&#039; не только текущие условия запуска, но и &#039;&#039;&#039;все настройки КТ&#039;&#039;&#039;. При нажатии на кнопку «Закрыть» &#039;&#039;&#039;без сохранения изменения теряются&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
У условий есть параметр &#039;&#039;«Тип»&#039;&#039;, принимающий два значения: данные или переменная. Параметр &#039;&#039;«Искать»&#039;&#039; имеет три варианта: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Во всем диалоге&#039;&#039;. Если выбрали эту опцию, то система будет искать этот ЭД во всем диалоге. Например, если спрашиваем у абонента имя или номер телефона, то сохраняем эти данные навсегда и больше не переспрашиваем.&lt;br /&gt;
* &#039;&#039;В текущей точке&#039;&#039;. Поиск данных (ЭД) будет происходить с момента входа в КТ и до выхода из этой КТ или повторного входа в нее, но уже с новыми условиями. Например, для случаев с КТ Консультация или любой другой КТ, множеством условий входа.&lt;br /&gt;
* &#039;&#039;В последнем сообщении&#039;&#039;. Система будет учитывать только последнее сообщение абонента, игнорируя предыдущие.&lt;br /&gt;
&lt;br /&gt;
Далее идет поле «Название», где из выпадающего списка требуется выбрать нужный элемент данных.      &amp;lt;blockquote&amp;gt;Если в выбранном элементе данных не заполнено событие &amp;quot;Недостающий элемент&amp;quot;, то в правом верхнем углу будет расположен значок [[Файл:Warning.png|безрамки]] со всплывающим уведомлением при наведении на него.&amp;lt;/blockquote&amp;gt;Справа от поля «Название» из выпадающего списка можно выбрать один из операторов:      &lt;br /&gt;
&lt;br /&gt;
* Существует — это любое значение этого элемента данных, то есть важно просто наличие этого элемента данных,&lt;br /&gt;
* != — не равно,&lt;br /&gt;
* = — равно,&lt;br /&gt;
* &amp;lt; —  меньше,&lt;br /&gt;
* &amp;gt; —  больше,&lt;br /&gt;
* &amp;lt;= — меньше или равно,&lt;br /&gt;
* =&amp;gt; — больше или равно,&lt;br /&gt;
* Длина равна — длина ответа абонента равна определенному значению, которое указывается в поле «Значение». Например, когда абонент вводит код для проверки статуса заявления, который должен быть равен 7 знакам,&lt;br /&gt;
* Длина меньше — длина ответа абонента меньше определенного значения, указанного в поле «Значение»,&lt;br /&gt;
* Длина больше — длина ответа абонента больше определенного значения, указанного в поле «Значение».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если в карточку КТ были внесены изменения, закрыть её можно только после того, как вы сохраните эти изменения и кликните на любую область за пределами карточки, или принудительно закрыть её, нажав на кнопку «Закрыть» &amp;lt;u&amp;gt;(без сохранения внесенных изменений)&amp;lt;/u&amp;gt;. Если открыли карточку просто для просмотра, то закрывается по клику вне карточки или по кнопке «Закрыть»&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Действия.&#039;&#039;&#039; В этом разделе настраиваются действия, которые будет выполняться при условии, что все данные получены. А так же условия присвоения категорий из [[QAS. UPS руководство по работе с интерфейсом|QAS]] для выполнения консультаций. Напоминаем, что &#039;&#039;&#039;действия&#039;&#039;&#039; для этого типа события могут быть 4 видов: &lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 4 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайная фраза — вы получите любую фразу из имеющегося списка.&lt;br /&gt;
&lt;br /&gt;
- из внутреннего источника — в этом случае выполняется консультация из [[QAS. UPS руководство по работе с интерфейсом|QAS]] (системы ответов на вопросы) после настройки &#039;&#039;условий присвоения категорий&#039;&#039;. Так же требуется настроить условия вывода ответа: использование кэша ответов, генерация и требуется ли кэширование формулировки (подробнее об этих настройках см. инструкцию по [[QAS. UPS руководство по работе с интерфейсом#Поиск ответа|QAS.Поиск ответа]]) и [[QAS. UPS руководство по работе с интерфейсом#Функционал вкладки «Шаблоны запросов»|выбрать шаблон запроса]]. &amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; если вам нужно изменить шаблон запроса для определенной категории, это делается путем добавления отдельного действия. Настройка этого действия аналогична основному, но с выбором нужного шаблона. В Условиях запуска указываете данные, которые запустят это действие с шаблоном-исключением. &amp;lt;/blockquote&amp;gt;Второй вариант — QAS-чат. В этом случае ответы на вопросы будут поступать не из базы данных, а от встроенной модели LLM по умолчанию или из любой другой модели, которую [[QAS. Руководство администратора|добавит]] администратор.&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты-интеграций для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть две опции:&lt;br /&gt;
&lt;br /&gt;
* Считать действие успешным прохождением точки — этот флаг устанавливается на действия, которые означают, что сервис выполнился.&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:2025-07-07 12-42-57.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 18 Вкладка Действия и Условия присвоения категорий&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Условия присвоения категорий&#039;&#039;&#039;.&#039;&#039; По клику на эту кнопку раскрывается меню (рис. 18), в котором есть выпадающий список со всеми категориями из [[QAS. UPS руководство по работе с интерфейсом|QAS]], а ниже область для настройки условий. Условие может включать в себя как один элемент данных, так и несколько, которые связаны между собой логическим выражением «И». Также возможно наличие нескольких условий, которые соединены логическим выражением «ИЛИ». &#039;&#039;Окно с условиями категорий или условиями запуска можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.&#039;&#039;&amp;lt;blockquote&amp;gt;На примере категории «Паспорт РФ» можно увидеть, что эту категорию мы присваиваем, если получаем элементы данных «Паспорт» и «Тип паспорта — РФ» (значение «РФ») или только элемент данных «Паспорт РФ». &amp;lt;/blockquote&amp;gt;Флажок &#039;&#039;&#039;«Запрос в QAS с учетом прошлого контекста»&#039;&#039;&#039; указывает системе, что перед отправкой запроса в QAS необходимо проанализировать предыдущие сообщения пользователя. Это позволяет сохранять логику диалога и избегать необоснованной смены тематики.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Пример работы&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Без включенной функции&lt;br /&gt;
#* Пользователь спрашивает: &#039;&#039;&amp;quot;Какие документы нужны для оформления СНИЛС?&amp;quot;&#039;&#039; → система направляет запрос в категорию СНИЛС.&lt;br /&gt;
#* Затем пользователь уточняет: &#039;&#039;&amp;quot;А сколько это стоит?&amp;quot;&#039;&#039; → система определяет метку Госпошлина и перенаправляет запрос в соответствующую категорию, теряя контекст СНИЛС.&lt;br /&gt;
# С включенной функцией&lt;br /&gt;
#* Если флажок активен (например, для категории &#039;&#039;Госпошлина&#039;&#039;), система:&lt;br /&gt;
#** Проверяет предыдущие сообщения.&lt;br /&gt;
#** Если диалог начался в другой категории (например, СНИЛС), запросы объединяются (&#039;&#039;&amp;quot;склеиваются&amp;quot;&#039;&#039;).&lt;br /&gt;
#** Если контекст отсутствует, тематика меняется, но поиск ответа ведется сразу по обеим категориям (СНИЛС + Госпошлина).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Когда использовать&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Активируйте эту настройку для категорий, которые могут:&lt;br /&gt;
&lt;br /&gt;
* Быть частью более широкого запроса (например, &#039;&#039;Госпошлина&#039;&#039; как дополнение к &#039;&#039;СНИЛС&#039;&#039;).&lt;br /&gt;
* Требовать сохранения контекста диалога.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;В меню условий присвоения категорий есть повторяющиеся кнопки &#039;&#039;«Сохранить»&#039;&#039; и &#039;&#039;«Закрыть»&#039;&#039; (рис.18). &#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; при нажатии на кнопку «Сохранить» &#039;&#039;&#039;сохраняются&#039;&#039;&#039; не только текущие условия запуска, но и &#039;&#039;&#039;все настройки КТ&#039;&#039;&#039;. При нажатии на кнопку «Закрыть» &#039;&#039;&#039;без сохранения изменения теряются&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Условия запуска&#039;&#039;&#039;.&#039;&#039; Для каждого действия есть возможность настроить свои условия запуска. Если нажать на кнопку «Условия запуска», откроется меню, в котором можно задать условия для выполнения действия. Этих условий может не быть, либо они могут быть представлены одним элементом данных, либо сочетанием нескольких элементов, связанных логическим оператором «И». Также можно указать несколько условий, объединённых логическим оператором «ИЛИ». Каждый элемент условия имеет один из типов:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Переменные&#039;&#039; — служат для хранения данных, полученных из API или по каналам, запущенным извне. Например, это может быть ID пользователя в Telegram или CID из телефонного канала, то есть определившийся номер телефона.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Переменные, как и данные, можно выбирать из выпадающего списка.&#039;&#039;&#039; Доступны все названия и значения, которые использовались ранее. Если вам нужно создать новую переменную и значение, просто введите их с клавиатуры. После этого они также будут предлагаться вам в дальнейшем.&amp;lt;/blockquote&amp;gt;&#039;&#039;Данные&#039;&#039; — элемент данных, полученный от моделей SMC или SEE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Уведомление дублей.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 18.1. Уведомление об одинаковых блоках ИЛИ в условиях запуска действий&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
В меню условий запуска есть повторяющиеся кнопки &#039;&#039;«Сохранить»&#039;&#039; и &#039;&#039;«Закрыть»&#039;&#039; (рис.18)&#039;&#039;.&#039;&#039; &#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; при нажатии на кнопку «Сохранить» &#039;&#039;&#039;сохраняются&#039;&#039;&#039; не только текущие условия запуска, но и &#039;&#039;&#039;все настройки КТ&#039;&#039;&#039;. При нажатии на кнопку «Закрыть» &#039;&#039;&#039;без сохранения изменения теряются&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Также при сохранении настроек в окне &amp;quot;Условий запуска&amp;quot; если были обнаружены одинаковые блоки условий &amp;quot;ИЛИ&amp;quot;, то будет соответствующее оповещение с выделением повторяющихся блоков &#039;&#039;(Рис. 18.1)&#039;&#039;.&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ситуация 1.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Например, если абонент хочет узнать статус своего заявления, робот может спросить: «Назовите код вашего заявления?». В ответ абонент может сказать, что не знает, где найти этот код.&lt;br /&gt;
&lt;br /&gt;
Чтобы отработать такую ситуацию, в раздел «Действия» необходимо добавить справочную информацию о том, где можно найти код. Также следует добавить элемент данных, например «Не знаю код» (модель SEE). В таком случае, если получаем от модели «Не знаю код» тег, абоненту будет отдана информация о том, где он может посмотреть код и назвать его.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ситуация 2.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Код для проверки статуса должен состоять из семи символов. Если абонент вводит или произносит меньшее или большее количество символов, можно настроить систему так, чтобы она выдавала ему соответствующее сообщение, например: «Обратите внимание, код должен включать семь цифр». Для этого необходимо настроить следующее условие:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Определить элемент данных, который отвечает за отслеживание цифр (код). В нашем случае это модель SEE number и элемент данных «Код заявления».&lt;br /&gt;
&lt;br /&gt;
2. Настроить условие, согласно которому при ответе пользователя будет сравниваться длина ответа с заданными параметрами: больше или меньше нужного вам значения, например, 7.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В этом случае, если абонент введёт код, содержащий меньше или больше 7 символов, ему будет выдано сообщение о том, что код заявления введён неправильно.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;При необходимости вы можете менять порядок действий, просто удерживая левую кнопку мыши и перемещая их в нужное место.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Файл:2025-03-28 15-05-06.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 19 Настройка условий входа по бездействию&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===== Вход в конечную точку «по бездействию». =====&lt;br /&gt;
Чтобы настроить вход в конечную точку по бездействию нужно выбрать в меню Вход опцию &amp;quot;по бездействию&amp;quot; (см. рис. 19). Интерфейс КТ по бездействию отличается от КТ, у которой вход по условиям. Тут присутствуют три вкладки:&lt;br /&gt;
&lt;br /&gt;
# Вход&lt;br /&gt;
# Сбор информации&lt;br /&gt;
# Действия.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вход.&#039;&#039;&#039; На этой вкладке необходимо заполнить:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Название&#039;&#039; конечной точки,&lt;br /&gt;
* &#039;&#039;Тип КТ&#039;&#039;: отчетный, сервисный, передача или завершение диалога.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;«Отчетный»&#039;&#039;&#039; — эта та, которая участвует в статистике, т.е. несет какую-то полезную для анализа информационную нагрузку.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Сервисный»&#039;&#039;&#039; — это такие конечные точки, как «приветствие» и другие, которые служат для поддержания диалога.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Передача диалога»&#039;&#039;&#039; — точки, отвечающие за переключение звонка или передачу разговора операторам.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;«Завершение диалога»&#039;&#039;&#039; — конечная точка, которая ставит точку в общении с пользователем.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Выбрать &#039;&#039;канал связи&#039;&#039;, по умолчанию default,&lt;br /&gt;
* А так же &#039;&#039;время&#039;&#039; бездействия пользователя, для вода в КТ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее выбирается действие. Напоминаем, что &#039;&#039;&#039;действия&#039;&#039;&#039; для этого типа события могут быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 4 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайная фраза — вы получите любую фразу из имеющегося списка.&lt;br /&gt;
&lt;br /&gt;
- из внутреннего источника — в этом случае выполняется консультация из [[QAS. UPS руководство по работе с интерфейсом|QAS]] (системы ответов на вопросы) после настройки &#039;&#039;условий присвоения категорий&#039;&#039;. Так же требуется настроить условия вывода ответа: использование кэша ответов, генерация и требуется ли кэширование формулировки (подробнее об этих настройках см. инструкцию по [[QAS. UPS руководство по работе с интерфейсом#%D0%9F%D0%BE%D0%B8%D1%81%D0%BA %D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0|QAS.Поиск ответа]]) и [[QAS. UPS руководство по работе с интерфейсом#%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8%20%C2%AB%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2%C2%BB|выбрать шаблон запроса]].&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; если вам нужно изменить шаблон запроса для определенной категории, это делается путем добавления отдельного действия. Настройка этого действия аналогична основному, но с выбором нужного шаблона. В Условиях запуска указываете данные, которые запустят это действие с шаблоном-исключением. &amp;lt;/blockquote&amp;gt;Второй вариант — QAS-чат. В этом случае ответы на вопросы будут поступать не из базы данных, а от встроенной модели LLM по умолчанию или из любой другой модели, которую [[QAS. Руководство администратора|добавит]] администратор.&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты-интеграций для выполнения необходимых действий, если они есть,&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть две опции:&lt;br /&gt;
&lt;br /&gt;
* Считать действие успешным прохождением точки — этот флаг устанавливается на действия, которые означают, что сервис выполнился.&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:2025-05-28 16-43-00.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 20 Вкладка сбор информации&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039;Сбор информации.&#039;&#039;&#039; Нужно указать &#039;&#039;все&#039;&#039; случаи (данные и их комбинации), &#039;&#039;при которых точка сработает&#039;&#039; (рис. 20). В окне «Сбор информации» элементы данных  и комбинации разделяются логическим оператором «ИЛИ». В случае с комбинациями условий ЭД отделяются друг от друга логическим «И». Условия можно редактировать: добавлять и удалять. Чтобы добавить новое условие «И», необходимо нажать на кнопку «Добавить условие» [[Файл:Добавить условие.png|безрамки|20x20пкс]]. Окно можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.&lt;br /&gt;
&lt;br /&gt;
В сборе информации параметр «Тип», принимающий два значения: данные или переменная.&lt;br /&gt;
Параметр &#039;&#039;«Искать»&#039;&#039; имеет три варианта: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Во всем диалоге&#039;&#039;. Если выбрали эту опцию, то система будет искать этот ЭД во всем диалоге. Например, если спрашиваем у абонента имя или номер телефона, то сохраняем эти данные навсегда и больше не переспрашиваем.&lt;br /&gt;
* &#039;&#039;В текущей точке&#039;&#039;. Поиск данных (ЭД) будет происходить с момента входа в КТ и до выхода из этой КТ или повторного входа в нее, но уже с новыми условиями. Например, для случаев с КТ Консультация или любой другой КТ, множеством условий входа.&lt;br /&gt;
* &#039;&#039;В последнем сообщении&#039;&#039;. Система будет учитывать только последнее сообщение абонента, игнорируя предыдущие.&lt;br /&gt;
Далее идет поле «Название», где из выпадающего списка требуется выбрать нужный элемент данных. Справа от поля «Название» из выпадающего списка можно выбрать один из операторов:      &lt;br /&gt;
&lt;br /&gt;
* Существует — это любое значение этого элемента данных, то есть важно просто наличие этого элемента данных,&lt;br /&gt;
* != — не равно,&lt;br /&gt;
* = — равно,&lt;br /&gt;
* &amp;lt; —  меньше,&lt;br /&gt;
* &amp;gt; —  больше,&lt;br /&gt;
* &amp;lt;= — меньше или равно,&lt;br /&gt;
* =&amp;gt; — больше или равно,&lt;br /&gt;
* Длина равна — длина ответа абонента равна определенному значению, которое указывается в поле «Значение». Например, когда абонент вводит код для проверки статуса заявления, который должен быть равен 7 знакам,&lt;br /&gt;
* Длина меньше — длина ответа абонента меньше определенного значения, указанного в поле «Значение»,&lt;br /&gt;
* Длина больше — длина ответа абонента больше определенного значения, указанного в поле «Значение».[[Файл:2025-05-28 16-44-11.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 21 Интерфейс вкладки Действия&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Действия.&#039;&#039;&#039; Далее необходимо выбрать конечное действие на выходе из КТ. Напоминаем, что действия могут  быть 4 видов:&lt;br /&gt;
&lt;br /&gt;
- сказать,&lt;br /&gt;
&lt;br /&gt;
- завершить диалог,&lt;br /&gt;
&lt;br /&gt;
- отправить файл,&lt;br /&gt;
&lt;br /&gt;
- передача диалога.&lt;br /&gt;
&lt;br /&gt;
Действие &#039;&#039;Сказать&#039;&#039; тоже разделяется на 4 типа:&lt;br /&gt;
&lt;br /&gt;
- последовательно — это означает, что робот будет задавать вопросы и выдавать информацию по порядку, в соответствии с тем, что будет записано в полях «Фразы»,&lt;br /&gt;
&lt;br /&gt;
- случайная фраза — вы получите любую фразу из имеющегося списка.&amp;lt;blockquote&amp;gt;По клику правой клавишей мыши на поле «Фраза» появляется меню, где можно выбрать одно из действий:&lt;br /&gt;
# Добавить кнопку (подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Добавление кнопок в действия|«Добавление кнопок в действия»]]).&lt;br /&gt;
# Перефразировать. Если нужно добавить вариации фразы. Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы.&lt;br /&gt;
# Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу». Можно кликнуть на иконку корзины, которая появится справа от фразы при наведении на нее курсора.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- из внутреннего источника — в этом случае выполняется консультация из [[QAS. UPS руководство по работе с интерфейсом|QAS]] (системы ответов на вопросы) после настройки &#039;&#039;условий присвоения категорий&#039;&#039;. Так же требуется настроить условия вывода ответа: использование кэша ответов, генерация и требуется ли кэширование формулировки (подробнее об этих настройках см. инструкцию по [[QAS. UPS руководство по работе с интерфейсом#Поиск ответа|QAS.Поиск ответа]]). Второй вариант — QAS-чат. В этом случае ответы на вопросы будут поступать не из базы данных, а от встроенной модели LLM по умолчанию или из любой другой модели, которую [[QAS. Руководство администратора|добавит]] администратор.&lt;br /&gt;
&lt;br /&gt;
- из внешнего источника — в этом случае можно подключить скрипты-интеграций для выполнения необходимых действий, если они есть,&lt;br /&gt;
&lt;br /&gt;
Удалить лишнюю фразу можно, кликнув на поле с этой фразой правой клавишей мыши и в появившемся меню выбрать «Удалить фразу».&lt;br /&gt;
&lt;br /&gt;
У всех действий, кроме Завершения диалога, есть две опции:&lt;br /&gt;
&lt;br /&gt;
* Считать действие успешным прохождением точки — этот флаг устанавливается на действия, которые означают, что сервис выполнился.&lt;br /&gt;
* Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Условия присвоения категорий&#039;&#039;&#039;.&#039;&#039; По клику на эту кнопку раскрывается меню, в котором есть выпадающий список со всеми категориями из [[QAS. UPS руководство по работе с интерфейсом|QAS]], а ниже область для настройки условий. Условие может включать в себя как один элемент данных, так и несколько, которые связаны между собой логическим выражением «И». Также возможно наличие нескольких условий, которые соединены логическим выражением «ИЛИ». &#039;&#039;Окно с условиями категорий или условиями запуска можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.&#039;&#039;&amp;lt;blockquote&amp;gt;На примере категории «Паспорт РФ» можно увидеть, что эту категорию мы присваиваем, если получаем элементы данных «Паспорт» и «Тип паспорта — РФ» (значение «РФ») или только элемент данных «Паспорт РФ». &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Флажок &#039;&#039;&#039;«Запрос в QAS с учетом прошлого контекста»&#039;&#039;&#039; указывает системе, что перед отправкой запроса в QAS необходимо проанализировать предыдущие сообщения пользователя. Это позволяет сохранять логику диалога и избегать необоснованной смены тематики.&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Пример работы&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Без включенной функции&lt;br /&gt;
#* Пользователь спрашивает: &#039;&#039;&amp;quot;Какие документы нужны для оформления СНИЛС?&amp;quot;&#039;&#039; → система направляет запрос в категорию СНИЛС.&lt;br /&gt;
#* Затем пользователь уточняет: &#039;&#039;&amp;quot;А сколько это стоит?&amp;quot;&#039;&#039; → система определяет метку Госпошлина и перенаправляет запрос в соответствующую категорию, теряя контекст СНИЛС.&lt;br /&gt;
# С включенной функцией&lt;br /&gt;
#* Если флажок активен (например, для категории &#039;&#039;Госпошлина&#039;&#039;), система:&lt;br /&gt;
#** Проверяет предыдущие сообщения.&lt;br /&gt;
#** Если диалог начался в другой категории (например, СНИЛС), запросы объединяются (&#039;&#039;&amp;quot;склеиваются&amp;quot;&#039;&#039;).&lt;br /&gt;
#** Если контекст отсутствует, тематика меняется, но поиск ответа ведется сразу по обеим категориям (СНИЛС + Госпошлина).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Когда использовать&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Активируйте эту настройку для категорий, которые могут:&lt;br /&gt;
&lt;br /&gt;
* Быть частью более широкого запроса (например, &#039;&#039;Госпошлина&#039;&#039; как дополнение к &#039;&#039;СНИЛС&#039;&#039;).&lt;br /&gt;
* Требовать сохранения контекста диалога.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В меню условий присвоения категорий есть повторяющиеся кнопки &#039;&#039;«Сохранить»&#039;&#039; и &#039;&#039;«Закрыть»&#039;&#039;. &#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; при нажатии на кнопку «Сохранить» &#039;&#039;&#039;сохраняются&#039;&#039;&#039; не только текущие условия запуска, но и &#039;&#039;&#039;все настройки КТ&#039;&#039;&#039;. При нажатии на кнопку «Закрыть» &#039;&#039;&#039;без сохранения изменения теряются&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Для действий предусмотрены три опции: «Копировать», «Переместить» и «Удалить действие», соответственно порядку на картинке [[Файл:Для действий.png|безрамки|80x80пкс]]. Чтобы скопировать действие в другой канал, нажмите соответствующую кнопку и в открывшемся окне выберите нужный канал из списка. Если вы хотите переместить действие, выполните те же действия. Обратите внимание, что при перемещении действие будет удалено из исходного канала. Чтобы удалить действие, нажмите на кнопку в виде корзинки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Также можно настроить &#039;&#039;&#039;условия запуска&#039;&#039;&#039; для действий (рис. 21). Это условия, при которых действие будет выполняться (этих условий может не быть). Такой подход удобен, когда к одной и той же конечной точке есть разные действия в зависимости от поступающих данных или переменных. &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Например, в зависимости от номера телефона, пользователи могут попадать в разные контактные центры. Или, как в случае с оценкой качества на рисунке 19, в зависимости от полученной оценки, они могут слышать разные благодарственные фразы.&amp;lt;/blockquote&amp;gt;В меню условий запуска есть повторяющиеся кнопки &#039;&#039;«Сохранить»&#039;&#039; и &#039;&#039;«Закрыть»&#039;&#039; (рис.18). &#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; при нажатии на кнопку «Сохранить» &#039;&#039;&#039;сохраняются&#039;&#039;&#039; не только текущие условия запуска, но и &#039;&#039;&#039;все настройки КТ&#039;&#039;&#039;. При нажатии на кнопку «Закрыть» &#039;&#039;&#039;без сохранения изменения теряются&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;При необходимости вы можете менять порядок действий, просто удерживая левую кнопку мыши и перемещая их в нужное место.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Вход в конечную точку «По ручному запуску». =====&lt;br /&gt;
Чтобы настроить вход в конечную точку нужно выбрать в меню Вход опцию &amp;quot;По ручному запуску&amp;quot; (см. рис. 19). Интерфейс КТ по ручному запуску идентичен КТ со входом &amp;quot;По бездействию&amp;quot;, за исключением поля &amp;quot;Время&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если в карточку КТ были внесены изменения, закрыть её можно только после того, как вы сохраните эти изменения и кликните на любую область за пределами карточки, или принудительно закрыть её, нажав на кнопку «Закрыть» &amp;lt;u&amp;gt;(без сохранения внесенных изменений)&amp;lt;/u&amp;gt;. Если открыли карточку просто для просмотра, то закрывается по клику вне карточки или по кнопке «Закрыть»&lt;br /&gt;
&lt;br /&gt;
=== Тестирование робота ===&lt;br /&gt;
[[Файл:Окно чата.png|мини|293x293пкс|&#039;&#039;&amp;lt;small&amp;gt;Рис. 22 Окно чата для тестирования робота&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
В интерфейсе SES есть чат с отладчиком (рис. 22), где вы можете протестировать работу сценарной машины. Чтобы открыть чат-отладчик, нажмите на значок [[Файл:Чат.png|безрамки|20x20px]] в правом нижнем углу рабочей области. В самом верху располагается выпадающий список с каналами связи. Справа от списка — кнопка &#039;&#039;&#039;«Перезапустить сессию»&#039;&#039;&#039; [[Файл:Обновить данные вопроса.png|безрамки|20x20px]], которая сбрасывает всю переписку и данные отладчика. А слева — кнопка &#039;&#039;&#039;«Данные сессии»&#039;&#039;&#039; [[Файл:Кнопка отладчик без полей.png|безрамки|20x20px]], предоставляет возможность в режиме отладки увидеть все данные, полученные от моделей. В окне отладчика есть параметр qas, где отображается запрос, который отправился в QAS и не только, подробнее см. раздел [[SES. UPS руководство по работе с интерфейсом#Данные сессии|Данные сессии]]. И кнопка &#039;&#039;&#039;«Тестирование скрипта»&#039;&#039;&#039; [[Файл:Пробирки.png|безрамки|20x20пкс]], подробнее [[SES. UPS руководство по работе с интерфейсом#Тестирование скрипта|тут]]. Есть возможность отправлять в чат файлы нажав на [[Файл:Скрепка.png|безрамки|20x20пкс]] и выбрав файл (в любом формате).&lt;br /&gt;
&lt;br /&gt;
==== Тестирование в текстовых каналах ====&lt;br /&gt;
&lt;br /&gt;
===== Данные сессии =====&lt;br /&gt;
Раскрыв данные сессии можете увидеть, все данные о текущем диалоге с роботом. Разберем по порядку, ниже представлены некоторые данные из ключа root, они нужны не все, разберем только нужные:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
 &amp;quot;started&amp;quot;:&amp;quot;2025-06-10 09:46:05&amp;quot; — &#039;&#039;&amp;lt;small&amp;gt;время начала сессии&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;:&amp;quot;2025-06-10 09:49:08&amp;quot; — &#039;&#039;&amp;lt;small&amp;gt;когда произошли изменения последние (пришел запрос/изменилась тематика)&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
 &amp;quot;robot&amp;quot;:&amp;quot;ffeaa99a-13d2-4bff-b458-1231c884f8ee&amp;quot; — &#039;&#039;&amp;lt;small&amp;gt;id робота, у продовой версии будет приписка _prod&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;session&amp;quot;:&amp;quot;beefb6a2-dc08-47d4-9e02-2495329173ec&amp;quot; — &#039;&#039;&amp;lt;small&amp;gt;id сессии&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;channel&amp;quot;:&amp;quot;default&amp;quot; — &#039;&#039;&amp;lt;small&amp;gt;активный канал, в котором происходит тестирование&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
&amp;quot;connector&amp;quot;:&amp;quot;web&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;unknown&amp;quot;:false.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;[[Файл:2025-06-10 12-46-08.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 23.1 Пример работы с отладчиком&amp;lt;/small&amp;gt;&#039;&#039;]]Далее идет самая интересная для аналитиков часть - &amp;lt;code&amp;gt;&amp;quot;current&amp;quot;&amp;lt;/code&amp;gt; . Раскрыв этот ключ можно посмотреть в какую конечную точку привёл сценарий, и была ли запросу присвоена какая-либо категория. А так же параметр &#039;&#039;data&#039;&#039;, раскрыв который можно увидеть все классы (рис. 23.1 и 23.2), которые пришли от модели [[SMC. UPS руководство по работе с интерфейсом|SMC]] и/или модели [[SEE. UPS руководство по работе с интерфейсом|SEE]] и их достоверность и вес. Раскрыв в &#039;&#039;data&#039;&#039; параметр &#039;&#039;reply -&#039;&#039; увидеть данные ответа от робота. Имея все эти данные можно отладить работу сценария. [[Файл:2025-06-10 12-47-07.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 23.2 Работа с отладчиком. Просмотр параметра data&amp;lt;/small&amp;gt;&#039;&#039;]]&amp;lt;blockquote&amp;gt;&amp;quot;current&amp;quot;:{&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;id&amp;quot;:&amp;quot;Консультация ЧаВО&amp;quot;  —  &amp;lt;small&amp;gt;конечная точка, в которую привел сценарий,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;qas&amp;quot;:&amp;quot;оформить снилс&amp;quot;  —  &amp;lt;small&amp;gt;запрос, который отправился в QAS.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Обратите внимание:&#039;&#039;&#039; если параметр QAS в отладчике пустой, это значит, что ваш запрос не был передан в QAS. Если же в этом параметре отображается ваш запрос, но робот просит вас перефразировать его, то, вероятно, в базе данных не хватает формулировки с ответом или на ответе отсутствует пометка «проверено». Это может происходить, когда в настройках КТ, отвечающей за консультирование из базы данных QAS, установлен параметр «Использовать кэш ответов» в режиме «Только проверенные ответы».&amp;lt;/small&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Отработка склеек и удержания контекста&#039;&#039;&#039;: в QAS летит вообще вся история сообщений в рамках одного контекста общения &#039;&#039;&#039;через разделитель «|»&#039;&#039;&#039;. Модель генерации будет отвечать на последний вопрос в цепочке с учетом ранее написанных сообщений в этом контексте.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;answered&amp;quot;:true  —  &amp;lt;small&amp;gt;был ли ответ true/false&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;quot;category&amp;quot;:[0:&amp;quot;МФЦ НСО СНИЛС&amp;quot;]  —  &amp;lt;small&amp;gt;отображается список категорий, в которые попал вопрос (их может быть больше одной).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;nearest&amp;quot;:NULL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Следующий кусок ключа current проще объяснить на примере запроса &amp;quot;оформить паспорт&amp;quot;:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;entry&amp;quot;:&amp;quot;entry&amp;quot;:[0:&amp;quot;Паспорт, вес 3&amp;quot; ]  —  &amp;lt;small&amp;gt;зашли в КТ по метке «Паспорт», запросили тип паспорта (загран), старый/новый образец и дошли до возраста получателя:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;missingRunData&amp;quot;:[&lt;br /&gt;
&lt;br /&gt;
            0:&amp;quot;Возраст заявителя для заграна, вес 3&amp;quot;] — &amp;lt;small&amp;gt;тут отображаются ЭД, которые нужны для «пропуска» дальше в действия.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;passedRunData&amp;quot;:[ ] &amp;lt;small&amp;gt;—  этот параметр определяет, какие данные использовать для подмены сообщения на тэг от модели. Подробнее [[SES. UPS руководство по работе с интерфейсом#Добавление и настройка элементов данных|тут]], описание флага «Подставлять ответ модели в сообщение».&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;waitingRunData&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;Возраст заявителя для заграна, вес 3&amp;quot;  &amp;lt;small&amp;gt;—  отображается ЭД, который запросили и ждем получения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;border&amp;quot;:0 &amp;lt;small&amp;gt;— отражает границу, от которой система смотрит на данные. Например, при border:1 - система будет смотреть от 2-го  ЭД в списке data и ниже. При border:0 - с первого.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;preborder&amp;quot;:0&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;&amp;quot;models&amp;quot;:[...] — &amp;lt;small&amp;gt;раскрыв список, можно посмотреть все модели, которые отработали за сессию.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;scripts&amp;quot;:[] — &amp;lt;small&amp;gt;отображает список скриптов, которые отработали за сессию.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;data&amp;quot;:[...] — &amp;lt;small&amp;gt;раскрыв data, можно увидеть параметр &amp;quot;message&amp;quot; — фраза-сообщение пользователя. И под каждым message, есть своя data, где находятся все метки и все тэги, пришедшие от моделей SMC и SEE на эту фразу.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;timers&amp;quot;:[...]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;variables&amp;quot;:{} — &amp;lt;small&amp;gt;тут отображаются пришедшие переменные, если есть.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;error&amp;quot;:&amp;quot;&amp;quot; — &amp;lt;small&amp;gt;выводит ошибку при отработке скрипта.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;events&amp;quot;:{ — &amp;lt;small&amp;gt;параметр отображает счетчики событий за сессию (не найдено/нет данных/тишина).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;not found&amp;quot;:{...}&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;no data&amp;quot;:{...}&lt;br /&gt;
&lt;br /&gt;
      &amp;quot;silence&amp;quot;:{...}&lt;br /&gt;
&lt;br /&gt;
    }&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:2025-06-10 16-15-43.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 24 Окно автотестирования скриптов&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===== Тестирование скриптом =====&lt;br /&gt;
[[Файл:2025-06-10 16-22-59.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 25 Добавление скрипта для тестирования&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
[[Файл:Тестирование скриптов.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 26 Интерфейс окна «Тестирование скриптов»&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
Теперь вы можете автоматически тестировать робота с помощью скриптов. Например, если у вас возникли сложности с маршрутизацией и нет желания каждый раз вручную воспроизводить весь диалог при отладке сценария, вы можете сохранить его для последующего тестирования.  Для этого кликните на кнопку [[Файл:Пробирки.png|безрамки|20x20пкс]] справа от чата появится окно. Добавить скрипт можно путем &#039;&#039;&#039;&#039;&#039;импорта из файла&#039;&#039;&#039;&#039;&#039; [[Файл:Импорт нов.png|безрамки|20x20пкс]], если есть данные &#039;&#039;&#039;в формате txt&#039;&#039;&#039; или &#039;&#039;&#039;&#039;&#039;импортировать диалог&#039;&#039;&#039;&#039;&#039; из текущей сессии. Нажмите на иконку импорта или выберите &#039;&#039;«Скрипт»&#039;&#039; в выпадающем меню и нажмите &#039;&#039;&#039;&#039;&#039;«Добавить скрипт»&#039;&#039;&#039;&#039;&#039; (рис. 25). Появится диалоговое окно «&#039;&#039;Добавление скрипта»&#039;&#039;. Введите название скрипта, выберите файл и нажмите &#039;&#039;«Добавить»&#039;&#039;. Если у вас уже открыта сессия, отметьте в окне добавления скрипта опцию &#039;&#039;&#039;&#039;&#039;«Импорт из чата»&#039;&#039;&#039;.&#039;&#039; Если у вас несколько скриптов, переключаться между ними можно через выпадающий список &#039;&#039;«Скрипт».&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Правее него находятся иконки &#039;&#039;импорт&#039;&#039; [[Файл:Импорт нов.png|безрамки|20x20пкс]], &#039;&#039;экспорт&#039;&#039; [[Файл:Экспорт нов.png|безрамки|20x20пкс]] и &#039;&#039;удалить&#039;&#039; [[Файл:Удаление документа.png|безрамки|20x20пкс]]. Импорт был описан ранее. &#039;&#039;&#039;&#039;&#039;Экспорт&#039;&#039;&#039;&#039;&#039; позволяет выгрузить скрипт в формате txt. Кнопка &#039;&#039;&#039;&#039;&#039;удалить&#039;&#039;&#039;&#039;&#039; - удаляет &amp;lt;u&amp;gt;весь&amp;lt;/u&amp;gt; скрипт. &lt;br /&gt;
&lt;br /&gt;
Файл для импорта и экспорта - это простой текстовый файл, в котором все запросы к роботу, каждый с новой строки.&lt;br /&gt;
&lt;br /&gt;
Галочки обозначают точки останова (рис. 26). Когда они стоят, автотест останавливается и ждет, пока вы нажмете кнопку «Дальше». параллельно можно открыть отладчик и смотреть, что происходит на каждом этапе теста.&lt;br /&gt;
&lt;br /&gt;
У тестирования есть два основных режима:&lt;br /&gt;
&lt;br /&gt;
# Полный тест:&lt;br /&gt;
#* Все галочки сняты&lt;br /&gt;
#* Тест выполняется автоматически от начала до конца, без остановок&lt;br /&gt;
# Пошаговый режим:&lt;br /&gt;
#* Тест останавливается на каждом шаге &lt;br /&gt;
#* Для продолжения нужно нажимать &amp;quot;Дальше&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Если вы не поставили ни одной галочки (режим «полный тест»), а затем поставили хотя бы одну, тест переключится в пошаговый режим. При этом переключатель автоматически переключится в «пошаговый режим», но все галочки он не поставит. Это просто оповещение о том, что тест неполный. &lt;br /&gt;
&lt;br /&gt;
Чтобы начать тестирование, сначала сбросьте текущую сессию, если она активна, и нажмите кнопку «Тест». Если выбран «Полный тест», он запустится автоматически. Для «Пошагового» теста нужно будет последовательно нажимать «Дальше». После того как тест завершится или вам нужно прервать его в любой момент (это относится к «пошаговым тестам»), нажмите кнопку «Остановить». После этого тестирование можно запустить еще раз. Внутри одной сессии нельзя запустить тестирование, скрипт тестирования ограницен сохраненными формулировками. Но можно продолжать диалог, в этой же сессии, с роботом после тестирования.&lt;br /&gt;
&lt;br /&gt;
Последняя отправленная фраза будет выделена голубым цветом.&lt;br /&gt;
&lt;br /&gt;
==== Тестирование голосовыми сообщениями и в голосовом канале ====&lt;br /&gt;
[[Файл:2025-06-10 12-44-58.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 27 Тестирование робота с помощью микрофона.&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
Робота можно протестировать, задавая вопросы голосом и/или вводя переменные. Например, можно проверить, как робот отправляет в разные  конечные точки, получая одинаковые метки от SMC и номера телефонов различных ведомств. Например, метка «Мобилизация» от SMC в сочетании с номером телефона МФЦ приводит в КТ Консультация ЧаВО, а «Мобилизация» и номер единого контактного центра (ЕКЦ) — в КТ Перевод на оператора. Чтобы провести тестирование робота с переменными раскройте меню, кликнув на стрелочку над полем «Напишите вопрос» (рис. 22) и заполните поля:&lt;br /&gt;
&lt;br /&gt;
- Переменная: введите название переменной.&lt;br /&gt;
&lt;br /&gt;
- Значение: укажите значение этой переменной..&lt;br /&gt;
[[Файл:Photo 2025-03-07 15-40-57.jpg|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 28 Иллюстрация тестирования канала voice.&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
В этом же меню вы можете настроить параметры аудиоответов и автовоспроизведения. &lt;br /&gt;
&lt;br /&gt;
Если вы активируете опцию «Аудиоответы», то будете получать от робота голосовые ответы. В противном случае ответы будут в текстовом формате.&lt;br /&gt;
&lt;br /&gt;
Отметка «Автовоспроизведение» позволит автоматически воспроизводить голосовой ответ робота.&lt;br /&gt;
&lt;br /&gt;
Чтобы протестировать робота &#039;&#039;&#039;с помощью голосовых сообщений&#039;&#039;&#039;, нужно нажать и удерживать кнопку [[Файл:Микрофон 1.png|безрамки|20x20пкс]]. Для работы этой кнопки необходим доступ к UPS через протокол HTTPS. Вы можете настроить такой доступ, используя любой веб-сервер, например, nginx или apache. В случае, если нет галочки «Аудиоответы», то бот будет отвечать текстом (рис. 27).  &lt;br /&gt;
&lt;br /&gt;
В дебаггере есть функция, позволяющая протестировать &#039;&#039;&#039;голосовой канал - voice&#039;&#039;&#039; (рис. 27), то есть &#039;&#039;имитировать звонок&#039;&#039;. Чтобы запустить процесс, достаточно нажать на кнопку «Начать разговор» [[Файл:Начать разговор.png|безрамки|20x20пкс]] . Пока разговор активен, кнопка изменится на «Закончить разговор» [[Файл:Закончить разговор.png|безрамки|20x20пкс]] . Переменные задаются в меню, как и в текстовом канале. Для этого нажмите на стрелочку над полем ввода запроса (рис. 22).      &lt;br /&gt;
&lt;br /&gt;
=== Архив диалогов ===&lt;br /&gt;
[[Файл:Архив диалогов нов.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 29 Интерфейс архива диалогов&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
После тестирования робота в любом канале можно заглянуть в Архив диалогов (рис. 27), чтобы изучить данные сессии. Для этого необходимо кликнуть на одноименную кнопку на панели инструментов рядом с кнопками версий робота [[Файл:Архив диалогов.png|безрамки|20x20пкс]].  Интерфейс архива содержит: &lt;br /&gt;
&lt;br /&gt;
* Список доступных роботов слева на экране.&lt;br /&gt;
* Блок с фильтрацией диалогов.&lt;br /&gt;
* До момента пока вы не выберете диалог из списка справа будет пустой блок с текстом «Выберете диалог». После того как диалог выбран вы увидите отображение аналогичное рисунку 29.&lt;br /&gt;
* Информационные вкладки (см. в разделе [[SES. UPS руководство по работе с интерфейсом#Настройка робота|«Настройка робота»]]).&lt;br /&gt;
&lt;br /&gt;
==== Работа с архивом диалога ====&lt;br /&gt;
Архив диалогов поддерживает версионность робота, то есть можно просмотреть диалоги одной из трех версий: черновик, прод или архивной. Для этого кликните по кнопке с нужной версией находясь уже в Архиве либо предварительно выбрав ее и перейдя в архив. Диалоги в архиве фильтруются по дате и времени, для этого кликните на иконку календаря [[Файл:Календарик с фоном.jpg|безрамки|20x20пкс]] в поле «Начало» и «Конец», чтобы выбрать дату. И время, кликнув на иконку часов &#039;&#039;(по умолчанию дата и время выставляются за текущие сутки)&#039;&#039;. Выберите нужную дату и время, добавьте необходимые фильтры. Также можно отфильтровать звонки по:&lt;br /&gt;
&lt;br /&gt;
# каналам связи:&lt;br /&gt;
* default,&lt;br /&gt;
* telegram,&lt;br /&gt;
* web,&lt;br /&gt;
* voice,&lt;br /&gt;
* vkontakte.&lt;br /&gt;
2. элементам данных — при нажатии на это поле открывается перечень всех элементов данных из сценария текущего робота.&lt;br /&gt;
&lt;br /&gt;
3. номеру телефона,&lt;br /&gt;
&lt;br /&gt;
4. ID диалога, берется из отладчика - значение атрибута session,&lt;br /&gt;
&lt;br /&gt;
5. по названию и значению переменной,&lt;br /&gt;
&lt;br /&gt;
3. либо тексту, либо ключевым словам, которые могут быть в искомом диалоге.&lt;br /&gt;
&lt;br /&gt;
После настройки система, по нажатию кнопки «Поиск», отобразит все диалоги с роботом, учитывая выбранные фильтры (рис. 29). На самом верху над диалогом можно просмотреть его ID. В архиве диалоги сгруппированы по принципу «запрос от пользователя — ответ робота». При выборе каждой пары открывается отладчик, где можно увидеть метки и теги, полученные от моделей, копия [[SES. UPS руководство по работе с интерфейсом#Тестирование робота|отладчика]] из тестирования робота. Этот отладчик аналогичен тому, что используется в сценарной машине. Для голосового канала есть возможность прослушивания аудио диалога помимо текстового просмотра. Также есть возможность импортировать запросы диалога в скрипт тестирования в чат-отладчик по кнопке &#039;&#039;&#039;&amp;quot;Добавить в скрипт тестирования&amp;quot;&#039;&#039;&#039; снизу диалога.&lt;br /&gt;
&lt;br /&gt;
Чтобы &#039;&#039;&#039;выйти из Архива диалогов&#039;&#039;&#039; в сценарий нужно снова кликнуть на иконку [[Файл:Архив диалогов.png|безрамки|20x20пкс]].&lt;br /&gt;
&lt;br /&gt;
=== Пользовательские справочники ===&lt;br /&gt;
[[Файл:Photo 2025-05-14 17-30-31.jpg|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 30 Добавление пользовательского справочника&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для доступа к справочнику нажмите на значок «Пользовательский справочник» [[Файл:Справочник (1).png|безрамки|20x20пкс]] на панели инструментов справа от архива диалогов. Чтобы создать новый справочник, нажмите кнопку &#039;&#039;&#039;«Добавить справочник»&#039;&#039;&#039; (рис. 26). В открывшемся окне заполните обязательные поля: название справочника и его структуру — наименования колонок. При необходимости задайте значения по умолчанию для каждой колонки. Эти значения будут автоматически заполнять новые строки. Затем нажмите &#039;&#039;&#039;«Добавить»&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Если значения по умолчанию не указаны, справочник будет пустым. Заполнять таблицу можно вручную.&lt;br /&gt;
&lt;br /&gt;
Справочники можно переименовывать и удалять. Чтобы переименовать или удалить справочник, наведите курсор на его название. Появится две иконки: карандаш для переименования и корзинка для удаления. &amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Перед переименованием справочника &#039;&#039;обязательно&#039;&#039; сохраните внесенные изменения, иначе они будут удалены.&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;[[Файл:2025-05-20 14-45-35.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 31 Удаление записей из пользовательского словаря&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
При нажатии на карандаш откроется окно &#039;&#039;&#039;«Редактирование структуры».&#039;&#039;&#039; Важно помнить: изменения можно внести только в название справочника или в значения по умолчанию (если предыдущие значения были, они будут автоматически обновлены). &#039;&#039;Переименовать столбцы нельзя.&#039;&#039; После сохранения изменений нажмите кнопку &#039;&#039;&#039;«Сохранить»&#039;&#039;&#039;, расположенную внизу под таблицей (рис. 31). &amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Внимание! Справочники зависят от версии робота.&#039;&#039;&#039; Если вы вносите изменения в структуру справочника в черновой версии [[Файл:Черновик.png|безрамки|20x20пкс]], то для применения этих изменений в продовой версии нужно применить робота в прод.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Важно:&#039;&#039;&#039; переносится &#039;&#039;&#039;только структура справочника&#039;&#039;&#039;. Данные не дублируются. Их можно перенести вручную, экспортировав [[Файл:Экспорт нов.png|безрамки|20x20пкс]] из черновика и импортировав [[Файл:Импорт нов.png|безрамки|20x20пкс]] в прод. &amp;lt;/blockquote&amp;gt;Вы можете фильтровать записи по содержанию любой колонки. Выделите галочками несколько записей сразу и удалите их. В правом нижнем углу появится иконка корзины, как только вы выберете хотя бы одну запись (рис. 27).&lt;br /&gt;
&lt;br /&gt;
Справочники можно &#039;&#039;экспортировать&#039;&#039; и &#039;&#039;импортировать&#039;&#039;. Экспорт и импорт осуществляются в формате JSON.&lt;br /&gt;
[[Файл:Снимок экрана 2025-07-16 175752.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 32 Импорт пользовательского словаря&amp;lt;/small&amp;gt;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;При импорте структуры импортируемого файла и справочника в интерфейсе должны совпадать&#039;&#039;. Если они не совпадают, то заполнятся только совпадающие поля. Есть возможность &#039;&#039;импорта&#039;&#039; с дополнением новых данных, либо полной заменой (&#039;&#039;Рис. 32&#039;&#039;). Структура экспорта:&amp;lt;blockquote&amp;gt;&lt;br /&gt;
 [&lt;br /&gt;
&lt;br /&gt;
 {&amp;quot;колонка1&amp;quot;:&amp;quot;значение 1&amp;quot;,&amp;quot;колонка2&amp;quot;:&amp;quot;значение 2&amp;quot;,&amp;quot;колонка3&amp;quot;:&amp;quot;значение 3&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;58845671-1150-4ae2-9c46-e8aeb2553c57&amp;quot;},&lt;br /&gt;
&lt;br /&gt;
 {&amp;quot;колонка1&amp;quot;:&amp;quot;значение 2&amp;quot;,&amp;quot;колонка2&amp;quot;:&amp;quot;значение 2&amp;quot;,&amp;quot;колонка3&amp;quot;:&amp;quot;значение 3&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2e0a7f8e-6d64-4df9-a3ce-5862f8eb441c&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
 ]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;Структура json-файла для импорта:&amp;lt;blockquote&amp;gt;[&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;колонка1&amp;quot;:&amp;quot;значение 4&amp;quot;,&amp;quot;колонка2&amp;quot;:&amp;quot;значение 5&amp;quot;,&amp;quot;колонка3&amp;quot;:&amp;quot;значение 6&amp;quot;},&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;колонка1&amp;quot;:&amp;quot;значение 2&amp;quot;,&amp;quot;колонка2&amp;quot;:&amp;quot;значение 3&amp;quot;,&amp;quot;колонка3&amp;quot;:&amp;quot;&amp;quot;} &lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
При импорте &amp;lt;u&amp;gt;не обязательно&amp;lt;/u&amp;gt; указывать id.&amp;lt;/blockquote&amp;gt;Чтобы &#039;&#039;&#039;выйти из Пользовательских справочников&#039;&#039;&#039; в сценарий нужно снова кликнуть на иконку [[Файл:Справочник (1).png|безрамки|20x20пкс]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Панель управления SES ===&lt;br /&gt;
Панель управления SES включает в себя 8 кнопок: импорт, экспорт, обнуление черновика рабочей версией, применение робота, восстановление робота, применение настроек робота, массовая замена моделей в элементах данных и меню пользователя.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&#039;&#039;&amp;lt;small&amp;gt;Табл. 2 Описание функционала панели управления.&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Иконка кнопки&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Название иконки&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Описание&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Export.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Экспорт&lt;br /&gt;
|Экспорт робота в .zip архив со всеми настройками, включая элементы данных, конечные точки, скрипты и структуры пользовательских справочников &#039;&#039;(но не включая сам справочник)&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:ImportRobot.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Импорт&lt;br /&gt;
|Импорт .zip архива робота в систему &#039;&#039;(кнопка активна только в версии черновика)&#039;&#039;.|Импорт .zip архива робота в систему &#039;&#039;(кнопка активна только в версии черновика)&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Стрелка.png|безрамки|40x40px|центр]]&lt;br /&gt;
|Обнулить черновик рабочей версией&lt;br /&gt;
|Эта функция позволяет заменить черновик рабочей версией. Она копирует текущую рабочую версию и сохраняет её как черновик, при этом сама рабочая версия остаётся без изменений &#039;&#039;(кнопка активна только в версии черновика)&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Применить.png|безрамки|40x40px|центр]]&lt;br /&gt;
|Применить&lt;br /&gt;
|По нажатию на эту кнопку черновая версия робота становится рабочей &#039;&#039;(кнопка активна только в версии черновика)&#039;&#039;. &lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Откат.png|центр|безрамки|40x40px]]&lt;br /&gt;
|Восстановить&lt;br /&gt;
|С помощью этой функции можно восстановить версию из архивной. При этом текущая рабочая версия становится архивной &#039;&#039;(кнопка активна только в архивной версии)&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Разетка.png|центр|безрамки|40x40px]]&lt;br /&gt;
|Применить настройки робота&lt;br /&gt;
|Применяет сохранённые настройки робота и начинает работать в соответствии с ними, что аналогично перезагрузке программного обеспечения, но без необходимости самой перезагрузки.&lt;br /&gt;
После нажатия на кнопку система переносит эти настройки в настройки прода, но НЕ ПРИМЕНЯЕТ, на случай, если ошиблись.&lt;br /&gt;
&lt;br /&gt;
Робот в любой версии начинает работать с новыми настройками только после нажатия на кнопку. Если вы нажали на кнопку, находясь в черновике, будут применены настройки черновика. Если же вы нажали на кнопку, работая в рабочей версии, то будут применены настройки рабочей версии, которые вы только что перенесли из черновика.  &amp;lt;blockquote&amp;gt;Обратите внимание: после внесения каких-либо изменений кнопка будет красной [[Файл:Красная вилка (1).png|безрамки|20x20пкс]] и пульсировать, напоминая о необходимости применить настройки. &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Смена моделей.png|центр|безрамки|40x40пкс]]&lt;br /&gt;
|Массовая замена моделей в элементах данных&lt;br /&gt;
|[[Файл:Замена моделей в ЭД.png|мини|&#039;&#039;&amp;lt;small&amp;gt;Рис. 33. Массовая замена моделей в элементах данных&amp;lt;/small&amp;gt;&#039;&#039;]]Эта функция позволяет массово менять модели в элементах данных. После нажатия на кнопку появляется форма &#039;&#039;(Рис. 33)&#039;&#039;, в которой необходимо указать тип элемента данных &#039;&#039;(Класс / Сущность)&#039;&#039;. Затем в поле &#039;&#039;&#039;&amp;quot;Заменяемая модель&amp;quot;&#039;&#039;&#039; выбрать модель из списка моделей, используемых в уже существующих элементах данных &#039;&#039;(снизу будет указано количество элементов данных, использующих выбранную модель)&#039;&#039;, и в поле &#039;&#039;&#039;&amp;quot;Заменяющая модель&amp;quot;&#039;&#039;&#039; выбрать доступную модель для замены. После нажатия на кнопку &#039;&#039;&#039;&amp;quot;Заменить&amp;quot;&#039;&#039;&#039; будет произведена замена выбранной модели в тех элементах данных, в которых она используется.&lt;br /&gt;
|-&lt;br /&gt;
|[[Файл:Меню пользователя new.png|безрамки|40x40px|центр]]&lt;br /&gt;
|Меню пользователя&lt;br /&gt;
|Отображает меню пользователя (имя, версия системы, смена пароля, убрать/показать фон, выход из системы), а также возможность переключить &#039;&#039;отображение рабочей области с табличного на облачный вид и наоборот&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Совместное использование ===&lt;br /&gt;
В Сценарной машине может работать несколько пользователей одновременно, но только если они работают с разными элементами данных и конечными точками. В противном случае будут сохранены только последние изменения, внесённые одним из пользователей.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2853</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2853"/>
		<updated>2025-07-18T10:22:13Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - параметры запроса к LLM&amp;lt;/small&amp;gt;&amp;quot;&amp;lt;small&amp;gt;max_tokens&amp;quot;: 4096,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_k&amp;quot;: 30,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_p&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;temperature&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;repeat_penalty&amp;quot;: 1.3&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;endpoint&#039;&#039;&#039; - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,                &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;id ЭД&amp;quot;,         &amp;quot;name&amp;quot;: &amp;quot;Имя ЭД&amp;quot;,          &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,     &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,     &amp;quot;model&amp;quot;: &amp;quot;Имя модели&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;Ответ&amp;quot;,        &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,              &amp;quot;weight&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],                 &amp;quot;getOnlyAsNearest&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;injectToMessage&amp;quot;: true/false,        &amp;quot;longWaiting&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;dataWaiting&amp;quot;: [],          &amp;quot;actions&amp;quot;: {             &amp;quot;alone&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;        &amp;quot;default&amp;quot;: [{&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,   &amp;quot;type&amp;quot;: &amp;quot;random&amp;quot;,   &amp;quot;text&amp;quot;: [&amp;quot;.....&amp;quot;]}]}},&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {   &amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;....&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отправка файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление записи из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2852</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2852"/>
		<updated>2025-07-18T10:20:56Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;,params={параметры запроса, см. в руководстве пользователя в метода добавления шаблона запроса}), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2851</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2851"/>
		<updated>2025-07-18T10:18:59Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;maxDocs&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | корректировка информации в тексте при помощи LLM &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;  &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - параметры запроса к LLM&amp;lt;/small&amp;gt;&amp;quot;&amp;lt;small&amp;gt;max_tokens&amp;quot;: 4096,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;top_k&amp;quot;: 30,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;top_p&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;temperature&amp;quot;: 0.5,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;repeat_penalty&amp;quot;: 1.3&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039; &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2798</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2798"/>
		<updated>2025-07-16T11:05:44Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;endpoint&#039;&#039;&#039; - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,                &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;id ЭД&amp;quot;,         &amp;quot;name&amp;quot;: &amp;quot;Имя ЭД&amp;quot;,          &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,     &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,     &amp;quot;model&amp;quot;: &amp;quot;Имя модели&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;Ответ&amp;quot;,        &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,              &amp;quot;weight&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],                 &amp;quot;getOnlyAsNearest&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;injectToMessage&amp;quot;: true/false,        &amp;quot;longWaiting&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;dataWaiting&amp;quot;: [],          &amp;quot;actions&amp;quot;: {             &amp;quot;alone&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;        &amp;quot;default&amp;quot;: [{&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,   &amp;quot;type&amp;quot;: &amp;quot;random&amp;quot;,   &amp;quot;text&amp;quot;: [&amp;quot;.....&amp;quot;]}]}},&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {   &amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;....&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отправка файла.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление записи из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2797</id>
		<title>SES. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2797"/>
		<updated>2025-07-16T11:05:02Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для создания сценарных машин и обеспечения их работы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script engine service (SES) - сервис обеспечения работы и создания сценарных машин. Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SES в реальном времени&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Скрипты интеграции&#039;&#039;&#039; =====&lt;br /&gt;
Для взаимодействия со сторонними сервисами используются скрипты интеграции на языке python. Скрипт интеграции должен содержать функцию &#039;&#039;&#039;handler&#039;&#039;&#039;(data={}, session_id=None, channel=&#039;default&#039;). &lt;br /&gt;
&lt;br /&gt;
Пример данных на входе можно посмотреть в методе ses GET/ses/session/{robot_id}/{session_id}&lt;br /&gt;
&lt;br /&gt;
Функция должна исходя из полученных данных запросить ответ у стороннего сервиса. Запрос необходимо выполнить в блоке try/except. Скрипт не должен выдавать ошибку в основное приложение, все исключения должны быть обработаны внутри скрипта. &lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiRequest&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для отправки запроса рекомендуется использовать функцию apiRequest.&#039;&#039;&#039;&#039;&#039; Функция сделает все необходимые записи в лог интеграции. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from  app.tools import apiRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;status, reply = apiRequest(name=&amp;quot;наименование скрипта&amp;quot;,method=&#039;get&#039;,sessiondata=data,url=url,timeout=(1,10))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;status, reply&#039;&#039;&#039; - http код ответа (например 200) и ответ без изменений и сериализации.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; = название вызываемого метода, для отчетности&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sessiondata&#039;&#039;&#039; - это data в handler, которая туда прилетает&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;method&#039;&#039;&#039; - метод запроса-ответа&lt;br /&gt;
&lt;br /&gt;
после этих параметров в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; отправить все нужные параметры, как при вызове requests, они будут переданы один к одному.&lt;br /&gt;
&lt;br /&gt;
Из функции &#039;&#039;&#039;handler&#039;&#039;&#039; можно передать или изменить переменную (в рамках текущей сессии): &amp;lt;code&amp;gt;data[&#039;variables&#039;]={&#039;new_var&#039;: &#039;новое_значение&#039;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &#039;&#039;&#039;handler&#039;&#039;&#039; должна возвращать ответ в виде &amp;lt;code&amp;gt;return { &amp;quot;text&amp;quot;: &amp;quot;Текст ответа.&amp;quot;, &#039;answered&#039;: True}, {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039; - текст ответа&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;answered&#039;&#039;&#039; - получен ли ответ (True или False)&lt;br /&gt;
Если в скрипте интеграции не используются запросы к api стороннего сервиса через http, необходимо предусмотреть запись в лог (запись в лог встроена в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; и при ее использовании отдельно писать в лог не надо). Для этого необходимо импортировать библиотеку:&lt;br /&gt;
&lt;br /&gt;
from  app.tools import apiLog&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiLog&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Если в скрипте интеграции не используются запросы к api, по окончании работы функции handler вызвать функцию записи лога:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;apiLog&#039;&#039;&#039;(data=data,name=&amp;quot;&amp;quot;,url=&amp;quot;&amp;quot;,request={},reply_code=200,reply=None,request_datetime=None,reply_datetime=None)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - тот же массив который был на входе&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - наименование или короткое описание скрипта&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - адрес запроса к стороннему сервису (если есть)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request&#039;&#039;&#039; - текст запроса &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_code&#039;&#039;&#039; - код ответа (стандартный код http)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply&#039;&#039;&#039; - необработанный ответ стороннего сервиса&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request_datetime&#039;&#039;&#039; - время перед запросом, без учета таймзоны, получить лучше так request_datetime=datetime.now(timezone.utc)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_datetime&#039;&#039;&#039; - время сразу по получению ответа, также без учета таймзоны.&amp;lt;br /&amp;gt; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Внимание - не используйте &#039;&#039;&#039;apiRequest или apiLog&#039;&#039;&#039; для данных содержащих пароли в открытом виде, чтобы они не попали в лог&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция getData&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для упрощения поиска информации можно использовать функцию getData&#039;&#039;&#039;&#039;&#039; (&#039;&#039;from app.tools import getData&#039;&#039;), нужна для извлечения конкретных данных из сессии, можно отправить либо всю переменную сессии, либо &#039;data&#039; из сессии. Пример поиска цифрового кода заявления, выявленного моделью see &#039;number&#039;, поиск только в последнем сообщении диалога:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;for j in getData(data=data,filter={&#039;type&#039;:&#039;see&#039;,&#039;model&#039;:&#039;number&#039;},depth=1):&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;kod_zayavl=str(int(j[&#039;param&#039;]))&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;break&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры функции&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - или &#039;data&#039; из сессии или переменная сессии&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; - словарь ключевых полей и их значений - поиск сработает если все данные совпадут&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;depth&#039;&#039;&#039; - отвечает за глубину поиска в истории, по умолчанию 1, т.е. искать только в последнем сообщении. Возвращает список всех найденных данных, добавляя в каждый элемент depth, т.е. где именно он нашелся&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======  &#039;&#039;&#039;&#039;&#039;Выполнение длительных процедур&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
Код, который будет выполняться дольше нескольких секунд лучше запускать отдельным потоком. В этом случает есть возможность сообщить результат  в канал даже после завершения основного диалога. Пример ожидания и отправки файла после паузы:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;from app.interactions import connectors&lt;br /&gt;
&lt;br /&gt;
def do_sleep(params, session_id, channel):&lt;br /&gt;
                time.sleep(params[&#039;sleep_time&#039;])&lt;br /&gt;
    message=&amp;quot;выполнено&amp;quot;&lt;br /&gt;
    connectors.sendMessage(channel=channel,session=session_id,answers=[{&#039;messages&#039;:[message]}],files={&#039;document&#039;:(filetame, open(file_path,&#039;rb&#039;))})&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;def handler(data={}, session_id=None, channel=&#039;default&#039;):&lt;br /&gt;
                params={} #чтото передадим в функцию&lt;br /&gt;
    params[&#039;sleep_time&#039;]= 100&lt;br /&gt;
    Thread(target=do_sleep,name=&#039;do_sleep&#039;+str(uuid.uuid4()),args=(params, session_id, channel) ).start()&lt;br /&gt;
    return { &#039;text&#039;: &amp;quot;запустил задание, ждем результат&amp;quot;, &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Отложенные задания&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для выполнения отложенных заданий необходимо &lt;br /&gt;
&lt;br /&gt;
#получить ссылку на базу данных текущего робота&lt;br /&gt;
#в таблицу &amp;quot;crons&amp;quot; внести внести время и python код который должен выполниться в указанное время.&lt;br /&gt;
&lt;br /&gt;
 Пример отложенного сообщения в телеграм:&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;# Формируем задачу в крон&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    if error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        return { &#039;text&#039;: &#039;А я тебе ошибку базы данных привез: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    dt = int(datetime.strptime(date[&#039;date&#039;]+&#039; &#039;+date[&#039;time&#039;],&#039;%Y-%m-%d %H:%M&#039;).timestamp())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    # А вот тут создадим код для выполнения задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    url = f&#039;&amp;lt;nowiki&amp;gt;https://api.telegram.org/bot{token}/sendMessage&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = json.dumps({&#039;chat_id&#039;: chat_id, &#039;text&#039;: message})&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = base64.b64encode(data.encode(&amp;quot;utf-8&amp;quot;)).decode(&amp;quot;utf-8&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    code = &amp;quot;&amp;quot;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        import requests, json, base64&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        try:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=\&amp;quot;{1}\&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=base64.b64decode(data.encode(&#039;utf-8&#039;)).decode(&#039;utf-8&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            requests.post(\&amp;quot;{0}\&amp;quot;, data=json.loads(data), timeout = (5, 10))&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        except Exception as error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            logging.error(traceback.format_exc())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;                   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    &amp;quot;&amp;quot;&amp;quot;.format(url,data).replace(&amp;quot;        &amp;quot;,&amp;quot;&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, result = db.create(table=&#039;crons&#039;,data={&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;id&#039;: str(uuid.uuid4()),&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;name&#039;:&#039;Задача-напоминание для &#039;+username,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;datetime&#039;: dt,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;code&#039;: code })&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Пользовательские таблицы базы данных&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
В составе большинства продуктов используется служебная файловая [https://wiki.connect2ai.net/index.php/UPS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D1%8F%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 база данных]. В SES возможно использование служебной базы в скриптах интеграции. Для этого нужно:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Импортировать функцию&#039;&#039;&#039; получения объекта БД (&amp;lt;code&amp;gt;from app.db import get_db&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Получить объект БД&#039;&#039;&#039;&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;if error: &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;return { &#039;text&#039;: &#039;ошибка базы данных: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Объявить структуру&#039;&#039;&#039; пользовательской таблицы, создав запись в таблице структур (если еще не объявляли)&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;search_data={&lt;br /&gt;
                            &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    try:&lt;br /&gt;
        error, search_result = db.select(&#039;structures&#039;,data=search_data,sort=None,md5clean=True)&lt;br /&gt;
        if not search_result:&lt;br /&gt;
            struct_data = {&lt;br /&gt;
                        &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;fields&amp;quot;: {&lt;br /&gt;
                        &amp;quot;string&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
                        &amp;quot;integer&amp;quot;:0,&lt;br /&gt;
                        &amp;quot;float&amp;quot;:0.0,&lt;br /&gt;
                        &amp;quot;именованный массив&amp;quot;:{},&lt;br /&gt;
                        &amp;quot;неименованный массив&amp;quot;:[],&lt;br /&gt;
                        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
            error, str_id = db.create(table=&#039;structures&#039;, data=struct_data)&amp;lt;/small&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Сделать запись&#039;&#039;&#039; в базе&amp;lt;br /&amp;gt;     &amp;lt;small&amp;gt;new_data={&lt;br /&gt;
                           &amp;quot;string&amp;quot;:&amp;quot;пример строки\n&amp;quot;,&lt;br /&gt;
        &amp;quot;integer&amp;quot;:100500,&lt;br /&gt;
        &amp;quot;float&amp;quot;:20.0004,&lt;br /&gt;
        &amp;quot;именованный массив&amp;quot;:{&#039;ключ1&#039;:&#039;значение1&#039;},&lt;br /&gt;
        &amp;quot;неименованный массив&amp;quot;:[&#039;запись1&#039;,&#039;запись2&#039;,],&lt;br /&gt;
        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;error, id = db.create(table=&amp;quot;new_table_name&amp;quot;, data=new_data)&lt;br /&gt;
&lt;br /&gt;
if error:&lt;br /&gt;
    return { &#039;text&#039;: &#039;ошибка создания: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
Если при создании структуры не указывать в структуре id то база сама создаст id, вернет его в ответ. В дальнейшем тогда имя новой таблицы будет в id и запись/поиск в базе только по нему. Пример поиска в &#039;structures&#039; подходит для поиска в пользовательской таблице.&lt;br /&gt;
&lt;br /&gt;
Создание, редактирование и просмотр пользовательской таблицы в базе возможно и с интерфейса UPS.&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Описание методов API&#039;&#039;&#039;=====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SES. По умолчанию используется порт 6189/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.&lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6190 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Методы API&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться r продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;endpoint&#039;&#039;&#039; - id точки, в которую передать управление диалогом (необязательный параметр, используется для исходящих оповещений)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/log&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение лога всех сессий начиная с date. &amp;lt;small&amp;gt;В логе &#039;&#039;&#039;error,&#039;&#039;&#039; &#039;&#039;&#039;message&#039;&#039;&#039; и массив сессий  &#039;&#039;&#039;log&#039;&#039;&#039; (log содержит информацию о каждой сессии и запросы с ответами)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;date&#039;&#039;&#039; - начальная дата в формате %Y-%m-%d&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;log&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;,.....&amp;quot;,&amp;lt;/small&amp;gt;      &amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;robot&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;channel&amp;quot;: &amp;quot;......&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;closed&amp;quot;: true&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;/false&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;          &amp;lt;small&amp;gt;&amp;quot;endpoint&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;.....&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answered&amp;quot;: true/false,      &amp;quot;models&amp;quot;: [....],       &amp;quot;variables&amp;quot;: {},     &amp;quot;current&amp;quot;: {.......},&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;request&amp;quot;: {.......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;reply&amp;quot;: { .....&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},  &amp;quot;robot_id&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointName&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointType&amp;quot;:   &amp;quot;&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; - id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает конфигурацию виджета скрипту виджета&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; - ключ виджета&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе содержимое настроек web канала из конфигурационного файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; - имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант - становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка робота в архив.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;name&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;weekdays&amp;quot;: [ ..... ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;dates&amp;quot;: [  .....  ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip -&#039;&#039;&#039; файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/data&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,      &amp;quot;model&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;param&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,      &amp;quot;weight&amp;quot;: int,    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;getOnlyAsNearest&amp;quot;: true/false,   &amp;quot;injectToMessage&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;longWaiting&amp;quot;: true/false,   &amp;quot;dataWaiting&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;actions&amp;quot;: {}, &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  { &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;} ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/endpoint&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/archive&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/script&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/files&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/testapi&#039;&#039;&#039; &#039;&#039;[https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#:~:text=%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0-,%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8,-%5B%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%7C для отладки скриптов интеграции]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка эмуляторов сервисов интеграции&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;service1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;service2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;serviceN&amp;quot;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/userdata&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление записи из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Постобработка методов api&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для метода &#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039; можно изменить формат данных ответа.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо подготовить скрипт на python в папке /opt/ses/handlers/api/ask/ . Скрипт должен содержать функцию handler(reply={}), Функция должна вернуть переформатированный ответ. Чтобы воспользоваться скриптом необходимо его имя без разрешения указать в поле &amp;quot;&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot; при запросе метода.&lt;br /&gt;
&lt;br /&gt;
Аналогично и для метода ask websocket протокола - файл положить в /opt/ses/handlers/websockets/ask/ . Далее в любом запросе указать обработчик &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{тут всё, что ты и так отправляешь, &#039;handlers&#039;: { &#039;ask&#039;: &#039;__telegram&#039; }} }&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; . начиная с этого запроса обработчик будет действовать в течение сессии пока не отправишь &#039;handlers&#039;: {} . Для других полей запросов в канале websocket аналогично.&lt;br /&gt;
&lt;br /&gt;
В составе поставки ses есть файл примера &amp;lt;code&amp;gt;__telegram.py&amp;lt;/code&amp;gt; (префикс 2 подчеркивания - такой файл будет переписан при обновлении, любой другой, останется после обновления)&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Websockets сервер&#039;&#039;&#039; =====&lt;br /&gt;
Работа с программным продуктом возможна с использованием встроенного websockets сервера. Подключение производится по порту 6191, без SSL. При необходимости работать по SSL перед SES ставится nginx в режиме прокси, и SSL поднимается на nginx. Подробнее см. документацию по nginx.&lt;br /&gt;
&lt;br /&gt;
В таблице ниже приведены форматы сообщений для работы с сервером. В каждом сообщении (за исключением бинарных), присутствует переменная path (формат сообщений - JSON), которая определяет алгоритм обработки сообщения. Подключение к серверу возможно в следующих вариантах:&lt;br /&gt;
&lt;br /&gt;
# ws://адрес:6191&lt;br /&gt;
# ws://адрес:6191/session[/chunk]&lt;br /&gt;
&lt;br /&gt;
Первый вариант подходит только для текстовых сообщений, в данном случае передача переменной session (uuid текущей сессии) должна производиться в теле сообщения. &lt;br /&gt;
&lt;br /&gt;
Второй вариант подходит и для текстового и для голосового общения с роботом. В данном случае session передается в пути подключения к websockets-серверу. Для каждой новой сессии нужно открывать новое соединение, chunk в пути подключения нужен в том случае, если передаются не готовые части аудио, предварительно сформированные, а сплошной поток аудио, кусками по 20 мс.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Входящие сообщения&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;path:ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вопрос роботу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;, &#039;&#039;# Необязательный параметр, если не будет отправлен, будет создана новая сессия и в ответе придет сгенерированный session&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;link&amp;quot;: 1, &#039;&#039;# Необязательный параметр, отдает ссылки на аудио, если 1.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;format&amp;quot;: &amp;quot;wav&amp;quot;, &#039;&#039;# Необязательный параметр, формат возвращаемого аудио, если channel=voice&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;document&amp;quot;: {&amp;quot;name&amp;quot;:&amp;quot;название&amp;quot;,&amp;quot;base64&amp;quot;:&amp;quot;тело документа в base64&amp;quot;}, &#039;&#039;# необязательный параметр&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;handlers&amp;quot;: {&amp;quot;ask&amp;quot;: &amp;quot;название хэндлера&amp;quot;},  &#039;&#039;# Необязательный параметр, см. [[SES. Руководство администратора|описание обработчиков]]&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;text&amp;quot;: &amp;quot;привет&amp;quot;,       &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;или&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;audio&amp;quot;: &amp;quot;base64 строка&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |Для текстовых ответов (канал не voice)&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;question&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для голосовых ответов, канал voice, дополнительно идет отправка N сообщений с аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;audio&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;ссылка или base64 закодированное аудио&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;listening | asking&amp;quot; &#039;&#039;# Требование к клиенту выставить статус.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:session&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Статус сессии&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;started&amp;quot;: &amp;quot;2025-07-08 07:39:24&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modified&amp;quot;: &amp;quot;2025-07-08 07:39:26&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;connector&amp;quot;: &amp;quot;web&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;unknown&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;category&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;entry&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;nearest&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;lastreply&amp;quot;: &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;smc:Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:Серверы&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:fio&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;scripts&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;request&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:24.706771&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;message&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;data&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                            &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:26.269201&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answered&amp;quot;: false&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;events&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;not found&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;no data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;silence&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Установка статуса клиентской части. &amp;lt;small&amp;gt;Используется в голосовом канале, для установки текущего статуса клиентской части. В случае использования режима активного слушания в момент речи робота, необходимо выставлять на клиентской части статус asking.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;status&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:interrupted&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Уведомление о прерывании текущего сообщения робота пользователем.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;interrupted&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:hangup&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Завершение сессии с роботом.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;hangup&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Со стороны сервера возможны самостоятельные сообщения типов ask и hangup в формате, аналогичном приведенному в таблице выше.&lt;br /&gt;
&lt;br /&gt;
Работа с сервером возможна с поточной передачей аудио в сторону сервера. В данном режиме ответы от сервера будут со ссылками на аудио, которое должно быть воспроизведено на стороне клиента (см. таблицу выше). Формат принимаемого потока аудио: pcm, 8кГц, 16 бит, размер куска аудио - 20 мс.&lt;br /&gt;
&lt;br /&gt;
Аудио отправляется бинарным сообщением по ссылке ws://адрес/код сессии/chunk.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2795</id>
		<title>SES. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2795"/>
		<updated>2025-07-16T10:39:55Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для сценарных машин. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script Engine Service (SES) – сервис, обеспечивающий работу сценарных машин.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Требования к окружению&#039;&#039;&#039; =====&lt;br /&gt;
В процессе работы сервис взаимодействует со следующими сервисами:&lt;br /&gt;
&lt;br /&gt;
* UPS – настройка осуществляется через файл /opt/ups/config.json&lt;br /&gt;
* SMC, SEE, SPR, TTS, SBS, QAS – настройка осуществляется через файл /opt/ses/config.json.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка ses&#039;&#039;&#039; ===== &lt;br /&gt;
&lt;br /&gt;
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление ses осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s &amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses&amp;lt;/nowiki&amp;gt; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить ses &amp;lt;code&amp;gt;/opt/ses/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable ses.service &amp;amp;&amp;amp; sudo systemctl start ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к портам 6157/tcp, 6170/tcp, 6191/tcp, а также порту, определенном в конфиге (по умолчанию 6190/tcp) на нужном интерфейсе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;ses&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start ses&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/ses/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка сервиса&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Файл config.json&#039;&#039;&#039;====&lt;br /&gt;
Настройка параметров сервиса ses производится в файле /opt/ses/config.json&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|По умолчанию&lt;br /&gt;
!style=&amp;quot;width: 60%&amp;quot;|Назначение&lt;br /&gt;
|-&lt;br /&gt;
|port&lt;br /&gt;
|6190&lt;br /&gt;
|Порт API интерфейса используется в UPS — настройка servers.ses в конфиге UPS.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Путь к папке логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.debug&lt;br /&gt;
|false&lt;br /&gt;
|Режим расширенного логирования.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество старых сохраняемых логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер текущего лог-файла в байтах.&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.web&lt;br /&gt;
|/opt/ses/storage/web&lt;br /&gt;
|Путь для временного хранения фрагментов аудио веб сессий&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.hot&lt;br /&gt;
|/opt/ses/storage/hot&lt;br /&gt;
|Путь к &amp;quot;горячему&amp;quot; хранилищу аудиоданных&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.cold&lt;br /&gt;
|null&lt;br /&gt;
|Путь к &amp;quot;холодному&amp;quot; хранилищу аудиоданных, куда переливаются данные из &amp;quot;горячего&amp;quot; хранилища.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.url&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:PORT/{service}&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес сервера. Возможные варианты значения service (с портами по умолчанию) следующие: smc(6181), see(6184), spr(6183), tts(6186), sbs(6185), qas(6187).&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.connect&lt;br /&gt;
|2&lt;br /&gt;
|Таймаут подключения к серверу.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.read&lt;br /&gt;
|10&lt;br /&gt;
|Таймаут получения данных с сервера.&lt;br /&gt;
|-&lt;br /&gt;
|connectors.vk&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к ботам VK&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;group_id&amp;quot;:&amp;quot;id сообщества ВКонтакте&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.telegram&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к telegram ботам&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;botName&amp;quot;: &amp;quot;название бота (после символа @)&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;phone&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;getUpdates&amp;quot;: 3&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.freeswitch&lt;br /&gt;
|{}&lt;br /&gt;
|Номера внутренних телефонов внутри freeswitch с привязкой к роботам&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;5000&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;robot&amp;quot;: &amp;quot;ffeaa99a-13d2-4bff-b458-1231c884f8ee&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxLength&lt;br /&gt;
|10000&lt;br /&gt;
|Максимальная длина звукового фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.minSpeech&lt;br /&gt;
|120&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxSilence&lt;br /&gt;
|1200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.speechWaiting&lt;br /&gt;
|4000&lt;br /&gt;
|Длительность ожидания начала речи&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxLength&lt;br /&gt;
|2000&lt;br /&gt;
|Максимальная длина звукового фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.minSpeech&lt;br /&gt;
|60&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxSilence&lt;br /&gt;
|200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Файл логов синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.statusFile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Статус задачи синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Перечень подчиненных нод для синхронизации изменений заполняется только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|tmp&lt;br /&gt;
|&amp;quot;/tmp/ses&amp;quot;&lt;br /&gt;
|Временная папка.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039; ====&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
*База файловая, в папке robots.&lt;br /&gt;
*lsync настроен через конфиг SES для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
*UPS при изменении данных работает только с мастером SES, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
*В конфигурации UPS: в servers.ses.trainer указываем маcтер-сервер, в servers.ses.cluster перечисляем все сервера кластера SES, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Эмуляция сервисов интеграции&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
В каталоге &#039;&#039;&#039;/opt/ses/testapi&#039;&#039;&#039; могут располагаться эмуляторы сервисов интеграции.  Эмулятор будет доступен по адресу &#039;&#039;htttp://&amp;lt;адрес ses&amp;gt;/testapi/&amp;lt;название_сервиса&amp;gt;. Для создания эмулятора поместите в папку /opt/ses/testapi/ файл &amp;lt;название_сервиса&amp;gt;.reply. Содержимое файла будет отдано без изменений, как есть по адресу &amp;quot;http://&amp;amp;#x3C;адрес_ses&amp;amp;#x3E;:&amp;amp;#x3C;порт_ses&amp;amp;#x3E;/ses/testapi/&amp;amp;#x3C;название_сервиса&amp;gt;&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка каналов и виджетов&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Настройка виджета для сайта&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Размещаете на сайте&#039;&#039;&#039;, например &amp;lt;nowiki&amp;gt;http://сайт.рф&amp;lt;/nowiki&amp;gt; &#039;&#039;&#039;ссылку на виджет&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;&amp;lt;script src=&amp;quot;http://адрес_ups/ses/widget/js&amp;quot; key=&amp;quot;xxxxxxxx&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/nowiki&amp;gt; (ключ придумайте сами)&lt;br /&gt;
# &#039;&#039;&#039;Делаете конфиг&#039;&#039;&#039; канала в файле /opt/ses/config.json в разделе connectors.web. В конфиге следующее:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;&amp;quot;web&amp;quot;: {&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://сайт.рф~xxxxxxxx&amp;quot;&amp;lt;/nowiki&amp;gt;: {&amp;lt;/small&amp;gt; #сайт_с_виджетом~ключ&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;robot&amp;quot;: &amp;quot;28013d0a-...&amp;quot;,&amp;lt;/small&amp;gt; # id робота&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;color&amp;quot;: &amp;quot;#4d3e33&amp;quot;,&amp;lt;/small&amp;gt; #акцентный цвет виджета&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;host&amp;quot;: &amp;quot;адрес_ses:6191&amp;quot;,&amp;lt;/small&amp;gt; #адрес который прослушивает ws(wss) запросы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;microphone&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность отправлять/принимать аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;transcription&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность расшифровки аудио клиента&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;variables&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;var_1&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;               } } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;Если на сайте SSL, то дополнительно поднимаете реверс-прокси для UPS (&amp;lt;nowiki&amp;gt;http://адрес_ups&amp;lt;/nowiki&amp;gt;) и для websocket (адрес_ses:6191). Особенности реализации на nginx:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Основной конфиг&#039;&#039;&#039; должен включать директиву &amp;lt;code&amp;gt;proxy_set_header Host $host;&amp;lt;/code&amp;gt; а также заголовки CORS и обработку OPTIONS запросов. Дополнительно в нем? возможно? придется обработать путь &amp;quot;/lang&amp;quot; с переводом.&lt;br /&gt;
&lt;br /&gt;
Конфиг для websocket должен обеспечивать обработку upgrade запросов (&amp;lt;nowiki&amp;gt;https://nginx.org/en/docs/http/websocket.html&amp;lt;/nowiki&amp;gt;) для перенаправления websocket трафика, а также прослушивание отдельного порта, например 8091.&lt;br /&gt;
&lt;br /&gt;
Тогда в ссылку на виджет (адрес_ups) и в конфиг канала (адрес_ses:6191) нужно будет вносить адреса, которые поддерживают SSL. Пример конфига nginx для wss: &amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;server {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   server_name ups_сервер.ru;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   listen 6191 ssl;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  include snippets/ssl-params.conf;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate /etc/letsencrypt/live/ups_сервер.ru/fullchain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate_key /etc/letsencrypt/live/ups_сервер.ru/privkey.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_trusted_certificate /etc/letsencrypt/live/ups_сервер.ru/chain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  client_max_body_size 1000M;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_read_timeout 6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_connect_timeout       6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_send_timeout          6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  send_timeout                6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  large_client_header_buffers 8 256k;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   location / {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_pass &amp;lt;nowiki&amp;gt;http://локальныq_адрес_ses:6191&amp;lt;/nowiki&amp;gt;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_http_version 1.1;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Upgrade $http_upgrade;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Host $host;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_cache_bypass $http_upgrade; } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Протоколы и порты&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Сервис использует порты 6190/tcp для доступа к API-интерфейсу и порт 6191/tcp для WebSocket-сервера. Порт 6190 может быть изменен в конфигурационном файле.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Журналы работы&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Для проверки состояния сервиса выполните &amp;lt;code&amp;gt;sudo systemctl status ses&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Журналы сервиса находятся в каталоге, определенном в конфигурационном файле (по умолчанию – &amp;lt;code&amp;gt;/opt/ses/logs/&amp;lt;/code&amp;gt;). Ошибки также пишутся в системный журнал, для просмотра можно воспользоваться командой &amp;lt;code&amp;gt;sudo journalctl -u ses&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Удаление и обновление ses&#039;&#039;&#039;===&lt;br /&gt;
Для удаления выполните команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/uninstall&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки, как указано в п. 4. При этом обновление не изменяет файл /opt/ses/config.json.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2784</id>
		<title>SES. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2784"/>
		<updated>2025-07-08T09:41:48Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для создания сценарных машин и обеспечения их работы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script engine service (SES) - сервис обеспечения работы и создания сценарных машин. Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SES в реальном времени&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Скрипты интеграции&#039;&#039;&#039; =====&lt;br /&gt;
Для взаимодействия со сторонними сервисами используются скрипты интеграции на языке python. Скрипт интеграции должен содержать функцию &#039;&#039;&#039;handler&#039;&#039;&#039;(data={}, session_id=None, channel=&#039;default&#039;). &lt;br /&gt;
&lt;br /&gt;
Пример данных на входе можно посмотреть в методе ses GET/ses/session/{robot_id}/{session_id}&lt;br /&gt;
&lt;br /&gt;
Функция должна исходя из полученных данных запросить ответ у стороннего сервиса. Запрос необходимо выполнить в блоке try/except. Скрипт не должен выдавать ошибку в основное приложение, все исключения должны быть обработаны внутри скрипта. &lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiRequest&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для отправки запроса рекомендуется использовать функцию apiRequest.&#039;&#039;&#039;&#039;&#039; Функция сделает все необходимые записи в лог интеграции. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from  app.tools import apiRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;status, reply = apiRequest(name=&amp;quot;наименование скрипта&amp;quot;,method=&#039;get&#039;,sessiondata=data,url=url,timeout=(1,10))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;status, reply&#039;&#039;&#039; - http код ответа (например 200) и ответ без изменений и сериализации.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; = название вызываемого метода, для отчетности&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sessiondata&#039;&#039;&#039; - это data в handler, которая туда прилетает&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;method&#039;&#039;&#039; - метод запроса-ответа&lt;br /&gt;
&lt;br /&gt;
после этих параметров в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; отправить все нужные параметры, как при вызове requests, они будут переданы один к одному.&lt;br /&gt;
&lt;br /&gt;
Из функции &#039;&#039;&#039;handler&#039;&#039;&#039; можно передать или изменить переменную (в рамках текущей сессии): &amp;lt;code&amp;gt;data[&#039;variables&#039;]={&#039;new_var&#039;: &#039;новое_значение&#039;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &#039;&#039;&#039;handler&#039;&#039;&#039; должна возвращать ответ в виде &amp;lt;code&amp;gt;return { &amp;quot;text&amp;quot;: &amp;quot;Текст ответа.&amp;quot;, &#039;answered&#039;: True}, {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039; - текст ответа&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;answered&#039;&#039;&#039; - получен ли ответ (True или False)&lt;br /&gt;
Если в скрипте интеграции не используются запросы к api стороннего сервиса через http, необходимо предусмотреть запись в лог (запись в лог встроена в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; и при ее использовании отдельно писать в лог не надо). Для этого необходимо импортировать библиотеку:&lt;br /&gt;
&lt;br /&gt;
from  app.tools import apiLog&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiLog&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Если в скрипте интеграции не используются запросы к api, по окончании работы функции handler вызвать функцию записи лога:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;apiLog&#039;&#039;&#039;(data=data,name=&amp;quot;&amp;quot;,url=&amp;quot;&amp;quot;,request={},reply_code=200,reply=None,request_datetime=None,reply_datetime=None)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - тот же массив который был на входе&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - наименование или короткое описание скрипта&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - адрес запроса к стороннему сервису (если есть)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request&#039;&#039;&#039; - текст запроса &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_code&#039;&#039;&#039; - код ответа (стандартный код http)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply&#039;&#039;&#039; - необработанный ответ стороннего сервиса&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request_datetime&#039;&#039;&#039; - время перед запросом, без учета таймзоны, получить лучше так request_datetime=datetime.now(timezone.utc)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_datetime&#039;&#039;&#039; - время сразу по получению ответа, также без учета таймзоны.&amp;lt;br /&amp;gt; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Внимание - не используйте &#039;&#039;&#039;apiRequest или apiLog&#039;&#039;&#039; для данных содержащих пароли в открытом виде, чтобы они не попали в лог&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция getData&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для упрощения поиска информации можно использовать функцию getData&#039;&#039;&#039;&#039;&#039; (&#039;&#039;from app.tools import getData&#039;&#039;), нужна для извлечения конкретных данных из сессии, можно отправить либо всю переменную сессии, либо &#039;data&#039; из сессии. Пример поиска цифрового кода заявления, выявленного моделью see &#039;number&#039;, поиск только в последнем сообщении диалога:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;for j in getData(data=data,filter={&#039;type&#039;:&#039;see&#039;,&#039;model&#039;:&#039;number&#039;},depth=1):&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;kod_zayavl=str(int(j[&#039;param&#039;]))&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;break&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры функции&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - или &#039;data&#039; из сессии или переменная сессии&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; - словарь ключевых полей и их значений - поиск сработает если все данные совпадут&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;depth&#039;&#039;&#039; - отвечает за глубину поиска в истории, по умолчанию 1, т.е. искать только в последнем сообщении. Возвращает список всех найденных данных, добавляя в каждый элемент depth, т.е. где именно он нашелся&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======  &#039;&#039;&#039;&#039;&#039;Выполнение длительных процедур&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
Код, который будет выполняться дольше нескольких секунд лучше запускать отдельным потоком. В этом случает есть возможность сообщить результат  в канал даже после завершения основного диалога. Пример ожидания и отправки файла после паузы:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;from app.interactions import connectors&lt;br /&gt;
&lt;br /&gt;
def do_sleep(params, session_id, channel):&lt;br /&gt;
               time.sleep(params[&#039;sleep_time&#039;])&lt;br /&gt;
    message=&amp;quot;выполнено&amp;quot;&lt;br /&gt;
    connectors.sendMessage(channel=channel,session=session_id,answers=[{&#039;messages&#039;:[message]}],files={&#039;document&#039;:(filetame, open(file_path,&#039;rb&#039;))})&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;def handler(data={}, session_id=None, channel=&#039;default&#039;):&lt;br /&gt;
               params={} #чтото передадим в функцию&lt;br /&gt;
    params[&#039;sleep_time&#039;]= 100&lt;br /&gt;
    Thread(target=do_sleep,name=&#039;do_sleep&#039;+str(uuid.uuid4()),args=(params, session_id, channel) ).start()&lt;br /&gt;
    return { &#039;text&#039;: &amp;quot;запустил задание, ждем результат&amp;quot;, &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Отложенные задания&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для выполнения отложенных заданий необходимо &lt;br /&gt;
&lt;br /&gt;
#получить ссылку на базу данных текущего робота&lt;br /&gt;
#в таблицу &amp;quot;crons&amp;quot; внести внести время и python код который должен выполниться в указанное время.&lt;br /&gt;
&lt;br /&gt;
 Пример отложенного сообщения в телеграм:&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;# Формируем задачу в крон&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    if error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        return { &#039;text&#039;: &#039;А я тебе ошибку базы данных привез: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    dt = int(datetime.strptime(date[&#039;date&#039;]+&#039; &#039;+date[&#039;time&#039;],&#039;%Y-%m-%d %H:%M&#039;).timestamp())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    # А вот тут создадим код для выполнения задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    url = f&#039;&amp;lt;nowiki&amp;gt;https://api.telegram.org/bot{token}/sendMessage&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = json.dumps({&#039;chat_id&#039;: chat_id, &#039;text&#039;: message})&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = base64.b64encode(data.encode(&amp;quot;utf-8&amp;quot;)).decode(&amp;quot;utf-8&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    code = &amp;quot;&amp;quot;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        import requests, json, base64&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        try:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=\&amp;quot;{1}\&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=base64.b64decode(data.encode(&#039;utf-8&#039;)).decode(&#039;utf-8&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            requests.post(\&amp;quot;{0}\&amp;quot;, data=json.loads(data), timeout = (5, 10))&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        except Exception as error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            logging.error(traceback.format_exc())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;                   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    &amp;quot;&amp;quot;&amp;quot;.format(url,data).replace(&amp;quot;        &amp;quot;,&amp;quot;&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, result = db.create(table=&#039;crons&#039;,data={&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;id&#039;: str(uuid.uuid4()),&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;name&#039;:&#039;Задача-напоминание для &#039;+username,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;datetime&#039;: dt,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;code&#039;: code })&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Пользовательские таблицы базы данных&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
В составе большинства продуктов используется служебная файловая [https://wiki.connect2ai.net/index.php/UPS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D1%8F%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 база данных]. В SES возможно использование служебной базы в скриптах интеграции. Для этого нужно:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Импортировать функцию&#039;&#039;&#039; получения объекта БД (&amp;lt;code&amp;gt;from app.db import get_db&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Получить объект БД&#039;&#039;&#039;&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;if error: &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;return { &#039;text&#039;: &#039;ошибка базы данных: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Объявить структуру&#039;&#039;&#039; пользовательской таблицы, создав запись в таблице структур (если еще не объявляли)&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;search_data={&lt;br /&gt;
                           &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    try:&lt;br /&gt;
        error, search_result = db.select(&#039;structures&#039;,data=search_data,sort=None,md5clean=True)&lt;br /&gt;
        if not search_result:&lt;br /&gt;
            struct_data = {&lt;br /&gt;
                        &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;fields&amp;quot;: {&lt;br /&gt;
                        &amp;quot;string&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
                        &amp;quot;integer&amp;quot;:0,&lt;br /&gt;
                        &amp;quot;float&amp;quot;:0.0,&lt;br /&gt;
                        &amp;quot;именованный массив&amp;quot;:{},&lt;br /&gt;
                        &amp;quot;неименованный массив&amp;quot;:[],&lt;br /&gt;
                        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
            error, str_id = db.create(table=&#039;structures&#039;, data=struct_data)&amp;lt;/small&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Сделать запись&#039;&#039;&#039; в базе&amp;lt;br /&amp;gt;     &amp;lt;small&amp;gt;new_data={&lt;br /&gt;
                          &amp;quot;string&amp;quot;:&amp;quot;пример строки\n&amp;quot;,&lt;br /&gt;
        &amp;quot;integer&amp;quot;:100500,&lt;br /&gt;
        &amp;quot;float&amp;quot;:20.0004,&lt;br /&gt;
        &amp;quot;именованный массив&amp;quot;:{&#039;ключ1&#039;:&#039;значение1&#039;},&lt;br /&gt;
        &amp;quot;неименованный массив&amp;quot;:[&#039;запись1&#039;,&#039;запись2&#039;,],&lt;br /&gt;
        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;error, id = db.create(table=&amp;quot;new_table_name&amp;quot;, data=new_data)&lt;br /&gt;
&lt;br /&gt;
if error:&lt;br /&gt;
    return { &#039;text&#039;: &#039;ошибка создания: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
Если при создании структуры не указывать в структуре id то база сама создаст id, вернет его в ответ. В дальнейшем тогда имя новой таблицы будет в id и запись/поиск в базе только по нему. Пример поиска в &#039;structures&#039; подходит для поиска в пользовательской таблице.&lt;br /&gt;
&lt;br /&gt;
Создание, редактирование и просмотр пользовательской таблицы в базе возможно и с интерфейса UPS.&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Описание методов API&#039;&#039;&#039;=====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SES. По умолчанию используется порт 6189/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.&lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6190 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Методы API&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться r продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/log&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение лога всех сессий начиная с date. &amp;lt;small&amp;gt;В логе &#039;&#039;&#039;error,&#039;&#039;&#039; &#039;&#039;&#039;message&#039;&#039;&#039; и массив сессий  &#039;&#039;&#039;log&#039;&#039;&#039; (log содержит информацию о каждой сессии и запросы с ответами)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;date&#039;&#039;&#039; - начальная дата в формате %Y-%m-%d&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;log&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;,.....&amp;quot;,&amp;lt;/small&amp;gt;      &amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;robot&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;channel&amp;quot;: &amp;quot;......&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;closed&amp;quot;: true&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;/false&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;          &amp;lt;small&amp;gt;&amp;quot;endpoint&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;.....&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answered&amp;quot;: true/false,      &amp;quot;models&amp;quot;: [....],       &amp;quot;variables&amp;quot;: {},     &amp;quot;current&amp;quot;: {.......},&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;request&amp;quot;: {.......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;reply&amp;quot;: { .....&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},  &amp;quot;robot_id&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointName&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointType&amp;quot;:   &amp;quot;&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; - id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает конфигурацию виджета скрипту виджета&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; - ключ виджета&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе содержимое настроек web канала из конфигурационного файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; - имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант - становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка робота в архив.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;name&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;weekdays&amp;quot;: [ ..... ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;dates&amp;quot;: [  .....  ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip -&#039;&#039;&#039; файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/data&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,      &amp;quot;model&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;param&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,      &amp;quot;weight&amp;quot;: int,    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;getOnlyAsNearest&amp;quot;: true/false,   &amp;quot;injectToMessage&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;longWaiting&amp;quot;: true/false,   &amp;quot;dataWaiting&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;actions&amp;quot;: {}, &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  { &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;} ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/endpoint&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/archive&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/script&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/files&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/testapi&#039;&#039;&#039; &#039;&#039;[https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#:~:text=%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0-,%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8,-%5B%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%7C для отладки скриптов интеграции]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка эмуляторов сервисов интеграции&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;service1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;service2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;serviceN&amp;quot;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/userdata&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление записи из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Постобработка методов api&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для метода &#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039; можно изменить формат данных ответа.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо подготовить скрипт на python в папке /opt/ses/handlers/api/ask/ . Скрипт должен содержать функцию handler(reply={}), Функция должна вернуть переформатированный ответ. Чтобы воспользоваться скриптом необходимо его имя без разрешения указать в поле &amp;quot;&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot; при запросе метода.&lt;br /&gt;
&lt;br /&gt;
Аналогично и для метода ask websocket протокола - файл положить в /opt/ses/handlers/websockets/ask/ . Далее в любом запросе указать обработчик &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{тут всё, что ты и так отправляешь, &#039;handlers&#039;: { &#039;ask&#039;: &#039;__telegram&#039; }} }&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; . начиная с этого запроса обработчик будет действовать в течение сессии пока не отправишь &#039;handlers&#039;: {} . Для других полей запросов в канале websocket аналогично.&lt;br /&gt;
&lt;br /&gt;
В составе поставки ses есть файл примера &amp;lt;code&amp;gt;__telegram.py&amp;lt;/code&amp;gt; (префикс 2 подчеркивания - такой файл будет переписан при обновлении, любой другой, останется после обновления)&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Websockets сервер&#039;&#039;&#039; =====&lt;br /&gt;
Работа с программным продуктом возможна с использованием встроенного websockets сервера. Подключение производится по порту 6191, без SSL. При необходимости работать по SSL перед SES ставится nginx в режиме прокси, и SSL поднимается на nginx. Подробнее см. документацию по nginx.&lt;br /&gt;
&lt;br /&gt;
В таблице ниже приведены форматы сообщений для работы с сервером. В каждом сообщении (за исключением бинарных), присутствует переменная path (формат сообщений - JSON), которая определяет алгоритм обработки сообщения. Подключение к серверу возможно в следующих вариантах:&lt;br /&gt;
&lt;br /&gt;
# ws://адрес:6191&lt;br /&gt;
# ws://адрес:6191/session[/chunk]&lt;br /&gt;
&lt;br /&gt;
Первый вариант подходит только для текстовых сообщений, в данном случае передача переменной session (uuid текущей сессии) должна производиться в теле сообщения. &lt;br /&gt;
&lt;br /&gt;
Второй вариант подходит и для текстового и для голосового общения с роботом. В данном случае session передается в пути подключения к websockets-серверу. Для каждой новой сессии нужно открывать новое соединение, chunk в пути подключения нужен в том случае, если передаются не готовые части аудио, предварительно сформированные, а сплошной поток аудио, кусками по 20 мс.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Входящие сообщения&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;path:ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вопрос роботу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;, &#039;&#039;# Необязательный параметр, если не будет отправлен, будет создана новая сессия и в ответе придет сгенерированный session&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;link&amp;quot;: 1, &#039;&#039;# Необязательный параметр, отдает ссылки на аудио, если 1.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;format&amp;quot;: &amp;quot;wav&amp;quot;, &#039;&#039;# Необязательный параметр, формат возвращаемого аудио, если channel=voice&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;document&amp;quot;: {&amp;quot;name&amp;quot;:&amp;quot;название&amp;quot;,&amp;quot;base64&amp;quot;:&amp;quot;тело документа в base64&amp;quot;}, &#039;&#039;# необязательный параметр&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;handlers&amp;quot;: {&amp;quot;ask&amp;quot;: &amp;quot;название хэндлера&amp;quot;},  &#039;&#039;# Необязательный параметр, см. [[SES. Руководство администратора|описание обработчиков]]&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;text&amp;quot;: &amp;quot;привет&amp;quot;,       &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;или&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;audio&amp;quot;: &amp;quot;base64 строка&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |Для текстовых ответов (канал не voice)&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;question&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для голосовых ответов, канал voice, дополнительно идет отправка N сообщений с аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;audio&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;ссылка или base64 закодированное аудио&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;listening | asking&amp;quot; &#039;&#039;# Требование к клиенту выставить статус.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:session&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Статус сессии&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;started&amp;quot;: &amp;quot;2025-07-08 07:39:24&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modified&amp;quot;: &amp;quot;2025-07-08 07:39:26&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;connector&amp;quot;: &amp;quot;web&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;unknown&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;category&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;entry&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;nearest&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;lastreply&amp;quot;: &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;smc:Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:Серверы&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:fio&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;scripts&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;request&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:24.706771&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;message&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;data&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                            &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:26.269201&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answered&amp;quot;: false&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;events&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;not found&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;no data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;silence&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Установка статуса клиентской части. &amp;lt;small&amp;gt;Используется в голосовом канале, для установки текущего статуса клиентской части. В случае использования режима активного слушания в момент речи робота, необходимо выставлять на клиентской части статус asking.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;status&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:interrupted&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Уведомление о прерывании текущего сообщения робота пользователем.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;interrupted&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:hangup&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Завершение сессии с роботом.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;hangup&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Со стороны сервера возможны самостоятельные сообщения типов ask и hangup в формате, аналогичном приведенному в таблице выше.&lt;br /&gt;
&lt;br /&gt;
Работа с сервером возможна с поточной передачей аудио в сторону сервера. В данном режиме ответы от сервера будут со ссылками на аудио, которое должно быть воспроизведено на стороне клиента (см. таблицу выше). Формат принимаемого потока аудио: pcm, 8кГц, 16 бит, размер куска аудио - 20 мс.&lt;br /&gt;
&lt;br /&gt;
Аудио отправляется бинарным сообщением по ссылке ws://адрес/код сессии/chunk.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2783</id>
		<title>SES. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2783"/>
		<updated>2025-07-08T09:18:41Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: /* Websockets сервер */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для создания сценарных машин и обеспечения их работы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script engine service (SES) - сервис обеспечения работы и создания сценарных машин. Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SES в реальном времени&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Скрипты интеграции&#039;&#039;&#039; =====&lt;br /&gt;
Для взаимодействия со сторонними сервисами используются скрипты интеграции на языке python. Скрипт интеграции должен содержать функцию &#039;&#039;&#039;handler&#039;&#039;&#039;(data={}, session_id=None, channel=&#039;default&#039;). &lt;br /&gt;
&lt;br /&gt;
Пример данных на входе можно посмотреть в методе ses GET/ses/session/{robot_id}/{session_id}&lt;br /&gt;
&lt;br /&gt;
Функция должна исходя из полученных данных запросить ответ у стороннего сервиса. Запрос необходимо выполнить в блоке try/except. Скрипт не должен выдавать ошибку в основное приложение, все исключения должны быть обработаны внутри скрипта. &lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiRequest&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для отправки запроса рекомендуется использовать функцию apiRequest.&#039;&#039;&#039;&#039;&#039; Функция сделает все необходимые записи в лог интеграции. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from  app.tools import apiRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;status, reply = apiRequest(name=&amp;quot;наименование скрипта&amp;quot;,method=&#039;get&#039;,sessiondata=data,url=url,timeout=(1,10))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;status, reply&#039;&#039;&#039; - http код ответа (например 200) и ответ без изменений и сериализации.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; = название вызываемого метода, для отчетности&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sessiondata&#039;&#039;&#039; - это data в handler, которая туда прилетает&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;method&#039;&#039;&#039; - метод запроса-ответа&lt;br /&gt;
&lt;br /&gt;
после этих параметров в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; отправить все нужные параметры, как при вызове requests, они будут переданы один к одному.&lt;br /&gt;
&lt;br /&gt;
Из функции &#039;&#039;&#039;handler&#039;&#039;&#039; можно передать или изменить переменную (в рамках текущей сессии): &amp;lt;code&amp;gt;data[&#039;variables&#039;]={&#039;new_var&#039;: &#039;новое_значение&#039;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &#039;&#039;&#039;handler&#039;&#039;&#039; должна возвращать ответ в виде &amp;lt;code&amp;gt;return { &amp;quot;text&amp;quot;: &amp;quot;Текст ответа.&amp;quot;, &#039;answered&#039;: True}, {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039; - текст ответа&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;answered&#039;&#039;&#039; - получен ли ответ (True или False)&lt;br /&gt;
Если в скрипте интеграции не используются запросы к api стороннего сервиса через http, необходимо предусмотреть запись в лог (запись в лог встроена в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; и при ее использовании отдельно писать в лог не надо). Для этого необходимо импортировать библиотеку:&lt;br /&gt;
&lt;br /&gt;
from  app.tools import apiLog&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiLog&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Если в скрипте интеграции не используются запросы к api, по окончании работы функции handler вызвать функцию записи лога:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;apiLog&#039;&#039;&#039;(data=data,name=&amp;quot;&amp;quot;,url=&amp;quot;&amp;quot;,request={},reply_code=200,reply=None,request_datetime=None,reply_datetime=None)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - тот же массив который был на входе&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - наименование или короткое описание скрипта&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - адрес запроса к стороннему сервису (если есть)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request&#039;&#039;&#039; - текст запроса &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_code&#039;&#039;&#039; - код ответа (стандартный код http)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply&#039;&#039;&#039; - необработанный ответ стороннего сервиса&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request_datetime&#039;&#039;&#039; - время перед запросом, без учета таймзоны, получить лучше так request_datetime=datetime.now(timezone.utc)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_datetime&#039;&#039;&#039; - время сразу по получению ответа, также без учета таймзоны.&amp;lt;br /&amp;gt; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Внимание - не используйте &#039;&#039;&#039;apiRequest или apiLog&#039;&#039;&#039; для данных содержащих пароли в открытом виде, чтобы они не попали в лог&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция getData&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для упрощения поиска информации можно использовать функцию getData&#039;&#039;&#039;&#039;&#039; (&#039;&#039;from app.tools import getData&#039;&#039;), нужна для извлечения конкретных данных из сессии, можно отправить либо всю переменную сессии, либо &#039;data&#039; из сессии. Пример поиска цифрового кода заявления, выявленного моделью see &#039;number&#039;, поиск только в последнем сообщении диалога:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;for j in getData(data=data,filter={&#039;type&#039;:&#039;see&#039;,&#039;model&#039;:&#039;number&#039;},depth=1):&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;kod_zayavl=str(int(j[&#039;param&#039;]))&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;break&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры функции&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - или &#039;data&#039; из сессии или переменная сессии&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; - словарь ключевых полей и их значений - поиск сработает если все данные совпадут&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;depth&#039;&#039;&#039; - отвечает за глубину поиска в истории, по умолчанию 1, т.е. искать только в последнем сообщении. Возвращает список всех найденных данных, добавляя в каждый элемент depth, т.е. где именно он нашелся&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======  &#039;&#039;&#039;&#039;&#039;Выполнение длительных процедур&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
Код, который будет выполняться дольше нескольких секунд лучше запускать отдельным потоком. В этом случает есть возможность сообщить результат  в канал даже после завершения основного диалога. Пример ожидания и отправки файла после паузы:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;from app.interactions import connectors&lt;br /&gt;
&lt;br /&gt;
def do_sleep(params, session_id, channel):&lt;br /&gt;
              time.sleep(params[&#039;sleep_time&#039;])&lt;br /&gt;
    message=&amp;quot;выполнено&amp;quot;&lt;br /&gt;
    connectors.sendMessage(channel=channel,session=session_id,answers=[{&#039;messages&#039;:[message]}],files={&#039;document&#039;:(filetame, open(file_path,&#039;rb&#039;))})&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;def handler(data={}, session_id=None, channel=&#039;default&#039;):&lt;br /&gt;
              params={} #чтото передадим в функцию&lt;br /&gt;
    params[&#039;sleep_time&#039;]= 100&lt;br /&gt;
    Thread(target=do_sleep,name=&#039;do_sleep&#039;+str(uuid.uuid4()),args=(params, session_id, channel) ).start()&lt;br /&gt;
    return { &#039;text&#039;: &amp;quot;запустил задание, ждем результат&amp;quot;, &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Отложенные задания&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для выполнения отложенных заданий необходимо &lt;br /&gt;
&lt;br /&gt;
#получить ссылку на базу данных текущего робота&lt;br /&gt;
#в таблицу &amp;quot;crons&amp;quot; внести внести время и python код который должен выполниться в указанное время.&lt;br /&gt;
&lt;br /&gt;
 Пример отложенного сообщения в телеграм:&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;# Формируем задачу в крон&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    if error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        return { &#039;text&#039;: &#039;А я тебе ошибку базы данных привез: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    dt = int(datetime.strptime(date[&#039;date&#039;]+&#039; &#039;+date[&#039;time&#039;],&#039;%Y-%m-%d %H:%M&#039;).timestamp())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    # А вот тут создадим код для выполнения задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    url = f&#039;&amp;lt;nowiki&amp;gt;https://api.telegram.org/bot{token}/sendMessage&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = json.dumps({&#039;chat_id&#039;: chat_id, &#039;text&#039;: message})&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = base64.b64encode(data.encode(&amp;quot;utf-8&amp;quot;)).decode(&amp;quot;utf-8&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    code = &amp;quot;&amp;quot;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        import requests, json, base64&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        try:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=\&amp;quot;{1}\&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=base64.b64decode(data.encode(&#039;utf-8&#039;)).decode(&#039;utf-8&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            requests.post(\&amp;quot;{0}\&amp;quot;, data=json.loads(data), timeout = (5, 10))&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        except Exception as error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            logging.error(traceback.format_exc())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;                   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    &amp;quot;&amp;quot;&amp;quot;.format(url,data).replace(&amp;quot;        &amp;quot;,&amp;quot;&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, result = db.create(table=&#039;crons&#039;,data={&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;id&#039;: str(uuid.uuid4()),&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;name&#039;:&#039;Задача-напоминание для &#039;+username,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;datetime&#039;: dt,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;code&#039;: code })&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Пользовательские таблицы базы данных&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
В составе большинства продуктов используется служебная файловая [https://wiki.connect2ai.net/index.php/UPS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D1%8F%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 база данных]. В SES возможно использование служебной базы в скриптах интеграции. Для этого нужно:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Импортировать функцию&#039;&#039;&#039; получения объекта БД (&amp;lt;code&amp;gt;from app.db import get_db&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Получить объект БД&#039;&#039;&#039;&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;if error: &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;return { &#039;text&#039;: &#039;ошибка базы данных: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Объявить структуру&#039;&#039;&#039; пользовательской таблицы, создав запись в таблице структур (если еще не объявляли)&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;search_data={&lt;br /&gt;
                          &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    try:&lt;br /&gt;
        error, search_result = db.select(&#039;structures&#039;,data=search_data,sort=None,md5clean=True)&lt;br /&gt;
        if not search_result:&lt;br /&gt;
            struct_data = {&lt;br /&gt;
                        &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;fields&amp;quot;: {&lt;br /&gt;
                        &amp;quot;string&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
                        &amp;quot;integer&amp;quot;:0,&lt;br /&gt;
                        &amp;quot;float&amp;quot;:0.0,&lt;br /&gt;
                        &amp;quot;именованный массив&amp;quot;:{},&lt;br /&gt;
                        &amp;quot;неименованный массив&amp;quot;:[],&lt;br /&gt;
                        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
            error, str_id = db.create(table=&#039;structures&#039;, data=struct_data)&amp;lt;/small&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Сделать запись&#039;&#039;&#039; в базе&amp;lt;br /&amp;gt;     &amp;lt;small&amp;gt;new_data={&lt;br /&gt;
                         &amp;quot;string&amp;quot;:&amp;quot;пример строки\n&amp;quot;,&lt;br /&gt;
        &amp;quot;integer&amp;quot;:100500,&lt;br /&gt;
        &amp;quot;float&amp;quot;:20.0004,&lt;br /&gt;
        &amp;quot;именованный массив&amp;quot;:{&#039;ключ1&#039;:&#039;значение1&#039;},&lt;br /&gt;
        &amp;quot;неименованный массив&amp;quot;:[&#039;запись1&#039;,&#039;запись2&#039;,],&lt;br /&gt;
        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;error, id = db.create(table=&amp;quot;new_table_name&amp;quot;, data=new_data)&lt;br /&gt;
&lt;br /&gt;
if error:&lt;br /&gt;
    return { &#039;text&#039;: &#039;ошибка создания: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
Если при создании структуры не указывать в структуре id то база сама создаст id, вернет его в ответ. В дальнейшем тогда имя новой таблицы будет в id и запись/поиск в базе только по нему. Пример поиска в &#039;structures&#039; подходит для поиска в пользовательской таблице.&lt;br /&gt;
&lt;br /&gt;
Создание, редактирование и просмотр пользовательской таблицы в базе возможно и с интерфейса UPS.&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Описание методов API&#039;&#039;&#039;=====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SES. По умолчанию используется порт 6189/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.&lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6190 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Методы API&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться r продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/log&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение лога всех сессий начиная с date. &amp;lt;small&amp;gt;В логе &#039;&#039;&#039;error,&#039;&#039;&#039; &#039;&#039;&#039;message&#039;&#039;&#039; и массив сессий  &#039;&#039;&#039;log&#039;&#039;&#039; (log содержит информацию о каждой сессии и запросы с ответами)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;date&#039;&#039;&#039; - начальная дата в формате %Y-%m-%d&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;log&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;,.....&amp;quot;,&amp;lt;/small&amp;gt;      &amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;robot&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;channel&amp;quot;: &amp;quot;......&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;closed&amp;quot;: true&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;/false&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;          &amp;lt;small&amp;gt;&amp;quot;endpoint&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;.....&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answered&amp;quot;: true/false,      &amp;quot;models&amp;quot;: [....],       &amp;quot;variables&amp;quot;: {},     &amp;quot;current&amp;quot;: {.......},&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;request&amp;quot;: {.......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;reply&amp;quot;: { .....&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},  &amp;quot;robot_id&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointName&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointType&amp;quot;:   &amp;quot;&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; - id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает конфигурацию виджета скрипту виджета&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; - ключ виджета&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе содержимое настроек web канала из конфигурационного файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; - имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант - становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка робота в архив.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;name&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;weekdays&amp;quot;: [ ..... ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;dates&amp;quot;: [  .....  ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip -&#039;&#039;&#039; файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/data&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,      &amp;quot;model&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;param&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,      &amp;quot;weight&amp;quot;: int,    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;getOnlyAsNearest&amp;quot;: true/false,   &amp;quot;injectToMessage&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;longWaiting&amp;quot;: true/false,   &amp;quot;dataWaiting&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;actions&amp;quot;: {}, &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  { &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;} ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/endpoint&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/archive&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/script&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/files&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/testapi&#039;&#039;&#039; &#039;&#039;[https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#:~:text=%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0-,%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8,-%5B%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%7C для отладки скриптов интеграции]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка эмуляторов сервисов интеграции&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;service1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;service2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;serviceN&amp;quot;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/userdata&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление записи из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Постобработка методов api&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для метода &#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039; можно изменить формат данных ответа.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо подготовить скрипт на python в папке /opt/ses/handlers/api/ask/ . Скрипт должен содержать функцию handler(reply={}), Функция должна вернуть переформатированный ответ. Чтобы воспользоваться скриптом необходимо его имя без разрешения указать в поле &amp;quot;&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot; при запросе метода.&lt;br /&gt;
&lt;br /&gt;
Аналогично и для метода ask websocket протокола - файл положить в /opt/ses/handlers/websockets/ask/ . Далее в любом запросе указать обработчик &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{тут всё, что ты и так отправляешь, &#039;handlers&#039;: { &#039;ask&#039;: &#039;__telegram&#039; }} }&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; . начиная с этого запроса обработчик будет действовать в течение сессии пока не отправишь &#039;handlers&#039;: {} . Для других полей запросов в канале websocket аналогично.&lt;br /&gt;
&lt;br /&gt;
В составе поставки ses есть файл примера &amp;lt;code&amp;gt;__telegram.py&amp;lt;/code&amp;gt; (префикс 2 подчеркивания - такой файл будет переписан при обновлении, любой другой, останется после обновления)&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Websockets сервер&#039;&#039;&#039; =====&lt;br /&gt;
Работа с программным продуктом возможна с использованием встроенного websockets сервера. Подключение производится по порту 6191, без SSL. При необходимости работать по SSL перед SES ставится nginx в режиме прокси, и SSL поднимается на nginx. Подробнее см. документацию по nginx.&lt;br /&gt;
&lt;br /&gt;
В таблице ниже приведены форматы сообщений для работы с сервером. В каждом сообщении (за исключением бинарных), присутствует переменная path (формат сообщений - JSON), которая определяет алгоритм обработки сообщения. Подключение к серверу возможно в следующих вариантах:&lt;br /&gt;
&lt;br /&gt;
# ws://адрес:6191&lt;br /&gt;
# ws://адрес:6191/session[/chunk]&lt;br /&gt;
&lt;br /&gt;
Первый вариант подходит только для текстовых сообщений, в данном случае передача переменной session (uuid текущей сессии) должна производиться в теле сообщения. &lt;br /&gt;
&lt;br /&gt;
Второй вариант подходит и для текстового и для голосового общения с роботом. В данном случае session передается в пути подключения к websockets-серверу. Для каждой новой сессии нужно открывать новое соединение, chunk в пути подключения нужен в том случае, если передаются не готовые части аудио, предварительно сформированные, а сплошной поток аудио, кусками по 20 мс.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Входящие сообщения&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;path:ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вопрос роботу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;link&amp;quot;: 1, &#039;&#039;# Необязательный параметр, отдает ссылки на аудио, если 1.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;format&amp;quot;: &amp;quot;wav&amp;quot;, &#039;&#039;# Необязательный параметр, формат возвращаемого аудио, если channel=voice&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;document&amp;quot;: {&amp;quot;name&amp;quot;:&amp;quot;название&amp;quot;,&amp;quot;base64&amp;quot;:&amp;quot;тело документа в base64&amp;quot;}, &#039;&#039;# необязательный параметр&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;handlers&amp;quot;: {&amp;quot;ask&amp;quot;: &amp;quot;название хэндлера&amp;quot;},  &#039;&#039;# Необязательный параметр, см. [[SES. Руководство администратора|описание обработчиков]]&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;text&amp;quot;: &amp;quot;привет&amp;quot;,       &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;или&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;audio&amp;quot;: &amp;quot;base64 строка&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |Для текстовых ответов (канал не voice)&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;question&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для голосовых ответов, канал voice, дополнительно идет отправка N сообщений с аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;audio&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;ссылка или base64 закодированное аудио&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;listening | asking&amp;quot; &#039;&#039;# Требование к клиенту выставить статус.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:session&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Статус сессии&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;started&amp;quot;: &amp;quot;2025-07-08 07:39:24&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modified&amp;quot;: &amp;quot;2025-07-08 07:39:26&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;connector&amp;quot;: &amp;quot;web&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;unknown&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;category&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;entry&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;nearest&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;lastreply&amp;quot;: &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;smc:Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:Серверы&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:fio&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;scripts&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;request&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:24.706771&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;message&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;data&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                            &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:26.269201&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answered&amp;quot;: false&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;events&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;not found&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;no data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;silence&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Установка статуса клиентской части. &amp;lt;small&amp;gt;Используется в голосовом канале, для установки текущего статуса клиентской части. В случае использования режима активного слушания в момент речи робота, необходимо выставлять на клиентской части статус asking.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;status&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:interrupted&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Уведомление о прерывании текущего сообщения робота пользователем.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;interrupted&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:hangup&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Завершение сессии с роботом.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;hangup&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;user | robot&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Со стороны сервера возможны самостоятельные сообщения типов ask и hangup в формате, аналогичном приведенному в таблице выше.&lt;br /&gt;
&lt;br /&gt;
Работа с сервером возможна с поточной передачей аудио в сторону сервера. В данном режиме ответы от сервера будут со ссылками на аудио, которое должно быть воспроизведено на стороне клиента (см. таблицу выше). Формат принимаемого потока аудио: pcm, 8кГц, 16 бит, размер куска аудио - 20 мс.&lt;br /&gt;
&lt;br /&gt;
Аудио отправляется бинарным сообщением по ссылке ws://адрес/код сессии/chunk.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2782</id>
		<title>SES. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2782"/>
		<updated>2025-07-08T07:44:58Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: /* Описание методов API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для создания сценарных машин и обеспечения их работы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script engine service (SES) - сервис обеспечения работы и создания сценарных машин. Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SES в реальном времени&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Скрипты интеграции&#039;&#039;&#039; =====&lt;br /&gt;
Для взаимодействия со сторонними сервисами используются скрипты интеграции на языке python. Скрипт интеграции должен содержать функцию &#039;&#039;&#039;handler&#039;&#039;&#039;(data={}, session_id=None, channel=&#039;default&#039;). &lt;br /&gt;
&lt;br /&gt;
Пример данных на входе можно посмотреть в методе ses GET/ses/session/{robot_id}/{session_id}&lt;br /&gt;
&lt;br /&gt;
Функция должна исходя из полученных данных запросить ответ у стороннего сервиса. Запрос необходимо выполнить в блоке try/except. Скрипт не должен выдавать ошибку в основное приложение, все исключения должны быть обработаны внутри скрипта. &lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiRequest&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для отправки запроса рекомендуется использовать функцию apiRequest.&#039;&#039;&#039;&#039;&#039; Функция сделает все необходимые записи в лог интеграции. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from  app.tools import apiRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;status, reply = apiRequest(name=&amp;quot;наименование скрипта&amp;quot;,method=&#039;get&#039;,sessiondata=data,url=url,timeout=(1,10))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;status, reply&#039;&#039;&#039; - http код ответа (например 200) и ответ без изменений и сериализации.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; = название вызываемого метода, для отчетности&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sessiondata&#039;&#039;&#039; - это data в handler, которая туда прилетает&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;method&#039;&#039;&#039; - метод запроса-ответа&lt;br /&gt;
&lt;br /&gt;
после этих параметров в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; отправить все нужные параметры, как при вызове requests, они будут переданы один к одному.&lt;br /&gt;
&lt;br /&gt;
Из функции &#039;&#039;&#039;handler&#039;&#039;&#039; можно передать или изменить переменную (в рамках текущей сессии): &amp;lt;code&amp;gt;data[&#039;variables&#039;]={&#039;new_var&#039;: &#039;новое_значение&#039;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция &#039;&#039;&#039;handler&#039;&#039;&#039; должна возвращать ответ в виде &amp;lt;code&amp;gt;return { &amp;quot;text&amp;quot;: &amp;quot;Текст ответа.&amp;quot;, &#039;answered&#039;: True}, {}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039; - текст ответа&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;answered&#039;&#039;&#039; - получен ли ответ (True или False)&lt;br /&gt;
Если в скрипте интеграции не используются запросы к api стороннего сервиса через http, необходимо предусмотреть запись в лог (запись в лог встроена в функцию &#039;&#039;&#039;apiRequest&#039;&#039;&#039; и при ее использовании отдельно писать в лог не надо). Для этого необходимо импортировать библиотеку:&lt;br /&gt;
&lt;br /&gt;
from  app.tools import apiLog&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция apiLog&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Если в скрипте интеграции не используются запросы к api, по окончании работы функции handler вызвать функцию записи лога:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;apiLog&#039;&#039;&#039;(data=data,name=&amp;quot;&amp;quot;,url=&amp;quot;&amp;quot;,request={},reply_code=200,reply=None,request_datetime=None,reply_datetime=None)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - тот же массив который был на входе&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - наименование или короткое описание скрипта&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;url&#039;&#039;&#039; - адрес запроса к стороннему сервису (если есть)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request&#039;&#039;&#039; - текст запроса &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_code&#039;&#039;&#039; - код ответа (стандартный код http)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply&#039;&#039;&#039; - необработанный ответ стороннего сервиса&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;request_datetime&#039;&#039;&#039; - время перед запросом, без учета таймзоны, получить лучше так request_datetime=datetime.now(timezone.utc)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;reply_datetime&#039;&#039;&#039; - время сразу по получению ответа, также без учета таймзоны.&amp;lt;br /&amp;gt; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Внимание - не используйте &#039;&#039;&#039;apiRequest или apiLog&#039;&#039;&#039; для данных содержащих пароли в открытом виде, чтобы они не попали в лог&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;&#039;&#039;Функция getData&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Для упрощения поиска информации можно использовать функцию getData&#039;&#039;&#039;&#039;&#039; (&#039;&#039;from app.tools import getData&#039;&#039;), нужна для извлечения конкретных данных из сессии, можно отправить либо всю переменную сессии, либо &#039;data&#039; из сессии. Пример поиска цифрового кода заявления, выявленного моделью see &#039;number&#039;, поиск только в последнем сообщении диалога:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;for j in getData(data=data,filter={&#039;type&#039;:&#039;see&#039;,&#039;model&#039;:&#039;number&#039;},depth=1):&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;kod_zayavl=str(int(j[&#039;param&#039;]))&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;break&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры функции&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;data&#039;&#039;&#039; - или &#039;data&#039; из сессии или переменная сессии&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; - словарь ключевых полей и их значений - поиск сработает если все данные совпадут&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;depth&#039;&#039;&#039; - отвечает за глубину поиска в истории, по умолчанию 1, т.е. искать только в последнем сообщении. Возвращает список всех найденных данных, добавляя в каждый элемент depth, т.е. где именно он нашелся&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======  &#039;&#039;&#039;&#039;&#039;Выполнение длительных процедур&#039;&#039;&#039;&#039;&#039; ======&lt;br /&gt;
Код, который будет выполняться дольше нескольких секунд лучше запускать отдельным потоком. В этом случает есть возможность сообщить результат  в канал даже после завершения основного диалога. Пример ожидания и отправки файла после паузы:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;from app.interactions import connectors&lt;br /&gt;
&lt;br /&gt;
def do_sleep(params, session_id, channel):&lt;br /&gt;
             time.sleep(params[&#039;sleep_time&#039;])&lt;br /&gt;
    message=&amp;quot;выполнено&amp;quot;&lt;br /&gt;
    connectors.sendMessage(channel=channel,session=session_id,answers=[{&#039;messages&#039;:[message]}],files={&#039;document&#039;:(filetame, open(file_path,&#039;rb&#039;))})&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;def handler(data={}, session_id=None, channel=&#039;default&#039;):&lt;br /&gt;
             params={} #чтото передадим в функцию&lt;br /&gt;
    params[&#039;sleep_time&#039;]= 100&lt;br /&gt;
    Thread(target=do_sleep,name=&#039;do_sleep&#039;+str(uuid.uuid4()),args=(params, session_id, channel) ).start()&lt;br /&gt;
    return { &#039;text&#039;: &amp;quot;запустил задание, ждем результат&amp;quot;, &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Отложенные задания&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для выполнения отложенных заданий необходимо &lt;br /&gt;
&lt;br /&gt;
#получить ссылку на базу данных текущего робота&lt;br /&gt;
#в таблицу &amp;quot;crons&amp;quot; внести внести время и python код который должен выполниться в указанное время.&lt;br /&gt;
&lt;br /&gt;
 Пример отложенного сообщения в телеграм:&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;# Формируем задачу в крон&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    if error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        return { &#039;text&#039;: &#039;А я тебе ошибку базы данных привез: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    dt = int(datetime.strptime(date[&#039;date&#039;]+&#039; &#039;+date[&#039;time&#039;],&#039;%Y-%m-%d %H:%M&#039;).timestamp())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    # А вот тут создадим код для выполнения задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    url = f&#039;&amp;lt;nowiki&amp;gt;https://api.telegram.org/bot{token}/sendMessage&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = json.dumps({&#039;chat_id&#039;: chat_id, &#039;text&#039;: message})&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    data = base64.b64encode(data.encode(&amp;quot;utf-8&amp;quot;)).decode(&amp;quot;utf-8&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    code = &amp;quot;&amp;quot;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        import requests, json, base64&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        try:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=\&amp;quot;{1}\&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            data=base64.b64decode(data.encode(&#039;utf-8&#039;)).decode(&#039;utf-8&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            requests.post(\&amp;quot;{0}\&amp;quot;, data=json.loads(data), timeout = (5, 10))&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        except Exception as error:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;            logging.error(traceback.format_exc())&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;                   &amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    &amp;quot;&amp;quot;&amp;quot;.format(url,data).replace(&amp;quot;        &amp;quot;,&amp;quot;&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;    error, result = db.create(table=&#039;crons&#039;,data={&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;id&#039;: str(uuid.uuid4()),&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;name&#039;:&#039;Задача-напоминание для &#039;+username,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;datetime&#039;: dt,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;        &#039;code&#039;: code })&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Пользовательские таблицы базы данных&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
В составе большинства продуктов используется служебная файловая [https://wiki.connect2ai.net/index.php/UPS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D1%8F%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 база данных]. В SES возможно использование служебной базы в скриптах интеграции. Для этого нужно:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Импортировать функцию&#039;&#039;&#039; получения объекта БД (&amp;lt;code&amp;gt;from app.db import get_db&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Получить объект БД&#039;&#039;&#039;&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;error, db = get_db(data[&#039;robot&#039;])&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;if error: &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;return { &#039;text&#039;: &#039;ошибка базы данных: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Объявить структуру&#039;&#039;&#039; пользовательской таблицы, создав запись в таблице структур (если еще не объявляли)&amp;lt;br /&amp;gt;    &amp;lt;small&amp;gt;search_data={&lt;br /&gt;
                         &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    try:&lt;br /&gt;
        error, search_result = db.select(&#039;structures&#039;,data=search_data,sort=None,md5clean=True)&lt;br /&gt;
        if not search_result:&lt;br /&gt;
            struct_data = {&lt;br /&gt;
                        &amp;quot;id&amp;quot;:&amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;name&amp;quot;: &amp;quot;new_table_name&amp;quot;,&lt;br /&gt;
                        &amp;quot;fields&amp;quot;: {&lt;br /&gt;
                        &amp;quot;string&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
                        &amp;quot;integer&amp;quot;:0,&lt;br /&gt;
                        &amp;quot;float&amp;quot;:0.0,&lt;br /&gt;
                        &amp;quot;именованный массив&amp;quot;:{},&lt;br /&gt;
                        &amp;quot;неименованный массив&amp;quot;:[],&lt;br /&gt;
                        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
            error, str_id = db.create(table=&#039;structures&#039;, data=struct_data)&amp;lt;/small&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Сделать запись&#039;&#039;&#039; в базе&amp;lt;br /&amp;gt;     &amp;lt;small&amp;gt;new_data={&lt;br /&gt;
                        &amp;quot;string&amp;quot;:&amp;quot;пример строки\n&amp;quot;,&lt;br /&gt;
        &amp;quot;integer&amp;quot;:100500,&lt;br /&gt;
        &amp;quot;float&amp;quot;:20.0004,&lt;br /&gt;
        &amp;quot;именованный массив&amp;quot;:{&#039;ключ1&#039;:&#039;значение1&#039;},&lt;br /&gt;
        &amp;quot;неименованный массив&amp;quot;:[&#039;запись1&#039;,&#039;запись2&#039;,],&lt;br /&gt;
        &amp;quot;bool&amp;quot;:True&lt;br /&gt;
    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;error, id = db.create(table=&amp;quot;new_table_name&amp;quot;, data=new_data)&lt;br /&gt;
&lt;br /&gt;
if error:&lt;br /&gt;
    return { &#039;text&#039;: &#039;ошибка создания: &#039;+str(db), &#039;answered&#039;: False }, {}&amp;lt;/small&amp;gt;&lt;br /&gt;
Если при создании структуры не указывать в структуре id то база сама создаст id, вернет его в ответ. В дальнейшем тогда имя новой таблицы будет в id и запись/поиск в базе только по нему. Пример поиска в &#039;structures&#039; подходит для поиска в пользовательской таблице.&lt;br /&gt;
&lt;br /&gt;
Создание, редактирование и просмотр пользовательской таблицы в базе возможно и с интерфейса UPS.&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Описание методов API&#039;&#039;&#039;=====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SES. По умолчанию используется порт 6189/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.&lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6190 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Методы API&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться r продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/log&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение лога всех сессий начиная с date. &amp;lt;small&amp;gt;В логе &#039;&#039;&#039;error,&#039;&#039;&#039; &#039;&#039;&#039;message&#039;&#039;&#039; и массив сессий  &#039;&#039;&#039;log&#039;&#039;&#039; (log содержит информацию о каждой сессии и запросы с ответами)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;date&#039;&#039;&#039; - начальная дата в формате %Y-%m-%d&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;log&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;,.....&amp;quot;,&amp;lt;/small&amp;gt;      &amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;robot&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;         &amp;lt;small&amp;gt;&amp;quot;channel&amp;quot;: &amp;quot;......&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;closed&amp;quot;: true&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;/false&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;          &amp;lt;small&amp;gt;&amp;quot;endpoint&amp;quot;:&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;.....&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answered&amp;quot;: true/false,      &amp;quot;models&amp;quot;: [....],       &amp;quot;variables&amp;quot;: {},     &amp;quot;current&amp;quot;: {.......},&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;request&amp;quot;: {.......&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;reply&amp;quot;: { .....&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},  &amp;quot;robot_id&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointName&amp;quot;: &amp;quot;&amp;quot;,   &amp;quot;endpointType&amp;quot;:   &amp;quot;&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; - id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;modified&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;robot&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channel&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;connector&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;unknown&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: {&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;answered&amp;quot;: true/false, &amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;nearest&amp;quot;: &amp;quot;&amp;quot;,    &amp;quot;entry&amp;quot;: [.....],    &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;passedRunData&amp;quot;: [.....],       &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;border&amp;quot;: int,    &amp;quot;preborder&amp;quot;: int,    &amp;quot;lastreply&amp;quot;: &amp;quot;&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;scripts&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;  &amp;quot;data&amp;quot;: [{&amp;quot;request&amp;quot;: {.....}, &amp;quot;reply&amp;quot;: {.....}}],&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;events&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;closed&amp;quot;: &amp;quot;&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает конфигурацию виджета скрипту виджета&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; - ключ виджета&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе содержимое настроек web канала из конфигурационного файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; - имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант - становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка робота в архив.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;name&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;.....&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;weekdays&amp;quot;: [ ..... ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;dates&amp;quot;: [  .....  ],&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [.....],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip -&#039;&#039;&#039; файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/data&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,      &amp;quot;model&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;param&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,      &amp;quot;weight&amp;quot;: int,    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;getOnlyAsNearest&amp;quot;: true/false,   &amp;quot;injectToMessage&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;longWaiting&amp;quot;: true/false,   &amp;quot;dataWaiting&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;actions&amp;quot;: {}, &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  { &amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;} ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/endpoint&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entryType&amp;quot;: &amp;quot;conditions&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [{ &amp;quot;conditions&amp;quot;: [{ &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;depth&amp;quot;: 5, &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;operation&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;&amp;quot;}], &amp;quot;run&amp;quot;: []}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: { &amp;quot;default&amp;quot;: [{ &amp;quot;action&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;...&amp;quot;,  &amp;quot;interruptible&amp;quot;: true/false}]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;report&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/archive&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/script&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипта &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;Тип скрипта&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/test/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Тестирование скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка с параметрами сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;result&amp;quot;: {.....}, &amp;quot;variables&amp;quot;: {}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/files&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/files/download/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор файла&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/files/upload/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; - файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,   &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,   &amp;quot;id&amp;quot;: &amp;quot;Id файла&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/testapi&#039;&#039;&#039; &#039;&#039;[https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#:~:text=%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0-,%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8,-%5B%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%7C для отладки скриптов интеграции]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка эмуляторов сервисов интеграции&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;service1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;service2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;serviceN&amp;quot;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/testapi/{request}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа эмулятора сервиса интеграции &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;request&#039;&#039;&#039; - запрос вида &amp;lt;service1&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;  &amp;quot;ответ эмулятора&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов ses/robot/userdata&amp;lt;big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/add/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление записи в пользовательский справочник.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/data/delete/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление записи из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/data/list/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение данных из пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{  &amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt; &amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;,&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt; &amp;quot;id&amp;quot;: &amp;quot;id записи&amp;quot;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Массовое изменение данных в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/modify/{robot}/{structure}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение одной записи пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение n&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор записи (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/data/put/{robot}/{structure}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление данных с заменой в пользовательском справочнике.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;list&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;[{&amp;quot;колонка 1&amp;quot;: &amp;quot;значение 1&amp;quot;,&amp;quot;колонка n&amp;quot;: &amp;quot;значение n&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;id строки&amp;quot;}]&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально, при его добавлении данные в строке будут заменены.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - замена всех данных в справочнике новыми данными. Возможные значения: yes/no. По-умолчанию - yes.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;structure&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление пользовательского справочника.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; Поле &amp;quot;id&amp;quot; опционально.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/userdata/structure/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/userdata/structure/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользовательских справочников. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;[{&amp;quot;id&amp;quot;: &amp;quot;id справочника&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;}}]&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/userdata/structure/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация структуры пользовательского справочника. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; -  json строка в формате &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;справочник&amp;quot;, &amp;quot;fields&amp;quot;: {&amp;quot;колонка 1&amp;quot;: &amp;quot;значение по умолчанию&amp;quot;,&amp;quot;колонка n&amp;quot;:&amp;quot;значение по умолчанию&amp;quot;}}.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор пользовательского справочника&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
======&#039;&#039;&#039;&#039;&#039;Постобработка методов api&#039;&#039;&#039;&#039;&#039;======&lt;br /&gt;
Для метода &#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039; можно изменить формат данных ответа.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо подготовить скрипт на python в папке /opt/ses/handlers/api/ask/ . Скрипт должен содержать функцию handler(reply={}), Функция должна вернуть переформатированный ответ. Чтобы воспользоваться скриптом необходимо его имя без разрешения указать в поле &amp;quot;&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot; при запросе метода.&lt;br /&gt;
&lt;br /&gt;
Аналогично и для метода ask websocket протокола - файл положить в /opt/ses/handlers/websockets/ask/ . Далее в любом запросе указать обработчик &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{тут всё, что ты и так отправляешь, &#039;handlers&#039;: { &#039;ask&#039;: &#039;__telegram&#039; }} }&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; . начиная с этого запроса обработчик будет действовать в течение сессии пока не отправишь &#039;handlers&#039;: {} . Для других полей запросов в канале websocket аналогично.&lt;br /&gt;
&lt;br /&gt;
В составе поставки ses есть файл примера &amp;lt;code&amp;gt;__telegram.py&amp;lt;/code&amp;gt; (префикс 2 подчеркивания - такой файл будет переписан при обновлении, любой другой, останется после обновления)&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Websockets сервер&#039;&#039;&#039; =====&lt;br /&gt;
Работа с программным продуктом возможна с использованием встроенного websockets сервера. Подключение производится по порту 6191, без SSL. При необходимости работать по SSL перед SES ставится nginx в режиме прокси, и SSL поднимается на nginx. Подробнее см. документацию по nginx.&lt;br /&gt;
&lt;br /&gt;
В таблице ниже приведены форматы сообщений для работы с сервером. В каждом сообщении (за исключением бинарных), присутствует переменная path (формат сообщений - JSON), которая определяет алгоритм обработки сообщения. Подключение к серверу возможно в следующих вариантах:&lt;br /&gt;
&lt;br /&gt;
# ws://адрес:6191&lt;br /&gt;
# ws://адрес:6191/session[/chunk]&lt;br /&gt;
&lt;br /&gt;
Первый вариант подходит только для текстовых сообщений, в данном случае передача переменной session (uuid текущей сессии) должна производиться в теле сообщения. &lt;br /&gt;
&lt;br /&gt;
Второй вариант подходит и для текстового и для голосового общения с роботом. В данном случае session передается в пути подключения к websockets-серверу. Для каждой новой сессии нужно открывать новое соединение, chunk в пути подключения нужен в том случае, если передаются не готовые части аудио, предварительно сформированные, а сплошной поток аудио, кусками по 20 мс.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Входящие сообщения&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;pat&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;h:ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вопрос роботу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;text&amp;quot;: &amp;quot;привет&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;question&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;uuid&amp;quot;: &amp;quot;83722305-645d-4674-8c5d-952e02f595f9&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;ask&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:session&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Статус сессии&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;started&amp;quot;: &amp;quot;2025-07-08 07:39:24&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modified&amp;quot;: &amp;quot;2025-07-08 07:39:26&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;: &amp;quot;f296a3a9-593c-4ed5-a1d3-5d4d46d331bf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;548cd1ca-a24a-4a9a-ab4f-8363aa32c3c2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;connector&amp;quot;: &amp;quot;web&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;unknown&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;category&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;entry&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;nearest&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;missingRunData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;lastreply&amp;quot;: &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;smc:Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:Серверы&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:fio&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;scripts&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;request&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:24.706771&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;message&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;data&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                            &amp;quot;Здравствуйте! Как я могу вам помочь сегодня?&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;voice&amp;quot;: &amp;quot;Валера&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                        &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;datetime&amp;quot;: &amp;quot;2025-07-08T07:39:26.269201&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                &amp;quot;answered&amp;quot;: false&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;events&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;not found&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;no data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;silence&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;counter&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;session&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;path:status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Установка статуса клиентской части. &amp;lt;small&amp;gt;Используется в голосовом канале, для установки текущего статуса клиентской части. В случае использования режима активного слушания в момент речи робота, необходимо выставлять на клиентской части статус asking.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;path&amp;quot;: &amp;quot;status&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: &amp;quot;77f1af87-6da7-487b-96d2-4e2684704ad5&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;listening | asking&amp;quot; }&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2776</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2776"/>
		<updated>2025-07-07T09:45:48Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/audio/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудио-файла из архива диалогов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;аудио-файл с расширением opus&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение диалога из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [{&amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,                  &amp;quot;robot&amp;quot;: &amp;quot;...&amp;quot;,                &amp;quot;channel&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;unknown&amp;quot;: true/false,        &amp;quot;closed&amp;quot;: true/false,        &amp;quot;endpoint&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;answered&amp;quot;: true/false,    &amp;quot;models&amp;quot;: [...],    &amp;quot;variables&amp;quot;: {},   &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;category&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;entry&amp;quot;: [...],&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;nearest&amp;quot;: &amp;quot;...&amp;quot;,    &amp;quot;missingRunData&amp;quot;: [...],     &amp;quot;waitingRunData&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                         &amp;quot;answered&amp;quot;: true/false,    &amp;quot;lastreply&amp;quot;: &amp;quot;...&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                  &amp;quot;request&amp;quot;: {&amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,           &amp;quot;message&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;data&amp;quot;: [...]},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;reply&amp;quot;: {&amp;quot;answers&amp;quot;: [{&amp;quot;messages&amp;quot;: [...],    &amp;quot;voice&amp;quot;: &amp;quot;...&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                                     &amp;quot;interruptible&amp;quot;: true/false,    &amp;quot;file&amp;quot;: null}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;                  &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;answered&amp;quot;: true/false}}]}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка диалогов из архива&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - начало временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - конец временного интервала в формате date %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - номер телефона&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - переменная в формате variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - идентификатор робота (id)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фрагмент текста в любом сообщении&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - id элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - название канала (коннектора)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;quot;uuid&amp;quot;: &amp;quot;...&amp;quot;, &amp;quot;datetime&amp;quot;: &amp;quot;...&amp;quot;,&amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt; &amp;quot;channel&amp;quot;: [...], &amp;quot;robot&amp;quot;: [&amp;quot;...&amp;quot;]}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/archive/waveform/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для визуализации полученного из архива диалогов аудио-файла, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - идентификатор диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.01&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;connector&#039;&#039;&#039; - имя коннектора&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; - uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; - вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; - словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - python скрипт для изменения ответов метода под требования внешних систем, подробнее в следующем разделе. в поле имя файла без расширения.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;restartClosed&#039;&#039;&#039; - перезагрузить сессию при её закрытии с новым id (1 - перезагрузить, 0 - не перезагружать)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; - аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;document&#039;&#039;&#039; - документ для последующей обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;   &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {    &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                   &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;           &amp;quot;interruptible&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;file&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;&amp;quot;   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;comment&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,      &amp;quot;model&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;param&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;script&amp;quot;: &amp;quot;&amp;quot;,      &amp;quot;weight&amp;quot;: int,    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;getOnlyAsNearest&amp;quot;: true/false,   &amp;quot;injectToMessage&amp;quot;: true/false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;longWaiting&amp;quot;: true/false,   &amp;quot;dataWaiting&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;    &amp;quot;actions&amp;quot;: {}, &amp;quot;exceptions&amp;quot;: {}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {   &amp;quot;id&amp;quot;: &amp;quot;3ebfe38b-95bf-4927-a662-17f6e5da22ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;rtype&amp;quot;: &amp;quot;report&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weight&amp;quot;: 3, &amp;quot;hasNearestAction&amp;quot;: false } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2773</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2773"/>
		<updated>2025-07-07T09:42:15Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.max_tokens&lt;br /&gt;
|4096&lt;br /&gt;
|&#039;&#039;&#039;{section}&#039;&#039;&#039; - summarization, chat, ask&lt;br /&gt;
Определяет максимальное количество токенов (слов или частей слов), которые модель может сгенерировать в ответ.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_k&lt;br /&gt;
|summarization 20, chat 30, ask 5&lt;br /&gt;
|Ограничивает количество наиболее вероятных следующих токенов, из которых модель выбирает при генерации текста.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_p&lt;br /&gt;
|summarization 0.4, chat 0.5, ask 0.4&lt;br /&gt;
|Определяет кумулятивную вероятность, с которой модель выбирает следующий токен. Например, top_p = 0.9 означает, что модель выбирает из наименьшего набора токенов, сумма вероятностей которых составляет 0.9.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.temperature&lt;br /&gt;
|summarization 0.5, chat 0.5, ask 0.1&lt;br /&gt;
|Контролирует «температуру» распределения вероятностей выходных токенов. Высокая температура делает распределение более равномерным, а низкая — более «остроконечным».&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.repeat_penalty&lt;br /&gt;
|summarization 1.1, chat 1.3, ask 1.3&lt;br /&gt;
|Накладывает штраф на повторяющиеся токены, уменьшая вероятность их повторного выбора.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2770</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2770"/>
		<updated>2025-07-07T09:38:27Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;maxDocs&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Отображает лог найденных несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &#039;question_id&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;category&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;description&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;error&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/mismatchsearcher/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Старт поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/mismatchsearcher/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка поиска несоответствий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | корректировка информации в тексте при помощи LLM &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt; &lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;  &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039; &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2731</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2731"/>
		<updated>2025-07-03T12:54:39Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.trainer указываем мастер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.max_tokens&lt;br /&gt;
|4096&lt;br /&gt;
|&#039;&#039;&#039;{section}&#039;&#039;&#039; - summarization, chat, ask, creative&lt;br /&gt;
Определяет максимальное количество токенов (слов или частей слов), которые модель может сгенерировать в ответ.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_k&lt;br /&gt;
|summarization 30, chat 40, ask 5, creative 40&lt;br /&gt;
|Ограничивает количество наиболее вероятных следующих токенов, из которых модель выбирает при генерации текста.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_p&lt;br /&gt;
|summarization 0.9, chat 0.4, ask 0.8, creative 0.4&lt;br /&gt;
|Определяет кумулятивную вероятность, с которой модель выбирает следующий токен. Например, top_p = 0.9 означает, что модель выбирает из наименьшего набора токенов, сумма вероятностей которых составляет 0.9.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.temperature&lt;br /&gt;
|summarization 0.4, chat 0.8, ask 0.1, creative 0.8&lt;br /&gt;
|Контролирует «температуру» распределения вероятностей выходных токенов. Высокая температура делает распределение более равномерным, а низкая — более «остроконечным».&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.repeat_penalty&lt;br /&gt;
|summarization 1.1, chat 1.3, ask 1.3, creative 1.3&lt;br /&gt;
|Накладывает штраф на повторяющиеся токены, уменьшая вероятность их повторного выбора.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2730</id>
		<title>SES. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2730"/>
		<updated>2025-07-03T12:53:50Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для сценарных машин. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script Engine Service (SES) – сервис, обеспечивающий работу сценарных машин.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Требования к окружению&#039;&#039;&#039; =====&lt;br /&gt;
В процессе работы сервис взаимодействует со следующими сервисами:&lt;br /&gt;
&lt;br /&gt;
* UPS – настройка осуществляется через файл /opt/ups/config.json&lt;br /&gt;
* SMC, SEE, SPR, TTS, SBS, QAS – настройка осуществляется через файл /opt/ses/config.json.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка ses&#039;&#039;&#039; ===== &lt;br /&gt;
&lt;br /&gt;
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление ses осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s &amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses&amp;lt;/nowiki&amp;gt; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить ses &amp;lt;code&amp;gt;/opt/ses/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable ses.service &amp;amp;&amp;amp; sudo systemctl start ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к портам 6157/tcp, 6170/tcp, 6191/tcp, а также порту, определенном в конфиге (по умолчанию 6190/tcp) на нужном интерфейсе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;ses&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start ses&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/ses/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка сервиса&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Файл config.json&#039;&#039;&#039;====&lt;br /&gt;
Настройка параметров сервиса ses производится в файле /opt/ses/config.json&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|По умолчанию&lt;br /&gt;
!style=&amp;quot;width: 60%&amp;quot;|Назначение&lt;br /&gt;
|-&lt;br /&gt;
|port&lt;br /&gt;
|6190&lt;br /&gt;
|Порт API интерфейса используется в UPS — настройка servers.ses в конфиге UPS.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Путь к папке логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.debug&lt;br /&gt;
|false&lt;br /&gt;
|Режим расширенного логирования.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество старых сохраняемых логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер текущего лог-файла в байтах.&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.web&lt;br /&gt;
|/opt/ses/storage/web&lt;br /&gt;
|Путь для временного хранения фрагментов аудио веб сессий&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.hot&lt;br /&gt;
|/opt/ses/storage/hot&lt;br /&gt;
|Путь к &amp;quot;горячему&amp;quot; хранилищу аудиоданных&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.cold&lt;br /&gt;
|null&lt;br /&gt;
|Путь к &amp;quot;холодному&amp;quot; хранилищу аудиоданных, куда переливаются данные из &amp;quot;горячего&amp;quot; хранилища.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.url&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:PORT/{service}&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес сервера. Возможные варианты значения service (с портами по умолчанию) следующие: smc(6181), see(6184), spr(6183), tts(6186), sbs(6185), qas(6187).&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.connect&lt;br /&gt;
|2&lt;br /&gt;
|Таймаут подключения к серверу.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.read&lt;br /&gt;
|10&lt;br /&gt;
|Таймаут получения данных с сервера.&lt;br /&gt;
|-&lt;br /&gt;
|connectors.vk&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к ботам VK&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;group_id&amp;quot;:&amp;quot;id сообщества ВКонтакте&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.telegram&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к telegram ботам&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;phone&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;getUpdates&amp;quot;: 3&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.freeswitch&lt;br /&gt;
|{}&lt;br /&gt;
|Номера внутренних телефонов внутри freeswitch с привязкой к роботам&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;5000&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;robot&amp;quot;: &amp;quot;ffeaa99a-13d2-4bff-b458-1231c884f8ee&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxLength&lt;br /&gt;
|10000&lt;br /&gt;
|Максимальная длина звукового фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.minSpeech&lt;br /&gt;
|120&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxSilence&lt;br /&gt;
|1200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.speechWaiting&lt;br /&gt;
|4000&lt;br /&gt;
|Длительность ожидания начала речи&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxLength&lt;br /&gt;
|2000&lt;br /&gt;
|Максимальная длина звукового фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.minSpeech&lt;br /&gt;
|60&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxSilence&lt;br /&gt;
|200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Файл логов синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.statusFile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Статус задачи синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Перечень подчиненных нод для синхронизации изменений заполняется только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|tmp&lt;br /&gt;
|&amp;quot;/tmp/ses&amp;quot;&lt;br /&gt;
|Временная папка.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039; ====&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
*База файловая, в папке robots.&lt;br /&gt;
*lsync настроен через конфиг SES для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
*UPS при изменении данных работает только с мастером SES, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
*В конфигурации UPS: в servers.ses.trainer указываем маcтер-сервер, в servers.ses.cluster перечисляем все сервера кластера SES, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Эмуляция сервисов интеграции&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
В каталоге &#039;&#039;&#039;/opt/ses/testapi&#039;&#039;&#039; могут располагаться эмуляторы сервисов интеграции.  Эмулятор будет доступен по адресу &#039;&#039;htttp://&amp;lt;адрес ses&amp;gt;/testapi/&amp;lt;название_сервиса&amp;gt;. Для создания эмулятора поместите в папку /opt/ses/testapi/ файл &amp;lt;название_сервиса&amp;gt;.reply. Содержимое файла будет отдано без изменений, как есть по адресу &amp;quot;http://&amp;amp;#x3C;адрес_ses&amp;amp;#x3E;:&amp;amp;#x3C;порт_ses&amp;amp;#x3E;/ses/testapi/&amp;amp;#x3C;название_сервиса&amp;gt;&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка каналов и виджетов&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Настройка виджета для сайта&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Размещаете на сайте&#039;&#039;&#039;, например &amp;lt;nowiki&amp;gt;http://сайт.рф&amp;lt;/nowiki&amp;gt; &#039;&#039;&#039;ссылку на виджет&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;&amp;lt;script src=&amp;quot;http://адрес_ups/ses/widget/js&amp;quot; key=&amp;quot;xxxxxxxx&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/nowiki&amp;gt; (ключ придумайте сами)&lt;br /&gt;
# &#039;&#039;&#039;Делаете конфиг&#039;&#039;&#039; канала в файле /opt/ses/config.json в разделе connectors.web. В конфиге следующее:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;&amp;quot;web&amp;quot;: {&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://сайт.рф~xxxxxxxx&amp;quot;&amp;lt;/nowiki&amp;gt;: {&amp;lt;/small&amp;gt; #сайт_с_виджетом~ключ&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;robot&amp;quot;: &amp;quot;28013d0a-...&amp;quot;,&amp;lt;/small&amp;gt; # id робота&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;color&amp;quot;: &amp;quot;#4d3e33&amp;quot;,&amp;lt;/small&amp;gt; #акцентный цвет виджета&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;host&amp;quot;: &amp;quot;адрес_ses:6191&amp;quot;,&amp;lt;/small&amp;gt; #адрес который прослушивает ws(wss) запросы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;microphone&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность отправлять/принимать аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;transcription&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность расшифровки аудио клиента&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;variables&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;var_1&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;               } } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;Если на сайте SSL, то дополнительно поднимаете реверс-прокси для UPS (&amp;lt;nowiki&amp;gt;http://адрес_ups&amp;lt;/nowiki&amp;gt;) и для websocket (адрес_ses:6191). Особенности реализации на nginx:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Основной конфиг&#039;&#039;&#039; должен включать директиву &amp;lt;code&amp;gt;proxy_set_header Host $host;&amp;lt;/code&amp;gt; а также заголовки CORS и обработку OPTIONS запросов. Дополнительно в нем? возможно? придется обработать путь &amp;quot;/lang&amp;quot; с переводом.&lt;br /&gt;
&lt;br /&gt;
Конфиг для websocket должен обеспечивать обработку upgrade запросов (&amp;lt;nowiki&amp;gt;https://nginx.org/en/docs/http/websocket.html&amp;lt;/nowiki&amp;gt;) для перенаправления websocket трафика, а также прослушивание отдельного порта, например 8091.&lt;br /&gt;
&lt;br /&gt;
Тогда в ссылку на виджет (адрес_ups) и в конфиг канала (адрес_ses:6191) нужно будет вносить адреса, которые поддерживают SSL. Пример конфига nginx для wss: &amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;server {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   server_name ups_сервер.ru;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   listen 6191 ssl;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  include snippets/ssl-params.conf;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate /etc/letsencrypt/live/ups_сервер.ru/fullchain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate_key /etc/letsencrypt/live/ups_сервер.ru/privkey.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_trusted_certificate /etc/letsencrypt/live/ups_сервер.ru/chain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  client_max_body_size 1000M;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_read_timeout 6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_connect_timeout       6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_send_timeout          6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  send_timeout                6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  large_client_header_buffers 8 256k;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   location / {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_pass &amp;lt;nowiki&amp;gt;http://локальныq_адрес_ses:6191&amp;lt;/nowiki&amp;gt;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_http_version 1.1;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Upgrade $http_upgrade;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Host $host;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_cache_bypass $http_upgrade; } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Протоколы и порты&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Сервис использует порты 6190/tcp для доступа к API-интерфейсу и порт 6191/tcp для WebSocket-сервера. Порт 6190 может быть изменен в конфигурационном файле.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Журналы работы&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Для проверки состояния сервиса выполните &amp;lt;code&amp;gt;sudo systemctl status ses&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Журналы сервиса находятся в каталоге, определенном в конфигурационном файле (по умолчанию – &amp;lt;code&amp;gt;/opt/ses/logs/&amp;lt;/code&amp;gt;). Ошибки также пишутся в системный журнал, для просмотра можно воспользоваться командой &amp;lt;code&amp;gt;sudo journalctl -u ses&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Удаление и обновление ses&#039;&#039;&#039;===&lt;br /&gt;
Для удаления выполните команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/uninstall&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки, как указано в п. 4. При этом обновление не изменяет файл /opt/ses/config.json.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2729</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2729"/>
		<updated>2025-07-03T12:50:59Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модели векторизации располагаются в папках: &lt;br /&gt;
&lt;br /&gt;
* /opt/qas/pretrained/embeddings/questions - для работы с кэшем вопросов&lt;br /&gt;
* /opt/qas/pretrained/embeddings/docs - для работы с документами&lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.cluster.trainer указываем матер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.max_tokens&lt;br /&gt;
|4096&lt;br /&gt;
|&#039;&#039;&#039;{section}&#039;&#039;&#039; - summarization, chat, ask, creative&lt;br /&gt;
Определяет максимальное количество токенов (слов или частей слов), которые модель может сгенерировать в ответ.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_k&lt;br /&gt;
|summarization 30, chat 40, ask 5, creative 40&lt;br /&gt;
|Ограничивает количество наиболее вероятных следующих токенов, из которых модель выбирает при генерации текста.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_p&lt;br /&gt;
|summarization 0.9, chat 0.4, ask 0.8, creative 0.4&lt;br /&gt;
|Определяет кумулятивную вероятность, с которой модель выбирает следующий токен. Например, top_p = 0.9 означает, что модель выбирает из наименьшего набора токенов, сумма вероятностей которых составляет 0.9.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.temperature&lt;br /&gt;
|summarization 0.4, chat 0.8, ask 0.1, creative 0.8&lt;br /&gt;
|Контролирует «температуру» распределения вероятностей выходных токенов. Высокая температура делает распределение более равномерным, а низкая — более «остроконечным».&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.repeat_penalty&lt;br /&gt;
|summarization 1.1, chat 1.3, ask 1.3, creative 1.3&lt;br /&gt;
|Накладывает штраф на повторяющиеся токены, уменьшая вероятность их повторного выбора.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2728</id>
		<title>SES. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2728"/>
		<updated>2025-07-03T12:48:12Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для сценарных машин. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Script Engine Service (SES) – сервис, обеспечивающий работу сценарных машин.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Требования к окружению&#039;&#039;&#039; =====&lt;br /&gt;
В процессе работы сервис взаимодействует со следующими сервисами:&lt;br /&gt;
&lt;br /&gt;
* UPS – настройка осуществляется через файл /opt/ups/config.json&lt;br /&gt;
* SMC, SEE, SPR, TTS, SBS, QAS – настройка осуществляется через файл /opt/ses/config.json.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка ses&#039;&#039;&#039; ===== &lt;br /&gt;
&lt;br /&gt;
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление ses осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./ses-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s &amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses&amp;lt;/nowiki&amp;gt; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить ses &amp;lt;code&amp;gt;/opt/ses/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/ses/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/ses/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt; &amp;gt; /opt/ses/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable ses.service &amp;amp;&amp;amp; sudo systemctl start ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status ses.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к портам 6157/tcp, 6170/tcp, 6191/tcp, а также порту, определенном в конфиге (по умолчанию 6190/tcp) на нужном интерфейсе.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;ses&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start ses&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/ses/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка сервиса&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Файл config.json&#039;&#039;&#039;====&lt;br /&gt;
Настройка параметров сервиса ses производится в файле /opt/ses/config.json&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|По умолчанию&lt;br /&gt;
!style=&amp;quot;width: 60%&amp;quot;|Назначение&lt;br /&gt;
|-&lt;br /&gt;
|port&lt;br /&gt;
|6190&lt;br /&gt;
|Порт API интерфейса используется в UPS — настройка servers.ses в конфиге UPS.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Путь к папке логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.debug&lt;br /&gt;
|false&lt;br /&gt;
|Режим расширенного логирования.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество старых сохраняемых логов.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер текущего лог-файла в байтах.&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.web&lt;br /&gt;
|/opt/ses/storage/web&lt;br /&gt;
|Путь для временного хранения фрагментов аудио веб сессий&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.hot&lt;br /&gt;
|/opt/ses/storage/hot&lt;br /&gt;
|Путь к &amp;quot;горячему&amp;quot; хранилищу аудиоданных&lt;br /&gt;
|-&lt;br /&gt;
|storage.audio.cold&lt;br /&gt;
|null&lt;br /&gt;
|Путь к &amp;quot;холодному&amp;quot; хранилищу аудиоданных, куда переливаются данные из &amp;quot;горячего&amp;quot; хранилища.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.url&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:PORT/{service}&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес сервера. Возможные варианты значения service (с портами по умолчанию) следующие: smc(6181), see(6184), spr(6183), tts(6186), sbs(6185), qas(6187).&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.connect&lt;br /&gt;
|2&lt;br /&gt;
|Таймаут подключения к серверу.&lt;br /&gt;
|-&lt;br /&gt;
|servers.{service}.timers.read&lt;br /&gt;
|10&lt;br /&gt;
|Таймаут получения данных с сервера.&lt;br /&gt;
|-&lt;br /&gt;
|connectors.vk&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к ботам VK&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;group_id&amp;quot;:&amp;quot;id сообщества ВКонтакте&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.telegram&lt;br /&gt;
|{}&lt;br /&gt;
|Параметры подключения к telegram ботам&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;имя_подключения&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;token&amp;quot;:&amp;quot;Ключ доступа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;robot&amp;quot;:&amp;quot;id робота&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;variables&amp;quot;:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;phone&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;timers&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;getUpdates&amp;quot;: 3&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;whitelist&amp;quot;:[],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;activators&amp;quot;:[]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|connectors.freeswitch&lt;br /&gt;
|{}&lt;br /&gt;
|Номера внутренних телефонов внутри freeswitch с привязкой к роботам&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;5000&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;robot&amp;quot;: &amp;quot;ffeaa99a-13d2-4bff-b458-1231c884f8ee&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxLength&lt;br /&gt;
|10000&lt;br /&gt;
|Максимальная длина звукового фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.minSpeech&lt;br /&gt;
|120&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.maxSilence&lt;br /&gt;
|1200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента&lt;br /&gt;
|-&lt;br /&gt;
|vad.listening.speechWaiting&lt;br /&gt;
|4000&lt;br /&gt;
|Длительность ожидания начала речи&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxLength&lt;br /&gt;
|2000&lt;br /&gt;
|Максимальная длина звукового фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.minSpeech&lt;br /&gt;
|60&lt;br /&gt;
|Минимальный отрезок речи, который считать значимым в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.skipSilence&lt;br /&gt;
|60&lt;br /&gt;
|Не считать тишиной отрезки, короче данного значения в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|vad.playing.maxSilence&lt;br /&gt;
|200&lt;br /&gt;
|Максимальная длительность тишины перед отправкой фрагмента в режиме активного слушания&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Файл логов синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.statusFile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Статус задачи синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Перечень подчиненных нод для синхронизации изменений заполняется только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|tmp&lt;br /&gt;
|&amp;quot;/tmp/ses&amp;quot;&lt;br /&gt;
|Временная папка.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Эмуляция сервисов интеграции&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
В каталоге &#039;&#039;&#039;/opt/ses/testapi&#039;&#039;&#039; могут располагаться эмуляторы сервисов интеграции.  Эмулятор будет доступен по адресу &#039;&#039;htttp://&amp;lt;адрес ses&amp;gt;/testapi/&amp;lt;название_сервиса&amp;gt;. Для создания эмулятора поместите в папку /opt/ses/testapi/ файл &amp;lt;название_сервиса&amp;gt;.reply. Содержимое файла будет отдано без изменений, как есть по адресу &amp;quot;http://&amp;amp;#x3C;адрес_ses&amp;amp;#x3E;:&amp;amp;#x3C;порт_ses&amp;amp;#x3E;/ses/testapi/&amp;amp;#x3C;название_сервиса&amp;gt;&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Настройка каналов и виджетов&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Настройка виджета для сайта&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Размещаете на сайте&#039;&#039;&#039;, например &amp;lt;nowiki&amp;gt;http://сайт.рф&amp;lt;/nowiki&amp;gt; &#039;&#039;&#039;ссылку на виджет&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;&amp;lt;script src=&amp;quot;http://адрес_ups/ses/widget/js&amp;quot; key=&amp;quot;xxxxxxxx&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/nowiki&amp;gt; (ключ придумайте сами)&lt;br /&gt;
# &#039;&#039;&#039;Делаете конфиг&#039;&#039;&#039; канала в файле /opt/ses/config.json в разделе connectors.web. В конфиге следующее:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;&amp;quot;web&amp;quot;: {&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://сайт.рф~xxxxxxxx&amp;quot;&amp;lt;/nowiki&amp;gt;: {&amp;lt;/small&amp;gt; #сайт_с_виджетом~ключ&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;robot&amp;quot;: &amp;quot;28013d0a-...&amp;quot;,&amp;lt;/small&amp;gt; # id робота&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;color&amp;quot;: &amp;quot;#4d3e33&amp;quot;,&amp;lt;/small&amp;gt; #акцентный цвет виджета&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;host&amp;quot;: &amp;quot;адрес_ses:6191&amp;quot;,&amp;lt;/small&amp;gt; #адрес который прослушивает ws(wss) запросы&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;microphone&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность отправлять/принимать аудио&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;transcription&amp;quot;: false,&amp;lt;/small&amp;gt; #возможность расшифровки аудио клиента&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;             &amp;quot;variables&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;                 &amp;quot;var_1&amp;quot;: &amp;quot;1234567890&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;               } } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;Если на сайте SSL, то дополнительно поднимаете реверс-прокси для UPS (&amp;lt;nowiki&amp;gt;http://адрес_ups&amp;lt;/nowiki&amp;gt;) и для websocket (адрес_ses:6191). Особенности реализации на nginx:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Основной конфиг&#039;&#039;&#039; должен включать директиву &amp;lt;code&amp;gt;proxy_set_header Host $host;&amp;lt;/code&amp;gt; а также заголовки CORS и обработку OPTIONS запросов. Дополнительно в нем? возможно? придется обработать путь &amp;quot;/lang&amp;quot; с переводом.&lt;br /&gt;
&lt;br /&gt;
Конфиг для websocket должен обеспечивать обработку upgrade запросов (&amp;lt;nowiki&amp;gt;https://nginx.org/en/docs/http/websocket.html&amp;lt;/nowiki&amp;gt;) для перенаправления websocket трафика, а также прослушивание отдельного порта, например 8091.&lt;br /&gt;
&lt;br /&gt;
Тогда в ссылку на виджет (адрес_ups) и в конфиг канала (адрес_ses:6191) нужно будет вносить адреса, которые поддерживают SSL. Пример конфига nginx для wss: &amp;lt;blockquote&amp;gt;&amp;lt;small&amp;gt;server {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   server_name ups_сервер.ru;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   listen 6191 ssl;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  include snippets/ssl-params.conf;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate /etc/letsencrypt/live/ups_сервер.ru/fullchain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_certificate_key /etc/letsencrypt/live/ups_сервер.ru/privkey.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ssl_trusted_certificate /etc/letsencrypt/live/ups_сервер.ru/chain.pem;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  client_max_body_size 1000M;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_read_timeout 6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_connect_timeout       6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  proxy_send_timeout          6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  send_timeout                6000;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  large_client_header_buffers 8 256k;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   location / {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_pass &amp;lt;nowiki&amp;gt;http://локальныq_адрес_ses:6191&amp;lt;/nowiki&amp;gt;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_http_version 1.1;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Upgrade $http_upgrade;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_set_header Host $host;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       proxy_cache_bypass $http_upgrade; } }&amp;lt;/small&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Протоколы и порты&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Сервис использует порты 6190/tcp для доступа к API-интерфейсу и порт 6191/tcp для WebSocket-сервера. Порт 6190 может быть изменен в конфигурационном файле.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Журналы работы&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
Для проверки состояния сервиса выполните &amp;lt;code&amp;gt;sudo systemctl status ses&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Журналы сервиса находятся в каталоге, определенном в конфигурационном файле (по умолчанию – &amp;lt;code&amp;gt;/opt/ses/logs/&amp;lt;/code&amp;gt;). Ошибки также пишутся в системный журнал, для просмотра можно воспользоваться командой &amp;lt;code&amp;gt;sudo journalctl -u ses&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Удаление и обновление ses&#039;&#039;&#039;===&lt;br /&gt;
Для удаления выполните команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/ses/uninstall&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Команда удалит сервис и рабочий каталог, включая все файлы конфигурации. Для обновления запустите скрипт установки, как указано в п. 4. При этом обновление не изменяет файл /opt/ses/config.json.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2727</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2727"/>
		<updated>2025-07-03T12:28:57Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста/&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | [ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2726</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2726"/>
		<updated>2025-07-03T12:25:39Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | [ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2725</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2725"/>
		<updated>2025-07-03T12:23:31Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции ошибок, от 0 до 3, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;corrected&amp;quot;: &amp;quot;исправленный текст&amp;quot;, # при наличии флага коррекции&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;&amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt; &lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2724</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2724"/>
		<updated>2025-07-03T12:17:33Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;maxDocs&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;  &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2723</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2723"/>
		<updated>2025-07-03T12:16:36Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt; &lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2722</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2722"/>
		<updated>2025-07-03T12:16:30Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;[]В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;maxDocs&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/replacementlist&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |список всех фраз в документах и ответов в вопросах, подлежащих правке. &amp;lt;small&amp;gt;Векторно ищет все фрагменты по указанному тексту.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, в которой производится векторный поиск&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — порог похожести, необязательный параметр, если не указан, берется из конфигурационного файла (fragments -&amp;gt; threshold)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;  &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;docs&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answers&amp;quot;: []&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;  &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2721</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2721"/>
		<updated>2025-07-03T12:08:35Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; | &#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039; &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039; &lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2720</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2720"/>
		<updated>2025-07-03T12:04:15Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: /* /qas: методы работы с сервисом qas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавление элемента данных &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2719</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2719"/>
		<updated>2025-07-03T11:50:35Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Генерация ответов на вопросы в кэше. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получить список категорий &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2718</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2718"/>
		<updated>2025-07-03T08:45:26Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция поиска говорящих по базе SBS. Если 1, то дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расстановки знаков препинания. Если 1, то дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте, значение по умолчанию берётся из файла конфигурации (для модели big пунктуация выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста, если 1, то выполняется обратная нормализация текста текста (для модели big выполняется в любом случае).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность через smc (GET/smc/toxicity).Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста через smc (GET/smc/emotion). Возможные ответы: negative, neutral, positive.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол, запрашивается в sbs метод POST/sbs/analyze.Аудио говорящего анализируется на возраст (child, adult, old).Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classifiers&#039;&#039;&#039;&amp;lt;nowiki&amp;gt; - дополнительно проанализировать все распознанные фразы через модели smc и/или see. отправляется в виде {&amp;quot;smс&amp;quot;:&amp;quot;название модели&amp;quot;:{ параметры запроса }}. Подробнее о параметрах запроса см. в документации по сервисам &amp;lt;/nowiki&amp;gt;[[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае &#039;&#039;&#039;async=1&#039;&#039;&#039; возвращается только &#039;&#039;&#039;taskID&#039;&#039;&#039;, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагмента&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Для транскрибации больших файлов:&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;speakers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;&amp;quot;classifiers&amp;quot;: тут ответы от моделей smc и see,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;        &amp;quot;emotion&amp;quot;: {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;          &amp;quot;confidence&amp;quot;: 0.7554781436920166  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; —  Использовать генеративную сеть для поиска ответов в документах. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; —  Добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2717</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2717"/>
		<updated>2025-07-03T08:39:18Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;denoise&#039;&#039;&#039; — наличие шумоподавления&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция разделения по говорящим&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расставления знаков препинания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;preset&#039;&#039;&#039; — используемая модель для vad = neuro&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих). В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файла конфигурации). normalization=1 для обратной нормализации текста. В случае использования модели BIG параметры &#039;&#039;&#039;punctuation&#039;&#039;&#039; и &#039;&#039;&#039;normalization&#039;&#039;&#039; игнорируются — модель всегда расставляет знаки препинания и нормализует текст.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;toxicity&#039;&#039;&#039; запрашивается в smc метод GET/smc/toxicity&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;emotion&#039;&#039;&#039; запрашивается в smc метод GET/smc/emotion&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Высказывание анализируется на эмоциональность (negative, neutral, positive)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; запрашивается в sbs метод POST/sbs/analyze.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Аудио говорящего анализируется на возраст (child, adult, old)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае async=1 возвращается только taskID, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Для &#039;&#039;&#039;коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагментв&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }]}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Для транскрибации &#039;&#039;&#039;больших файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;speakers&amp;quot;: [    {&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      { &amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;emotion&amp;quot;: {   &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,   &amp;quot;confidence&amp;quot;: 0.7554781436920166  } } } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; —  Использовать генеративную сеть для поиска ответов в документах. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; —  Добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2716</id>
		<title>SMC. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2716"/>
		<updated>2025-07-03T08:39:05Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Short  Message Classifier предназначен для классификации текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Short  Message Classifier (SMC) - сервис классификации текстовых фрагментов.&lt;br /&gt;
&lt;br /&gt;
Модель — предварительно обученная специализированная нейронная сеть классификации коротких фраз.&lt;br /&gt;
&lt;br /&gt;
Swagger UI – интерактивная  веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API SMC&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SMC. По умолчанию используется порт 6181/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке &amp;lt;nowiki&amp;gt;http://АДРЕС:6181&amp;lt;/nowiki&amp;gt; будет отображен интерфейс swagger со всеми методами с возможностью их проверки. &lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Постобработка&#039;&#039;&#039; =====&lt;br /&gt;
Модель может содержать постобработчик. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /smc/classify/{id}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Пример пустой функции:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;def handler(classes=[],text=&amp;quot;&amp;quot;):&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;  returns classes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На вход подается результат работы модели, а также начальный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Вывод списка моделей. Выводит только пользовательские модели. Сервисные модели, корпуса, наборы меток не выводит.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Без входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ models: [model1,...,modelN] }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/automark/list&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Список заданий на автоматическую разметку корпуса. Метод для использования сервисом ups.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Без входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;tasks&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;id-1&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;name1&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    },&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;id-nnnn&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;name2&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получить результат задания на автоматическую разметку корпуса. Метод для использования сервисом ups.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    [ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/automark/start&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Начать автоматическую разметку корпуса. Метод для использования сервисом ups.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; - произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; - json строка с размечаемым корпусом[&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; - json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; - &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса. Метод для использования сервисом ups.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Прервать задание на автоматическую разметку корпуса. Метод для использования сервисом ups.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/classify/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Классификация текстовой фразы. В случает если модель была создана из меток в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; - список , для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;groups&#039;&#039;&#039; - название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т.е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;nearest&#039;&#039;&#039; - отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - проверять правописание слов и исправлять ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % - минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;classes&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;confidence&amp;quot;: 1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    },&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;confidence&amp;quot;: 1&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    },&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Убирает из фразы слова не влияющие на ее смысл.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/confusion/{id}/{type}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получение изображения матрицы ошибок.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; - тип данных для построения матрицы, train или test&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Возвращает PNG изображение с матрицей ошибок&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Коррекция правописания. Изменяет неправильно написанные слова меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернет текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - уровень коррекции, от 1 до 3. По умолчанию 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - если указано, то при коррекции дополнительно используется словарь модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/data/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получение архива модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE/smc/data/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Удаление модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/data/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Добавление модели. Окончание работы проверяется через метод /smc/info/{id}. Модель может быть добавлена следующими способами:&amp;lt;/small&amp;gt; &lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;файл архива модели&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;переименование существующей модели&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;создание новой модели из обучающего корпуса&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; - zip-архив с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from-existing-model&#039;&#039;&#039; - название модели, которое должно быть переименовано в &#039;&#039;&#039;id&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv-file&#039;&#039;&#039; - текстовый файл для обучения модели или json файл с метками&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; - если &amp;quot;1&amp;quot; то вместо csv файла корпуса метод ожидает json файл с меткам, формат файла &#039;&#039;&#039;csv-file&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;уникальный идентификатор&amp;quot;,  &amp;quot;name&amp;quot;: &amp;quot;имя набора&amp;quot;, &amp;quot;data&amp;quot;: [ [&amp;quot;метка1&amp;quot;,[&amp;quot;синоним1&amp;quot;, &amp;quot;еще несколько синонимов через запятую&amp;quot;],порог достоверности],&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;[&amp;quot;еще метка&amp;quot;,[&amp;quot;синоним&amp;quot;, &amp;quot;еще несколько синонимов через запятую&amp;quot;],порог достоверности]]}&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;модель созданная из меток при этом не обучается, созданный файл модели используется для расчетов векторов &amp;quot;на лету&amp;quot; и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Анализ эмоций. На выходе один из вариантов &#039;&#039;positive negative neutral.&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/errors/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получение файла с ошибками модели.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; - тип ошибок, возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;train&#039;&#039;&#039; - ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;test&#039;&#039;&#039; - ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;mark&#039;&#039;&#039; - ошибки создания модели из меток&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;текстовый файл со строками вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;ИСТИНА&amp;lt;TAB&amp;gt;ОПРЕДЕЛЕНО&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/groups/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Поиск групп по ранее полученным меткам. Ищет группы по набору меток. Результат - группы (если найдены) и ближайшие группы с указанием недостающих меток.  Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Результат в виде json.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;intersection&amp;quot;: 3,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;метка1_о&amp;quot;, &amp;quot;метка2_о&amp;quot;, &amp;quot;метка3_о&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    },&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;метка1_о&amp;quot;, &amp;quot;метка5_о&amp;quot; ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/groups/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Добавляет к модели группы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv-file&#039;&#039;&#039; - файл с группами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получает [https://wiki.connect2ai.net/index.php/SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F#%D0%9F%D0%BE%D1%81%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0 постобработчик] модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Файл программы обработчика на python&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot;|&#039;&#039;&#039;DELETE/smc/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Удаляет [https://wiki.connect2ai.net/index.php/SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F#%D0%9F%D0%BE%D1%81%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0 постобработчик] модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;string&amp;quot; }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Устанавливает [https://wiki.connect2ai.net/index.php/SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F#%D0%9F%D0%BE%D1%81%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0 постобработчик] модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; - файл постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;string&amp;quot; }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/info/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Получение информации о модели. В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;На выходе будут следующие параметры:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;status&#039;&#039;&#039; - статус&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; - список классов в модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;groups&#039;&#039;&#039; - список групп в модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainCorpusName&#039;&#039;&#039;, &#039;&#039;&#039;testCorpusName&#039;&#039;&#039; - названия файлов, использованных при обучении и тестировании&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainAccuracy&#039;&#039;&#039;, &#039;&#039;&#039;testAccuracy&#039;&#039;&#039; - точность обучения и тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;initCorpusLength&#039;&#039;&#039; - начальный размер корпуса обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainCorpusLength&#039;&#039;&#039; - размер корпуса после нормализации и синтеза данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;testCorpusLength&#039;&#039;&#039; - размер тестового корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainConfusionMatrix&#039;&#039;&#039; - матрица ошибок обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;testConfusionMatrix&#039;&#039;&#039; - матрица ошибок тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/log/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Лог всех действий во время обучения/тестирования модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;Лог содержится в переменной log в виде списка.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;log&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;training&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;normalization: 5, model size: 2&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    ...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Обратная нормализация текста. Пример: двадцать пятого апреля в пятом часу -&amp;gt; 25 апреля в 5-м часу&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Расстановка знаков препинания.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/search&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Семантический поиск фразы в тексте.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;phrase&#039;&#039;&#039; - искомая фраза&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст в котором нужно найти фразу&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;similarity&amp;quot;: 1,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;fragment&amp;quot;: &amp;quot;найденная фраза&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot;|&#039;&#039;&#039;POST/smc/test/{id}&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Тестирование модели. Тестируется заранее подготовленным текстовым файлом со строками вида: КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Метод асинхронный. Окончание работы проверяется через метод /smc/info/{id}.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv-file&#039;&#039;&#039; - файл для тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;correction&#039;&#039;&#039; - исправлять ошибки правописания в файле для тестирования (&#039;&#039;&#039;0&#039;&#039;&#039; или &#039;&#039;&#039;1&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot;|&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot;|&amp;lt;small&amp;gt;Определение токсичности высказывания. Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%|&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2715</id>
		<title>UPS. Описание API</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=UPS._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_API&amp;diff=2715"/>
		<updated>2025-07-03T08:30:48Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Описание часто используемых параметров&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!Тип&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servicetype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип сервиса. Возможные значения: spr, smc, see, sbs, tts.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;servertype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Название модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;modeltype&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;запрос&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Тип модели. Возможные значения: &#039;&#039;&#039;future&#039;&#039;&#039; — планируемая/черновик, &#039;&#039;&#039;current&#039;&#039;&#039; — текущая/рабочая, &#039;&#039;&#039;previous&#039;&#039;&#039; — архивная.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;error&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Флаг ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;small&amp;gt;message&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|&amp;lt;small&amp;gt;ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Информационное сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;&amp;quot;/external modules&amp;quot; методы внешних модулей&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
В этом разделе будут методы соответствующим образом оформленных [[UPS. Руководство администратора#Установка модулей для UPS|внешних модулей]]&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/auth: методы  авторизации&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/access&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение токенов доступа. &amp;lt;small&amp;gt;Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039; — логин&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039; — пароль&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление dataset (набора данных). &amp;lt;small&amp;gt;Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;data — json строка вида: {    &amp;quot;name&amp;quot;: &amp;quot;название нового набора&amp;quot;     }&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset_id&amp;quot;: &amp;quot;XXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/dataset/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление dataset (набора данных). &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/dataset/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Переименование dataset (набора данных). &amp;lt;small&amp;gt;Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора данных&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON c новыми параметрами&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/datasets&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов данных.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;XXX&amp;quot;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;По умолчанию&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/refresh&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление токенов доступа. &amp;lt;small&amp;gt;Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-refresh-token&#039;&#039;&#039; — токен обновления доступа&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-access-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;x-refresh-token&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXXXX&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/rights&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка прав доступа. &amp;lt;small&amp;gt;Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;{  &amp;quot;РОЛЬ&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;GET:/......&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nopassword&amp;quot;: [    &amp;quot;GET:/.......&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;&amp;lt;&amp;lt;...............&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;POST:/.......&amp;quot;  ]  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание роли. &amp;lt;small&amp;gt;Служебный метод — используется веб-интерфейсом при создании роли.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;role_id&amp;quot;: &amp;quot;a7e68bb83169f864c2fc868401b5250c&amp;quot;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/role/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление роли.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/role/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение роли. &amp;lt;small&amp;gt;Параметры как при создании роли. Роль будет переписана.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; роли&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — JSON с параметрами роли:{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;проверка создания&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [    &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/roles&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка ролей.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;name&amp;quot;: &amp;quot;имя роли&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;rights&amp;quot;: [ &amp;quot;набор прав через запятую&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;},............]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового пользователя. &amp;lt;small&amp;gt;Метод вернет или id нового пользователя или описание ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json строка {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;login_name&amp;quot;, &amp;quot;fullname&amp;quot;: &amp;quot;Отображаемое Имя&amp;quot;,&amp;quot;password&amp;quot;: &amp;quot;XXXXX&amp;quot;,&amp;quot;role&amp;quot;: &amp;quot;role_id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;default dataset id&amp;quot;, &amp;quot;datasets&amp;quot;: [ &amp;quot;dataset id&amp;quot;, ................. ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;user_id&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXX&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/auth/user/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [ &amp;quot;0&amp;quot;, &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot; ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/info&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение параметров пользователя по его токену доступа. &amp;lt;small&amp;gt;Служебный метод - для предоставления прав текущему пользователю по его токену&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;x-access-token&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/user/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка пользователей с их параметрами. &amp;lt;small&amp;gt;Тоже самое что и в методе GET /auth/user/info, только для всех пользователей&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;XXXXXXXXXX&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;username&amp;quot;: &amp;quot;loginname&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;fullname&amp;quot;: &amp;quot;Full Name&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;role&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datasets&amp;quot;: [  &amp;quot;0&amp;quot;,  &amp;quot;2dc34d3454243522e5407d3a170815a2&amp;quot;]  },  &amp;quot;rights&amp;quot;: [..........] },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение параметров пользователя&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — параметры пользователя как при создании&amp;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/user/password&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Смена пароля пользователя по его токену доступа.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;password&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{ &amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;} &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/auth/userlog&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение действий пользователя за период времени по его токену&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from&#039;&#039;&#039; — начало периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;to&#039;&#039;&#039; — конец периода в формате &amp;quot;%Y-%m-%d %H:%M&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;время&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;метод&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      {измененные данные в формате метода}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    .........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/auth/version&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение версии сервиса ups&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;version&amp;quot;: &amp;quot;4.082 release&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/lang: методы мультиязычности&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит информацию о переводе элементов интерфейса на текущий язык&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;see&amp;quot;:&amp;quot;Сущности&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;smc&amp;quot;:&amp;quot;Классификатор&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/lang/wallpaper&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;image/jpeg&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/server: получение информации о серверах&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/addresses/{servicetype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;trainer&#039;&#039;&#039; — сервер обучения, &#039;&#039;&#039;cluster&#039;&#039;&#039; — рабочие серверы, &#039;&#039;&#039;connect&#039;&#039;&#039; — время на подключение, &#039;&#039;&#039;read&#039;&#039;&#039; — время на ответ,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;failed&#039;&#039;&#039; — время пребывания в сбойных, &#039;&#039;&#039;install&#039;&#039;&#039; — время на установку модели, &#039;&#039;&#039;info&#039;&#039;&#039; — время на получение информации о модели,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;counter&#039;&#039;&#039; — счетчик запросов, &#039;&#039;&#039;current&#039;&#039;&#039; — индекс последнего опрошенного cluster-сервера&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;fail&#039;&#039;&#039; — массив сбойных серверов со временем постановки в сбой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;trainer&amp;quot;: &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;cluster&amp;quot;: [ &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;timers&amp;quot;: {  &amp;quot;connect&amp;quot;: 0.5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;read&amp;quot;: 1,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;failed&amp;quot;: 600,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;install&amp;quot;: 60,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;info&amp;quot;: 3 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;counter&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fail&amp;quot;: {&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;:1686295678} }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |GET/server/get/models/{servicetype}/{servertype}&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. &amp;lt;small&amp;gt;Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servertype&#039;&#039;&#039; — тип серверов&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6181&amp;lt;/nowiki&amp;gt;&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;modelN&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ],  ... }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/model: методы работы с моделями&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/add/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание пустой модели в указанном сервисе. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 30%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 70%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/apply/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение установленной на рабочих серверах модели. &amp;lt;small&amp;gt;После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/delete/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Полностью удаляет модель из системы и со всех управляемых серверов. &amp;lt;small&amp;gt;Доступно для следующих сервисов: smc, see, spr.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/errors/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запрос на получение списка ошибок модели после тестирования/обучения.  &amp;lt;small&amp;gt;Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип ошибок в выводе&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- train&#039;&#039;&#039; ошибки обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- test&#039;&#039;&#039; ошибки тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;- mark&#039;&#039;&#039; ошибки авторазметки&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [true, predicted, phrase],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;... ]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/export/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Экспорт модели, модель скачивается в виде zip-архива.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл model.zip, где model — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика из модели типа future. &amp;lt;small&amp;gt;Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель типа future. &amp;lt;small&amp;gt;Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя [[SMC. Руководство пользователя|smc]] и [[SEE. Руководство пользователя|see]].&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из модели типа future.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;DELETE/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление постобработчика в указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла-постобработчика в указанную модель указанного типа. &amp;lt;small&amp;gt;Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;handler&#039;&#039;&#039; — файл, содержащий программный код python постобработчика&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/handler/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение файла-постобработчика из указанной модели указанного типа.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/import/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импортирует модель в черновик (modeltype=future)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip с файлами модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о всех моделях указанного сервиса. &amp;lt;small&amp;gt;Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;model1&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;current&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;empty&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }    },   ...  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение информации о каждом типе (modeltype) указанной модели. &amp;lt;small&amp;gt;Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{    &amp;quot;previous&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;current&amp;quot;:  {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;future&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;status&amp;quot;: &amp;quot;trained&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ...  }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/install/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Установка импортированной или обученной модели на рабочих серверах.&lt;br /&gt;
&amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;:0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;GET/model/log/{servicetype}/{model}/{modeltype}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выводит лог обучения и тестирования модели. &amp;lt;small&amp;gt;Доступно для следующих сервисов: &#039;&#039;&#039;smc&#039;&#039;&#039;, &#039;&#039;&#039;see&#039;&#039;&#039;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;modeltype&#039;&#039;&#039; — тип модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;training&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;preparing data&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tokenizing&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;&amp;lt;small&amp;gt;POST/model/restore/{servicetype}/{model}&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат модели. &amp;lt;small&amp;gt;Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:&amp;lt;/small&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;current -&amp;gt; future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;previous -&amp;gt; current&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;null -&amp;gt; previous&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — название модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;:0,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/corpus: работа с данными для обучения моделей&#039;&#039;&#039; =====&lt;br /&gt;
Методы данного класса предназначены только для сервисов smc и see&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень заданий автоматической маркировки корпусов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;tasks&amp;quot;: [ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;29d9da98-d6c1-4dc1-bbc9-111309816002&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;test_doc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {  &amp;quot;id&amp;quot;: &amp;quot;1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;taskname&amp;quot;: &amp;quot;sssss&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;    }  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/result/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Результат выполнения задания на автомаркировку корпуса. &amp;lt;small&amp;gt;Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;started&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 18:05:51&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;quot;corpus&amp;quot;: [[ [], [ [&amp;quot;тэг&amp;quot;],&amp;quot;фраза 1&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;small&amp;gt;[ [], [[&amp;quot;тэг&amp;quot;],&amp;quot;фраза 2&amp;quot;]] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Начать автоматическую разметку корпуса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskname&#039;&#039;&#039; — произвольное имя задания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — json строка с размечаемым корпусом[[ [класс1,... классН], текст ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ [класс1,... классН], текст ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;marks&#039;&#039;&#039; — json строка с набором меток [    [ метка, [синоним, синоним2 ... синоним Н], порог ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[ метка, [синоним, синоним2 ... синоним Н], порог ]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;appendMarks&#039;&#039;&#039; — &amp;quot;yes&amp;quot; - дополнить разметку, &amp;quot;no&amp;quot; -заменить разметку&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;уникальный id задания&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/status/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получить статус задания на автоматическую разметку корпуса.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — уникальный id задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;finished&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;started&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;finished&amp;quot;: &amp;quot;2024-10-09 13:49:46&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/automark/stop/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать задание на автоматическую разметку корпуса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/copy/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Копирование корпуса данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/corpus/delete/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаляет корпус с данными&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/export/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает текстовый файл с корпусом, &amp;lt;small&amp;gt;содержащий строки вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл name.txt&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/get/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает JSON с данными корпуса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  [ &amp;quot;тэг&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;фраза&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ],&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;  ...&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/import/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод для импорта корпуса данных. &amp;lt;small&amp;gt;Возможен как из текстового файла со строками вида КЛАСС&amp;lt;TAB&amp;gt;ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл данных&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startDate&#039;&#039;&#039; — дата начала выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;stopDate&#039;&#039;&#039; — дата окончания выборки, YYYY-MM-DD&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели, из логов которой будет произведен импорт&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;limit&#039;&#039;&#039; — числовое ограничение строк импорта&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/corpus/list/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Возвращает список всех корпусов данных для указанного типа сервиса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ &amp;quot;корпус1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;корпус2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/put/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перезаписывает корпус отправленным массивом данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка формата json с данными. Аналогична выводу метода GET /get/{servicetype}&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color: green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/corpus/rename/{servicetype}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Переименование корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;servicetype&#039;&#039;&#039; — тип сервиса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;srcname&#039;&#039;&#039; — текущее имя&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;dstname&#039;&#039;&#039; — новое имя&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/marks: работа с наборами меток в smc&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление набора менток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; —список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя создаваемого набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/marks/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление набора меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде строк &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;метка1    синоним1,синоним2,синоним3,синонимN     0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;меткаN    синоним11,синоним21,синоним31,синонимN1    0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение набора меток в виде json&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;метка1&amp;quot;, [ &amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot;  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    [&amp;quot;меткаN&amp;quot;, [&amp;quot;синоним11&amp;quot;,&amp;quot;синоним21&amp;quot;, &amp;quot;синоним31&amp;quot;,&amp;quot;синонимN1&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      0.9&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ]  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из файла. &amp;lt;small&amp;gt;Набор будет переписан из файла&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл &amp;quot;метка&amp;quot;ТАБ&amp;quot;синонимы через запятую&amp;quot;ТАБ&amp;quot;достоверность(число от 0 до 1)&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/marks/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка наборов меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;result&amp;quot;: [    { &amp;quot;id&amp;quot;: &amp;quot;416fbe08-19e9-453c-b140-37008a08a76c&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;16e77fa2-7c4d-47f9-8644-6385876525d6&amp;quot;,&amp;quot;name&amp;quot;: &amp;quot;Рыжик&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;132310fa-98c7-4b12-896f-ff113827d077&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/put/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Импорт в существующий набор меток из json строки. &amp;lt;small&amp;gt;Набор будет переписан&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — список меток в формате: [ [  &amp;quot;метка1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним1&amp;quot;, &amp;quot;синоним2&amp;quot;, &amp;quot;синоним3&amp;quot;, &amp;quot;синонимN&amp;quot; ], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ],  [ &amp;quot;меткаN&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      [&amp;quot;синоним11&amp;quot;, &amp;quot;синоним21&amp;quot;,&amp;quot;синоним31&amp;quot;, &amp;quot;синонимN1&amp;quot;], 0.9 # достоверность для метки (0 - 1)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    ] ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор заменяемого набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/marks/rename/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Присваивает новое наименование существующему набору меток&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое имя набора&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/spr: работа с сервисом SPR&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/audio/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аудиофайла отложенного задания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Wav файл&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/queue&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение очереди отложенных заданий. &amp;lt;small&amp;gt;Выводит очередь со статусами выполнения заданий. Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Нет входных параметров&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{  &amp;quot;id задания&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;created&amp;quot;: &amp;quot;ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;status&amp;quot;: &amp;quot;waiting&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;filename&amp;quot;: &amp;quot;wav&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/spr/queue/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление задания из очереди&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/result/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |получениеПезультатов распознавания отложенного задания. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;ready&#039;&#039;&#039; — готово,  &#039;&#039;&#039;waiting&#039;&#039;&#039; — ожидание, &#039;&#039;&#039;failed&#039;&#039;&#039; — сбой, &#039;&#039;&#039;not found&#039;&#039;&#039; — не найдена&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания в очереди/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/spr/stt/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отправка файла на распознавание речи. &amp;lt;small&amp;gt;Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в [[SPR. Руководство администратора.|руководстве администратора]] spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;denoise&#039;&#039;&#039; — наличие шумоподавления&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для распознавания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speakers&#039;&#039;&#039; — опция разделения по говорящим&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;punctuation&#039;&#039;&#039; — опция для расставления знаков препинания&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;normalization&#039;&#039;&#039; — опция обратной нормализации текста&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;vad&#039;&#039;&#039; — используемый VAD, по умолчанию webrtc&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;preset&#039;&#039;&#039; — используемая модель для vad = neuro&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;toxicity&#039;&#039;&#039; — анализировать распознанный текст на токсичность&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emotion&#039;&#039;&#039; — выявить эмоции из распознанного текста&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; — анализировать аудиофрагменты каждого из говорящих на эмоции, возраст и пол&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;speaker_counter&#039;&#039;&#039; — количество докладчиков, по умолчанию 0, автоматическое определение количества&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;async&#039;&#039;&#039; — отложенный запуск распознавания.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему (используется сервис SBS с предварительно обученными слепками метаданных говорящих). В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файла конфигурации). normalization=1 для обратной нормализации текста. В случае использования модели BIG параметры &#039;&#039;&#039;punctuation&#039;&#039;&#039; и &#039;&#039;&#039;normalization&#039;&#039;&#039; игнорируются — модель всегда расставляет знаки препинания и нормализует текст.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;toxicity&#039;&#039;&#039; запрашивается в smc метод GET/smc/toxicity&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;оскорбление&amp;quot;: 0.13,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;непристойность&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;угроза&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;вежливость&amp;quot;: 0.53&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;emotion&#039;&#039;&#039; запрашивается в smc метод GET/smc/emotion&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Высказывание анализируется на эмоциональность (negative, neutral, positive)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;При установке параметра &#039;&#039;&#039;voice_analyzer&#039;&#039;&#039; запрашивается в sbs метод POST/sbs/analyze.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Аудио говорящего анализируется на возраст (child, adult, old)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Эмоции (ANGER, BORE, DISAPPOINTMENT, DISGUST, EXCITEMENT, FEAR, NEUTRAL, PAIN, PLEASURE, SADNESS, SUPRISE).&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Пол (male, female).&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае async=1 возвращается только taskID, результат по taskID смотреть в методе /spr/result.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Для &#039;&#039;&#039;коротких файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;model&amp;quot;: &amp;quot;call&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;текст фрагментв&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &amp;quot;word&amp;quot;: &amp;quot;текст&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start&amp;quot;: 520,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1240 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    { &amp;quot;word&amp;quot;: &amp;quot;фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start&amp;quot;: 1240,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: 1920  }]}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Для транскрибации &#039;&#039;&#039;больших файлов&#039;&#039;&#039;:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;speakers&amp;quot;: [    {&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration&amp;quot;: 18980,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;fragments&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;age&amp;quot;: &amp;quot;old&amp;quot;, # только для voice_analyzer=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;gender&amp;quot;: &amp;quot;female&amp;quot; # только для voice_analyzer=1}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;splitted&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;start&amp;quot;: &amp;quot;00:00:01.870&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;words&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      { &amp;quot;word&amp;quot;: &amp;quot;текст.&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;start&amp;quot;: 1870,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;stop&amp;quot;: 2710,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;confidence&amp;quot;: 0.95263671875}],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop&amp;quot;: &amp;quot;00:00:05.510&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration&amp;quot;: &amp;quot;00:00:03.640&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;start_ms&amp;quot;: 1870,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;stop_ms&amp;quot;: 5510,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;duration_ms&amp;quot;: 3640,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;speaker&amp;quot;: 4,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;speakerConfidence&amp;quot;: 0.87,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;toxicity&amp;quot;: { # только для toxicity=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;insult&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;obscenity&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;threat&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;politeness&amp;quot;: 0.99},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;emotion&amp;quot;: { &amp;quot;neutral&amp;quot;: -0.3315 }, # только для emotion=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice_analysis&amp;quot;: { # только для voice_analyzer=1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;emotion&amp;quot;: {   &amp;quot;class&amp;quot;: &amp;quot;NEUTRAL&amp;quot;,   &amp;quot;confidence&amp;quot;: 0.7554781436920166  } } } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/spr/waveform/{taskID}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, содержит пики сигнала.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/smc: работа с сервисом SMC&#039;&#039;&#039; =====&lt;br /&gt;
{{SMC._Руководство_пользователя}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GETsmc/classify/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Классификация текстовой фразы. &amp;lt;small&amp;gt;В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;В ответе:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;    classes — список, для каждого класса которого отображается название класса, к которому был отнесен текст, и вероятность его принадлежности к этому классу.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    groups — название группы и число совпавших классов. Если метки совпадают с несколькими группами, они отображаются в порядке убывания числа совпавших классов (т. е. чем полнее группа, тем выше ее позиция в списке).&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;    nearest — отображаются группы, до которых не хватает всего одной метки, с указанием процента заполненности и сортировкой по убыванию этого процента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст, подлежащий классификации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;confidenceThreshold&#039;&#039;&#039;, % &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; минимальный порог доверия.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;class&amp;quot;: &amp;quot;название класса 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;confidence&amp;quot;: 1    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;название группы 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;classes&amp;quot;: [ &amp;quot;название класса&amp;quot;, &amp;quot;название класса 2&amp;quot; ]    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {     &amp;quot;group&amp;quot;: &amp;quot;название группы 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 1&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;group&amp;quot;: &amp;quot;&amp;quot;название группы 3&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;percent&amp;quot;: 0.67,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;need&amp;quot;: &amp;quot;название класса которого не хватило 2&amp;quot;    }  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/compress&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Убирает из фразы слова не влияющие на ее смысл.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для сжатия&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; уровень компрессии от 1 до 100. Чем меньше число тем меньше слов будет в итоговой фразе&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;сжатый текст&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/correct&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Коррекция правописания. &amp;lt;small&amp;gt;Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текст для коррекции&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;корректный текст&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/emotion&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Анализ эмоций. &amp;lt;small&amp;gt;На выходе один из вариантов: positive, negative, neutral.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; фраза для анализа эмоций&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет к модели группы из корпуса. &amp;lt;small&amp;gt;Группы в модели будут перезаписаны&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — наименование модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — наименование корпуса- источника групп&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/groups/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск групп по ранее полученным меткам. &amp;lt;small&amp;gt;Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;classes&#039;&#039;&#039; — набор меток через запятую&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;groups&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка2_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка3_о&amp;quot;     ]   },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;intersection&amp;quot;: 2,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;classes&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка1_о&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;       &amp;quot;метка5_о&amp;quot;     ]   }],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;nearest&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   {     &amp;quot;group&amp;quot;: &amp;quot;Группа до которой не хватило 1 метки&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;percent&amp;quot;: 0.75,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     &amp;quot;need&amp;quot;: &amp;quot;недостающая метка_о&amp;quot;   } ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обратная нормализация текста. &amp;lt;small&amp;gt;Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;&amp;lt;строка после обратной нормализации&amp;gt;&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/punctuate&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Расстановка знаков препинания&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;text&amp;quot;: &amp;quot;string&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели. &amp;lt;small&amp;gt;Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;string&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/test/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск тестирования модели smc. &amp;lt;small&amp;gt;Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с тестовыми данными&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/smc/toxicity&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Определение токсичности высказывания. &amp;lt;small&amp;gt;Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; текстовая строка с высказыванием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;insult&amp;quot;: 0.13, # оскорбление&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;obscenity&amp;quot;: 0, # брань&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;threat&amp;quot;: 0, # угрозы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;politeness&amp;quot;: 0.53 вежливость}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/smc/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление модели. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — имя текстового корпуса для обучения модели или имя набора меток&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;isMarks&#039;&#039;&#039; — если «1», то вместо корпуса метод ожидает набор меток. Модель, созданная из меток, при этом не обучается, созданный файл модели используется для расчетов векторов «на лету» и выдачи результатов на основании сравнения векторов текста и синонимов из файла с метками.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/see: работа с сервисом SEE&#039;&#039;&#039; =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск сущностей. &amp;lt;small&amp;gt;Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;model — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ ID-модели: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ &#039;&#039;&#039;position&#039;&#039;&#039;: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;confidence&#039;&#039;&#039;: 1, #вероятность правильного определения сущности&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;text: текст сущности,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;calculated&#039;&#039;&#039;: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели  }, {...}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/stop/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка обучения модели&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/train/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск обучения модели &#039;&#039;&#039;&amp;lt;small&amp;gt;future&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;corpus&#039;&#039;&#039; — название корпуса с данными&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 0&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/sbs: работа с сервисом SBS&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение аналитических метаданных из голосового фрагмента. &amp;lt;small&amp;gt;Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ age: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;,   &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;emotion: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;, &amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;gender: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   confidence: 0.99 }  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск говорящего по базе слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; — процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление слепка в базу.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление слепка из базы.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &amp;lt;span data-darkreader-inline-color=&amp;quot;&amp;quot; data-darkreader-inline-bgcolor=&amp;quot;&amp;quot;&amp;gt;—&amp;lt;/span&amp;gt; идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка всех слепков.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;[ {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Дообучение слепка.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text. Для использования необходим сервис spr.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сравнение wav-файла cо слепком в базе. &amp;lt;small&amp;gt;В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/tts: методы работы с сервисом tts&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 80%&amp;quot; | &amp;lt;small&amp;gt;Простой текст — строки со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка пользовательского словаря ударений в виде json.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[ [   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;...]&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv file&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка пользовательского словаря ударений в виде json. &amp;lt;small&amp;gt;Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка json следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Нормализация текста &amp;lt;small&amp;gt;— перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  фраза для нормализации&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация или искажение голоса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  аудиофайл для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; —  модель модификации голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с модифицированным (искаженным) голосом&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перечень моделей модификации или искажения голоса. &amp;lt;small&amp;gt;Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста небольшого размера &amp;lt;small&amp;gt;— для совместимости с предыдущими версиями.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; —  скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{model}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Синтез звукового файла из текста для фраз большого размера &amp;lt;small&amp;gt;— тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; —  имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; —  высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; —  громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav-файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/qas: методы работы с сервисом qas&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; —  Использовать генеративную сеть для поиска ответов в документах. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; —  Добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. Возможные варианты: «yes», «no».&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше. &amp;lt;small&amp;gt;Статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки, поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе — id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; —  id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; —  ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; —  JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039; —  json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039; —  идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; —  фильтр вопросов, ограничение списка по вопросам&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;id&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;question&amp;quot;: &amp;quot;&amp;quot;,&amp;quot;incomplete&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [],&amp;quot;candidates&amp;quot;: [],&amp;quot;category&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;checked&amp;quot;: 0,&amp;quot;unchecked&amp;quot;: 0}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. &amp;lt;small&amp;gt;Позволяет заменить как все параметры так и отдельные&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов из файла &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0  }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETEqas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/ses: методы работы с роботом&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс &amp;quot;_prod&amp;quot;, для бэкапа &amp;quot;_backup&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;актуально для методов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получения данных робота  GET/ses/robot/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- применение настроек робота GET/ses/robot/commit/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- экспорт робота GET/ses/robot/export/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список скриптов GET/ses/robot/script/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение скрипта GET/ses/robot/script/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список ЭД GET/ses/robot/data/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение ЭД GET/ses/robot/data/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- список КТ GET/ses/robot/endpoint/list/{robot}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- получение КТ GET/ses/robot/endpoint/get/{robot}/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- метода ask (отладчика) POST/ses/ask/{robot_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/ask/{robot_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение ответа на запрос пользователя. &amp;lt;small&amp;gt;Метод для отладки робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; -— id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session&#039;&#039;&#039; —  uuid сессии, если это не первый запрос в сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;tts&#039;&#039;&#039; —  вернуть результат синтеза (1- вернуть, 0 - не выполнять синтез)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;variables&#039;&#039;&#039; —  словарик с переменными {&amp;quot;переменная1&amp;quot;:&amp;quot;значение&amp;quot;,&amp;quot;переменнаяN&amp;quot;:&amp;quot;значение&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;audio&#039;&#039;&#039; —  аудиофайл с запросом, текст запроса будет получен распознаванием audio&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;question&amp;quot;: &amp;quot;Вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answer&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;ответ&amp;quot;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;session&amp;quot;: null}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание нового робота. &amp;lt;small&amp;gt;На выходе id созданного робота или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя нового робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;2fd2f909-2069-4b20-a725-3a598c83f886&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/apply/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение робота. &amp;lt;small&amp;gt;Переводит черновик робота в статус prod. Если до этого был prod вариант —  становится backup.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/cleardraft/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обнуление черновика рабочей версией робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/commit/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Применение текущих изменений настроек робота. &amp;lt;small&amp;gt;Применимо ко всем версиям (черновик, рабочая, резервная копия)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/data/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек элемента данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;model&amp;quot;: &amp;quot;Рыжик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;param&amp;quot;: &amp;quot;PVE&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;weight&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;slaveData&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;forEndpointRunOnly&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {}  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/data/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка элементов данных&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/data/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение элемента данных. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода  &#039;&#039;&#039;GET/ses/robot/data/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление всех версий робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/endpoint/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление конечной точки.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение настроек конечной точки&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  конечной точки&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;pve&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [ [ &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;]],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;run&amp;quot;: [],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;default&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        {&amp;quot;action&amp;quot;: &amp;quot;say&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;text&amp;quot;: [ &amp;quot;текст сообщения&amp;quot;]        },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        { &amp;quot;action&amp;quot;: &amp;quot;следующее действие&amp;quot;}      ]    }  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/endpoint/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка конечных точек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;8576593b-b0d8-4b03-a623-74f3132356ea&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: []  },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;6500dd0f-4bd1-43b3-9fd4-145eb7210c45&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;точка 2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;entry&amp;quot;: [      [        &amp;quot;bc1cb1a1-c64e-46a1-b422-1a48de9ddacb&amp;quot;      ]    ]  }]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/endpoint/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение конечной точки. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как на выходе метода &#039;&#039;&#039;GET/ses/robot/endpoint/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/export/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка робота в архив&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;zip файл с именем = идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка основных настроек робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;description&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;voice&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;session&amp;quot;: {      &amp;quot;lifetime&amp;quot;: 600    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;models&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;servicedata&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;exceptions&amp;quot;: {},&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;actions&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;holidays&amp;quot;: [],&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;timeintervals&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: {&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;        &amp;quot;weekdays&amp;quot;: [ 1, 2, 3, 4, 5, 6,  7  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;dates&amp;quot;: [  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],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;months&amp;quot;: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;days&amp;quot;: &amp;quot;all&amp;quot;, &amp;quot;intervals&amp;quot;: [ [ 0,  1440 ] ] }}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/import/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка архива робота в черновик существующего робота&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;zip —&#039;&#039;&#039;  файл с архивом робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка роботов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {  &amp;quot;id&amp;quot;: &amp;quot;9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasProd&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;hasBackup&amp;quot;: true  } ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение основных настроек робота. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/get/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с новыми настройками робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/restore/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Откат рабочей версии из бэкапа. &amp;lt;small&amp;gt;Резервная копия становится рабочей, и удаляется, а черновик остается без изменений&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/add/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление нового скрипта. &amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/ses/robot/script/delete/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение текста скрипита&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор  скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;data&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;6a9f91b6-9634-4079-ac2b-60a944922c61&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Наименование скрипта&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;code&amp;quot;: &amp;quot;Текст скрипта&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/robot/script/list/{robot}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка скриптов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  {    &amp;quot;id&amp;quot;: &amp;quot;9b9d83b7-d5c3-49e6-9bd4-a123a9047939&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование1&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {    &amp;quot;id&amp;quot;: &amp;quot;48b508ba-a32b-4ada-bcc3-66ce26d81c6a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование2&amp;quot;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;}]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/ses/robot/script/modify/{robot}/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменение скрипта.&amp;lt;small&amp;gt;Формат &#039;&#039;&#039;data&#039;&#039;&#039; как в ответе метода &#039;&#039;&#039;GET/ses/robot/script/get/{robot}/{id}&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  json строка с параметрами элемента данных&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; —  идентификатор робота&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/session/{robot_id}/{session_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры сессии. &amp;lt;small&amp;gt;Для отображения на боковой панели тестирования в UPS. Основные блоки результата:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;robot_id&#039;&#039;&#039; —  id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;session_id&#039;&#039;&#039; —  id незакрытой сессии&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;started&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;modified&amp;quot;: &amp;quot;2024-11-05 15:03:14&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;current&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;request&amp;quot;: { },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {  }  } ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;history&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  {   &amp;quot;id&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;session&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;robot&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;channel&amp;quot;: &amp;quot;.....&amp;quot;, &amp;quot;closed&amp;quot;: false, &amp;quot;endpoint&amp;quot;: &amp;quot;.....&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;request&amp;quot;: {.....},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;reply&amp;quot;: {.....}  } ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/config&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает параметры виджета для web канала по запросу js скрипта&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;token&#039;&#039;&#039; —  уникальный код виджета, создается при внедрении&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Состав конфига канала, для передачи виджету. Подробней в [https://wiki.connect2ai.net/index.php/SES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B0%D0%B9%D1%82%D0%B0 Руководстве администратора]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/ses/widget/js&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выдает код js скрипта виджета для web-канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Код скрипта&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/res: методы работы с сервисом отчетов&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список рабочих столов kibana с наборами отчетов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;Наименование1&amp;quot;: &amp;quot;https://........&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;Наименование2&amp;quot;: &amp;quot;https://.........&amp;quot;  }}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;/transcription: методы работы со стенографией&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/audio/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить аудиофайл по id стенограммы. &amp;lt;small&amp;gt;Идентификатор нужной стенограммы можно получить методом&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;GET /transcription/list&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл сохраненной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/create&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Создание стенограммы из завершенного задания в очереди распознавания. &amp;lt;small&amp;gt;В ответ придет id созданной стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;taskID&#039;&#039;&#039; — идентификатор задания из очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя создаваемой стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;74721a3b-9055-4650-9afb-de4d103cafc7&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/transcription/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление стенограммы&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение стенограммы. &amp;lt;small&amp;gt;Используется для отображения стенограммы в веб интерфейсе&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка сохраненных стенограмм&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |[ {  &amp;quot;id&amp;quot;: &amp;quot;926e8d25-4275-4a78-906b-a1109cdacbea&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;название&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;model&amp;quot;: &amp;quot;big&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;created&amp;quot;: &amp;quot;2024-03-29 12:37:42&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;modified&amp;quot;: &amp;quot;2024-04-24 16:09:09&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;user&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;dataset&amp;quot;: &amp;quot;0&amp;quot; }, .... ] &lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/transcription/save/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Сохранение стенограмы. &amp;lt;small&amp;gt;Используется для сохранения изменений по нажатию кнопки «Сохранить».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; —  стенограмма в json формате&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/transcription/waveform/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Служебный метод для отображения аудио в графическом виде, &amp;lt;small&amp;gt;ответ содержит пики сигнала&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; стенограммы&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;waveform&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.016,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ..........&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.015,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   0.01 ] }&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%BE_UC&amp;diff=2714</id>
		<title>Документация по UC</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%BE_UC&amp;diff=2714"/>
		<updated>2025-07-03T08:12:28Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*&#039;&#039;&#039;Сервис MRCP (UMS)&#039;&#039;&#039;&lt;br /&gt;
**&amp;lt;small&amp;gt;[[UMS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Сервис отчетов (URS)&#039;&#039;&#039;&lt;br /&gt;
**&amp;lt;small&amp;gt;[[URS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
**&amp;lt;small&amp;gt;[[URS. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сервис обслуживания листов обзвона (CLP)==&lt;br /&gt;
&lt;br /&gt;
===Описание===&lt;br /&gt;
Сервис предназначен для обработки листов обзвона, включая автоматическую генерацию файлов для взаимодействия через Asterisk, управление исходящими звонками, логирование их статусов в MySQL, а также обработку завершённых вызовов. Он обеспечивает интеграцию с Asterisk и базой данных, что позволяет эффективно управлять большими объёмами телефонных обзвонов.&lt;br /&gt;
&lt;br /&gt;
===Функции===&lt;br /&gt;
#Подключение к MySQL для получения данных обзвона.&lt;br /&gt;
#Генерация файлов в папке &amp;lt;code&amp;gt;/var/spool/asterisk/outgoing&amp;lt;/code&amp;gt; для передачи в Asterisk.&lt;br /&gt;
#Обработка исходящих звонков (логирование и очистка).&lt;br /&gt;
#Обновление статусов необработанных номеров.&lt;br /&gt;
&lt;br /&gt;
===Переменные и пути===&lt;br /&gt;
*&#039;&#039;&#039;Конфигурация MySQL:&#039;&#039;&#039;&lt;br /&gt;
**Файл &amp;lt;code&amp;gt;/opt/voicetech/config/mysql.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Директории:&#039;&#039;&#039;&lt;br /&gt;
**Временные файлы: &amp;lt;code&amp;gt;/tmp/voicetech/outgoing&amp;lt;/code&amp;gt;&lt;br /&gt;
**Call файлы: &amp;lt;code&amp;gt;/var/spool/asterisk/outgoing&amp;lt;/code&amp;gt;&lt;br /&gt;
**Обработанные звонки: &amp;lt;code&amp;gt;/var/spool/asterisk/outgoing_done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Особенности использования на нескольких нодах===&lt;br /&gt;
Если скрипт будет запущен на двух или более нодах одновременно, возможны следующие проблемы:&lt;br /&gt;
*&#039;&#039;&#039;Конфликты при работе с MySQL:&#039;&#039;&#039;&lt;br /&gt;
**Оба скрипта могут обрабатывать одни и те же записи из базы данных, что приведёт к дублирующимся звонкам или некорректным обновлениям статусов.&lt;br /&gt;
*&#039;&#039;&#039;Логирование и статус в таблице &amp;lt;code&amp;gt;calllist_phones&amp;lt;/code&amp;gt;:&#039;&#039;&#039;&lt;br /&gt;
**Возможны ошибки при одновременных обновлениях статуса одной и той же записи.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2713</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2713"/>
		<updated>2025-07-03T08:12:03Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Документация по Флора AI ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис распознавания речи (SPR)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SPR. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SPR. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис классификации фраз (SMC)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SMC. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SMC. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис выделения сущностей (SEE)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SEE. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SEE. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис голосовой биометрии (SBS)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SBS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SBS. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис управления ядром (UPS)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[UPS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** [[SMC. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;SMC. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SEE. UPS руководство по работе с интерфейсом]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** [[SPR. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;SPR. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** [[SBS. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;SBS. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** [[TTS. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;TTS. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** [[QAS. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;QAS. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** [[SES. UPS руководство по работе с интерфейсом|&amp;lt;small&amp;gt;SES. UPS руководство по работе с интерфейсом&amp;lt;/small&amp;gt;]]&lt;br /&gt;
** &amp;lt;small&amp;gt;[[UPS. Описание API|Описание API]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервисный пакет окружения (PVE)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[PVE. Установка сервисного пакета окружения|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис синтеза речи (TTS)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[TTS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[TTS. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис ответов на вопросы (QAS)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[QAS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[QAS. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис проксирования отчетов (RES)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[RES. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[RES. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис сценарной машины (SES)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SES. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[SES. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Сервис резервного копирования (BSS)&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[BSS. Руководство администратора|Руководство администратора]]&amp;lt;/small&amp;gt;&lt;br /&gt;
** &amp;lt;small&amp;gt;[[BSS. Руководство пользователя|Руководство пользователя]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Документация по UC]]&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2712</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2712"/>
		<updated>2025-07-03T08:09:39Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;maxDocs&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, используемого для генерации вопросов, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - автоматическая генерация ответа для каждого сгенерированного вопроса, yes или no, по умолчанию no.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (текст, csv, pdf или текстовые офисные документы)&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; | &#039;&#039;&#039;POST/qas/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |корректировка информации в тексте при помощи LLM&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;oldinfo&#039;&#039;&#039; — старая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;newinfo&#039;&#039;&#039; — новая информация&amp;lt;/small&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;small&amp;gt;model&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;- какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;итоговый текст&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2711</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2711"/>
		<updated>2025-07-03T07:59:16Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;- generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - если указан код категории, то генерация только для этой категории&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Произвольный запрос в LLM.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useInternalTemplate&#039;&#039;&#039; - использовать ли шаблон запроса. &#039;&#039;&#039;no&#039;&#039;&#039; - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;params&#039;&#039;&#039; - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Очистка документа от лишней информации &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;измененный текст&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/paraphrase&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Генерация фраз-синонимов для предложения.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; предложение&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;template&#039;&#039;&#039; - ID шаблона запроса к LLM, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;texts&amp;quot;: [ &amp;quot;перефразированный текст 1&amp;quot;, ... ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039; &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2710</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2710"/>
		<updated>2025-07-03T07:43:04Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; | Получение списка вопросов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modifyanswers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных ответах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым ответами следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;question_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;answer_id&#039;: 5,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов prompt&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Добавление шаблона запроса к LLM. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;  — тип шаблона&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;- chat - произвольный чат,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- ask - запрос к документам,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- cleandoc - очистка документа, форматирование либо другое преобразование,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- similars_generator - генерация синонимичных которотких фраз,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- paraphrase - перефразировка текста,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- summarize - суммаризация текста (формирование краткой выдержки из текста),&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- question_generator - генерация вопросов по тексту,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;- replace - замена информации в тексте&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;prompt&#039;&#039;&#039; — текст шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;postprompt&#039;&#039;&#039; - текст шаблона постобработки результатов (нужен только для summarize)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/prompt/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Удаление шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение шаблона.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompt&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;type&amp;quot;: &amp;quot;cleandoc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;Чистка документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;prompt&amp;quot;: &amp;quot;Удали сноски, колонтитуры и мусорную информацию из текста ниже. Не удаляй ничего лишнего. Не добавляй ничего, только информация из текста. Выведи только конечный результат без отчета о результате.\n###Текст:\n{context}\n\n###Конечный результат:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/prompt/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Получение списка шаблонов.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;prompts&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;isDefault&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;name&amp;quot;: &amp;quot;Чат&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;prompt&amp;quot;: &amp;quot;Ты спокойный вежливый консультант.[\n\n###История переписки:\n{history}]\n\n###Вопрос: {question}\n###Ответ:&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;postprompt&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created&amp;quot;: 1751475766.7460272,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_modified_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;_created_date&amp;quot;: &amp;quot;2025-07-02&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/prompt/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Модификация шаблона. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ &amp;quot;name&amp;quot;: &amp;quot;новое имя&amp;quot; }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2709</id>
		<title>QAS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2709"/>
		<updated>2025-07-03T07:21:48Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== &#039;&#039;&#039;В Общее описание&#039;&#039;&#039; ====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ====&lt;br /&gt;
Сервис QAS доступен по протоколу HTTP 1.1 через порт 6187/tcp. Авторизация не требуется, но все запросы должны содержать заголовок «accept: application/json». Ответ сервиса возвращается в формате JSON. Если произошла ошибка, возвращается переменная «error=1» и описание ошибки в переменной «message». Для удобства тестирования и использования методов сервиса по адресу &amp;lt;nowiki&amp;gt;http://АДРЕС:6187&amp;lt;/nowiki&amp;gt; доступен интерфейс Swagger, который позволяет просматривать и тестировать все доступные методы из таблицы ниже.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Методы API&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов qas&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/ask&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст вопроса, на основе которого будут искаться фрагменты.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст ответа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/autocache&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопросно-ответной пары в кэш. &lt;br /&gt;
&amp;lt;small&amp;gt;В случае указания id answer будет принудительно добавлен в вопрос с указанным id. Если же указан question, то система сначала попытается найти похожий вопрос и добавить ответ в него, если же вопрос не будет найден, то система создаст новый с указанной формулировкой. При установке флага emptyQuestion будет добавлен только вопрос (без ответа).&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039; — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — канал&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — ответ&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;emptyQuestion&#039;&#039;&#039; — yes или no, флаг добавления вопроса без указания ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — код существующего вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Генерация ответов на вопросы в кэше. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - категория для которой генерируются ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; - режим генерации ответов, возможные значения:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;generate&#039;&#039;&#039; - генерирует кэш через разные ответы на каждый вопрос по документации&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;option&#039;&#039;&#039; - {all | empty} обработать все вопросы  или только не содержащие ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variants&#039;&#039;&#039; - количество ответов, от 1 до 9&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - заменить ответы на сгенерированные&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Состояние генерации ответов на вопросы в кэше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;статусы: &#039;&#039;&#039;started&#039;&#039;&#039;, &#039;&#039;&#039;stopped&#039;&#039;&#039;, если были ошибки поле ответа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;started&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 33.33 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cachemaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановить генерацию ответов на вопросы в кэше. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;На стадии разработки, не используется.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа на вопрос &amp;quot;как пройти в библиотеку&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом&amp;quot; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/chat&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск ответа за пределами документов. &amp;lt;small&amp;gt;Аналогичен методу  &amp;quot;POST/qas/chat&amp;quot;. Не поддерживает большие тексты.На стадии разработки, не используется.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text -&#039;&#039;&#039; текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;history&#039;&#039;&#039; - история вопросов, будет склеена с text при запросе&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для ответа, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Аналогично методу &amp;quot;POST/qas/chat&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/gpt/list&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Получение списка доступных(установленных) GPT моделей&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;models&amp;quot;: [&amp;quot;default&amp;quot; ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/answers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Отображает лог массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;на выходе :&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;массив из объектов {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  error: number;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  question: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  answer: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  confidence: number | null;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/questionlist/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Старт массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; - файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - в json или в text файл с вопросами&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; — id канала&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;creative&#039;&#039;&#039; — флаг креативности возможные варианты &amp;quot;yes&amp;quot; &amp;quot;no&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useCache&#039;&#039;&#039; — использовать кешированные ответы&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;возможные варианты:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;— &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot; не использовать&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;all&#039;&#039;&#039;&amp;quot; использовать все&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;- &amp;quot;&#039;&#039;&#039;checked&#039;&#039;&#039;&amp;quot; использовать только проверенные&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;useGPT&#039;&#039;&#039; — использовать генеративную сеть для поиска ответов в документах. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - имя модели GPT, если кроме default используются другие модели&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;addAlias&#039;&#039;&#039; — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты &amp;quot;&#039;&#039;&#039;yes&#039;&#039;&#039;&amp;quot; &amp;quot;&#039;&#039;&#039;no&#039;&#039;&#039;&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; - порог достоверности при обработке&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Статус массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{     error: string;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     status: &#039;started&#039; | &#039;stopped&#039;;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;     progress: number; }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionlist/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Остановка массовой обработки вопросов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/start&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Запуск генерации вопросов для кэша. &amp;lt;small&amp;gt;По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория, для которой выполнится генерация вопросов.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - для какого документа генерировать&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую модель использовать для генерации, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/status&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Проверка состояния генерации. &amp;lt;small&amp;gt;Статусы&#039;&#039;&#039;: started&#039;&#039;&#039;, &#039;&#039;&#039;stopped.&#039;&#039;&#039; Если были ошибки поле ответа &#039;&#039;&#039;error&#039;&#039;&#039; будет содержать код ошибки&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;progress&amp;quot;: 0 }&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/questionmaker/stop&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Прервать генерацию. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Поиск фрагментов содержащих ответ &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;  — текст запроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория (раздел) знаний. Допускается указание нескольких категорий через разделитель &amp;quot;|&amp;quot;.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 1:Здесь будет текст найденного фрагмента&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  Фрагмент 2:Здесь будет текст найденного фрагмента&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;fragments&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;3a386b0a9e0e19efb0870685e1d0b484&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;44fd73ea1ac63f32cf18d79c854dbfe2&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;Заголовок документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Категория документа&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;text&amp;quot;: &amp;quot;Здесь будет текст найденного фрагмента&amp;quot;    }  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Построение протокола или краткого содержания совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст совещания&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039; — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;model&#039;&#039;&#039; - какую GPT модель использовать для построения протокола, если кроме default используются другие модели&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;file&#039;&#039;&#039; — файл с текстом (utf8 только текстовый формат)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;summary&amp;quot;: &amp;quot;здесь текст протокола&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов channel&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление канала. &amp;lt;small&amp;gt;В ответе id созданного канала или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;a46fb887-5d98-41e0-8299-bcc94f615e91&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/channel/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление канала &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/channel/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список всех каналов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;channels&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;voice&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;56442779-e871-43fd-ae4d-caf4ab6d09b9&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;канал++&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;0&amp;quot;,      &amp;quot;name&amp;quot;: &amp;quot;default&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/channel/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить канал. &amp;lt;small&amp;gt;У канала пока есть только наименование, поэтому метод только переименовывает канал&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — новое наименование канала&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор канала&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов category&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |обавить категорию с указанным именем. &amp;lt;small&amp;gt;В ответе - id созданной категории или сообщение об ошибке:&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;ad895085-2e48-439a-831e-b5f699b6a54a&amp;quot;  }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/category/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удалить категорию. &amp;lt;small&amp;gt;В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; - идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{   &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/category/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получить список категорий&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В ответе json с именами и id категорий&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/category/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Изменить категорию. &amp;lt;small&amp;gt;У категории пока есть только наименование, поэтому метод только переименовывает категорию&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор категории&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; — наименование категории&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов doc&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузить текстовый документ. &amp;lt;small&amp;gt;Добавляет документ в базу. В ответе - id созданного документа или сообщение об ошибке&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;title&#039;&#039;&#039; — заголовок документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; — категория документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039;&amp;lt;/small&amp;gt; — &amp;lt;small&amp;gt;файл документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;id&amp;quot;: &amp;quot;ebe2bc57551c2d17f892987d1f62306d&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/doc/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление документа &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Выгрузка текста документа &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;﻿Здесь будет полный текст документа&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/doc/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка имеющихся документов &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;docs&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {id&amp;quot;: &amp;quot;d4999cdee5ad1faf2cb3066ea1b5e96b&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;PVE. Установка сервисного пакета окружения&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot; },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;quot;id&amp;quot;: &amp;quot;759042575b965745b9d2af869bca1740&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;title&amp;quot;: &amp;quot;UPS. Руководство администратора&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;Техническая поддержка&amp;quot;}      ]}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Обновление документа. &amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c изменяемыми параметрами документа&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  title: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  category: string,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  text: string&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;параметр который не меняется может отсутствовать в json&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор документа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Замена подстроки в текстах категории &amp;lt;small&amp;gt;Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/doc/modifyphrases&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массовая замена текста в указанных фразах.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;phrases&#039;&#039;&#039; - JSON массив с изменяемым фразами следующего вида:&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;    &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;      &amp;lt;small&amp;gt;&#039;doc_id&#039;: &#039;ad895085-2e48-439a-831e-b5f699b6a54a&#039;,&amp;lt;/small&amp;gt;       &amp;lt;small&amp;gt;&#039;phrase_id&#039;: 5,&amp;lt;/small&amp;gt;       &amp;lt;small&amp;gt;&#039;text&#039;: &#039;новый текст&#039;&amp;lt;/small&amp;gt;   &amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов question&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавление вопроса. &amp;lt;small&amp;gt;В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — текст вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039;  — id категории к которой относится вопрос&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; — ответы в виде Json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ { &amp;quot;checked&amp;quot;: true, &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot; } ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039; - вопросы к которым подходят ответы из блока answers в виде json:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;quot;вопрос&amp;quot;,&amp;quot;еще вопрос&amp;quot;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/append/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Добавляет алиасы/кандидаты к другому вопросу &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;aliases&#039;&#039;&#039;  — JSON list с синонимами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — JSON list с кандидатами&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор вопроса к которому добавить синонимы и(или) кандидаты&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/approve/{destination_id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Перемещает кандидаты в формулировки другого вопроса &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;candidates&#039;&#039;&#039;  — json массив c текстами кандидатов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;destination_id&#039;&#039;&#039;  — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;{error: 0 | 1, message: string}&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/delete/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление списка вопросов или ответов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;questions&#039;&#039;&#039; — json строка с перечнем id&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — выбор, удалять вопросы или ответы (&#039;&#039;&#039;questions&#039;&#039;&#039;, &#039;&#039;&#039;answers&#039;&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/question/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Удаление вопроса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение вопроса вместе с ответами и синонимами вопроса. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {   &amp;quot;checked&amp;quot;: true,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;ответ&amp;quot;    }  ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;синоним вопроса&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;еще синоним вопроса&amp;quot;  ]   }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/question/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Получение списка вопросов. &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;question&#039;&#039;&#039;  — фильтр вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;questions&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;77b42c9b-2075-4a5f-b6d9-a284bba7cf43&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;9580b3b7-34cb-4d0e-ba75-d17313ead16d&amp;quot;    },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {      &amp;quot;id&amp;quot;: &amp;quot;d1836e5e-010e-4f3a-b306-813c3acb7efb&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;question&amp;quot;: &amp;quot;n-й второй вопрос&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;category&amp;quot;: &amp;quot;7d8a3415-cb09-4dad-a169-478ba15ade47&amp;quot;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Модификация вопроса. Позволяет заменить как все параметры, так и отдельные.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; — json c измененными параметрами, пример полного:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{   &amp;quot;answers&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;checked&amp;quot;: true,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;0&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;      &amp;quot;answer&amp;quot;: &amp;quot;новый ответ&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;question&amp;quot;:&amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;a3801cc0-f8e5-4f3b-bb10-e42148cd772b&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;aliases&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;новый вопрос&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;синоним&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;еще синоним&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор вопроса&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/question/replace&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск и замена подстроки. Будут заменены все найденные вхождения&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;search&#039;&#039;&#039; - искомая подстрока, будет заменена&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;replace&#039;&#039;&#039; - текст замены&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;category&#039;&#039;&#039; - в какой категории искать&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION,&amp;quot;replacements&amp;quot;:INT}&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center&amp;quot; |&#039;&#039;&#039;&amp;lt;big&amp;gt;Группа методов summarization_template&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;  — название шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;options&#039;&#039;&#039;  — json словарь с именами разделов и их описанием&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;527be9f0-f773-4a3e-bd0b-81b40a061d0d&amp;quot;&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/qas/summarization_template/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/get/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение json  с шаблоном.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  — идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;И options — словарь с разделами шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/summarization_template/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение всех шаблонов.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/summarization_template/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Изменение шаблона.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039;  — словарь как в выдаче метода GET/qas/summarization_template/get/{id}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039;  —  идентификатор шаблона&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: INT, &amp;quot;message&amp;quot;: DESCRIPTION}&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2708</id>
		<title>QAS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=QAS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2708"/>
		<updated>2025-07-03T06:57:13Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=====&#039;&#039;&#039;Общее описание&#039;&#039;&#039;=====&lt;br /&gt;
Сервис предназначен для поиска ответа на заданный вопрос. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Question Answering System (QAS) – сервис ответов на вопросы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Системные требования&#039;&#039;&#039;=====&lt;br /&gt;
Для нормальной работы сервиса без GPU необходимо не менее 8 CPU (минимальные требования для использования метода ask) &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее:&lt;br /&gt;
*Intel Haswell&lt;br /&gt;
*Intel Broadwell&lt;br /&gt;
*Intel Skylake&lt;br /&gt;
*Intel Kaby Lake&lt;br /&gt;
*Intel Coffee Lake&lt;br /&gt;
*Intel Comet Lake&lt;br /&gt;
*Intel Rocket Lake&lt;br /&gt;
*Intel Alder Lake&lt;br /&gt;
*AMD Excavator&lt;br /&gt;
*AMD Zen (AMD Ryzen)&lt;br /&gt;
*AMD Zen 2 (AMD Ryzen)&lt;br /&gt;
*AMD Zen 3 (AMD Ryzen)&lt;br /&gt;
Работа на CPU при использовании метода ask крайне не рекомендуется. Оперативной памяти необходимо не менее 16Gb для работы без GPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка/обновление сервиса&#039;&#039;&#039;=====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/qas&amp;amp;fileid=26891 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление QAS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./qas-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s https://repo.connect2ai.net/api/qas --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить QAS &amp;lt;code&amp;gt;/opt/qas/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/qas/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/qas/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/qas/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/qas/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable qas.service &amp;amp;&amp;amp; sudo systemctl start qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status qas.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6187 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/qas/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;qas&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start qas&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/qas/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Установка моделей&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
В составе QAS используются модели векторизации, и генеративные модели LLM. &lt;br /&gt;
&lt;br /&gt;
Модель векторизации располагается по адресу /opt/qas/pretrained/embeddings/. &lt;br /&gt;
&lt;br /&gt;
Расположение моделей LLM: /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Например , встроенная модель LLM: /opt/qas/pretrained/gpt/default/. Модели после установки QAS должны быть добавлены системным администратором.&lt;br /&gt;
&lt;br /&gt;
QAS допускает использование дополнительных моделей LLM. Каждая из таких моделей должна быть в отдельной папке каталога /opt/qas/pretrained/gpt/&amp;lt;имя_модели&amp;gt;/. Если модель формата GGUF, то достаточно поместить ее в свою папку в  /opt/qas/pretrained/gpt/. В остальных случаях (в том числе и если необходимо обращаться к стороннему api) в папке модели должен быть файл handler.py с функцией handler(prompt=&#039;тут текст&#039;), которая возвращает сгенерированный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы:&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг QAS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах прописан в конфиге master, чтобы все операции добавления и изменения данных при автокешировании они производили через мастер. Параметр в конфиге questions.master, на мастере значение «&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187»&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером QAS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.qas.cluster.trainer указываем матер-сервер, в servers.qas.cluster перечисляем все сервера кластера QAS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
Настройка параметров сервиса qas производится в файле /opt/qas/config.json.&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!style=&amp;quot;width: 20%&amp;quot;|Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|60&lt;br /&gt;
|Период обновления векторов базы вопросов и документов.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.context&lt;br /&gt;
|32768&lt;br /&gt;
|Размер контекста встроенной нейросети.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.max_tokens&lt;br /&gt;
|4096&lt;br /&gt;
|&#039;&#039;&#039;{section}&#039;&#039;&#039; - summarization, chat, ask, creative&lt;br /&gt;
Определяет максимальное количество токенов (слов или частей слов), которые модель может сгенерировать в ответ.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_k&lt;br /&gt;
|summarization 30, chat 40, ask 5, creative 40&lt;br /&gt;
|Ограничивает количество наиболее вероятных следующих токенов, из которых модель выбирает при генерации текста.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.top_p&lt;br /&gt;
|summarization 0.9, chat 0.4, ask 0.8, creative 0.4&lt;br /&gt;
|Определяет кумулятивную вероятность, с которой модель выбирает следующий токен. Например, top_p = 0.9 означает, что модель выбирает из наименьшего набора токенов, сумма вероятностей которых составляет 0.9.&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.temperature&lt;br /&gt;
|summarization 0.4, chat 0.8, ask 0.1, creative 0.8&lt;br /&gt;
|Контролирует «температуру» распределения вероятностей выходных токенов. Высокая температура делает распределение более равномерным, а низкая — более «остроконечным».&lt;br /&gt;
|-&lt;br /&gt;
|gpt.&#039;&#039;&#039;{section}&#039;&#039;&#039;.repeat_penalty&lt;br /&gt;
|summarization 1.1, chat 1.3, ask 1.3, creative 1.3&lt;br /&gt;
|Накладывает штраф на повторяющиеся токены, уменьшая вероятность их повторного выбора.&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Папка для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/qas/&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.context&lt;br /&gt;
|8192&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.6&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|questions.master&lt;br /&gt;
|&amp;quot;&amp;lt;nowiki&amp;gt;http://127.0.0.1:6187&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
|Адрес мастер-сервера для работы в кластере. Необходим, чтобы добавленные вопросы распространились на серверы кластера.&lt;br /&gt;
|-&lt;br /&gt;
|questions.threshold&lt;br /&gt;
|0.9&lt;br /&gt;
|Минимальный уровень достоверности ответа для попадания в кеш.&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Расположение лог-файла синхронизации (актуально для мастер-сервера).&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Расположение файла статуса lsyncd (актуально для мастер-сервера)&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Ноды кластера, на которые с мастер-сервера будут распространяться изменения.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/qas/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Удаление&#039;&#039;&#039;=====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/qas/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=RES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2707</id>
		<title>RES. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=RES._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2707"/>
		<updated>2025-07-03T06:48:34Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; ======&lt;br /&gt;
Данный сервис предназначен для сбора статистических данных с сервисов SES, их передачи в Elasticsearch для последующей обработки и последующего перенаправления разработанных в Kibana отчетов в интерфейс UPS.&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; ======&lt;br /&gt;
Report engine service (RES) — сервис отчетов. &lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису RES в реальном времени.&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; ======&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом RES. По умолчанию используется порт 6189/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок «accept: application/json».&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.&lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6189 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/res/dashboards&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Вывод списка отчетов. &amp;lt;small&amp;gt;Метод для использования в UPS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dashboards&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    &amp;quot;Названиа отчета1&amp;quot;: &amp;quot;ссылка на отчет1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...........&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;   &amp;quot;Названиа отчетаN&amp;quot;: &amp;quot;ссылка на отчетN&amp;quot;,  } }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/res/log/upload&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |Загрузка статистики с сервисов SES. &amp;lt;small&amp;gt;Метод для использования в UPS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;date&#039;&#039;&#039; — день, за который требуется загрузить статистику, в формате %Y-%m-%d (например, 2024-11-01).&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;rewrite — перезаписывать индексы (yes/no).&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;GET/res/archive/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Список диалогов за период.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - id диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;startdate&#039;&#039;&#039; - дата и время начала периода поиска, формат %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;enddate&#039;&#039;&#039; - дата и время окончания периода поиска, формат %Y-%m-%d %H:%M&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;phone&#039;&#039;&#039; - телефон позвонившего&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;variable&#039;&#039;&#039; - фильтр по переменной вида variable=value&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;robot&#039;&#039;&#039; - id робота&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для фильтрации содержимого диалогов&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;data&#039;&#039;&#039; - элемент данных, который должен содержаться в диалогах&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;channel&#039;&#039;&#039; - канал, который должен содержаться в диалогах&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;[&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;uuid&amp;quot;: &amp;quot;4be3f281-bff0-4199-aa94-cda9225dc4b9&amp;quot;,&amp;lt;/small&amp;gt;    &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;datetime&amp;quot;: &amp;quot;2025-06-02T05:52:31.419766Z&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;phone&amp;quot;: &amp;quot;73832177052&amp;quot;,&amp;lt;/small&amp;gt;    &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;channel&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;web&amp;quot;&amp;lt;/small&amp;gt;    &lt;br /&gt;
&amp;lt;small&amp;gt;],&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;robot&amp;quot;: [&amp;lt;/small&amp;gt;      &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;МФЦ-черновик&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;  &lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;GET/res/dialog/{uuid}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Массив с данным всего диалога.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;uuid&#039;&#039;&#039; - id диалога&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;dialog&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;id&amp;quot;: &amp;quot;a7c853bd-2640-4bc8-b740-7e76fff50b58&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;robot&amp;quot;: &amp;quot;МФЦ-черновик&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;channel&amp;quot;: &amp;quot;default&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;unknown&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;closed&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;endpoint&amp;quot;: &amp;quot;9040fce6-8524-4741-bc0c-e62f9e45c9cf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;models&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;smc:МФЦ НСК&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;see:Лаврентьевская карта НСО&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;variables&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;current&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;id&amp;quot;: &amp;quot;9040fce6-8524-4741-bc0c-e62f9e45c9cf&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;qas&amp;quot;: &amp;quot;&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answered&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;category&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;nearest&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;entry&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          &amp;quot;640bd050-aa0c-4762-ae19-efc26c7cdc76&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;missingRunData&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;waitingRunData&amp;quot;: null,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;border&amp;quot;: 0&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;request&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;datetime&amp;quot;: &amp;quot;2025-06-02T07:00:33.771076&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;message&amp;quot;: &amp;quot;привет&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;data&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: &amp;quot;640bd050-aa0c-4762-ae19-efc26c7cdc76&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;name&amp;quot;: &amp;quot;Приветствие&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;model&amp;quot;: &amp;quot;МФЦ НСК&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;param&amp;quot;: &amp;quot;Приветствие&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;class&amp;quot;: &amp;quot;Приветствие&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;confidence&amp;quot;: 1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;rtype&amp;quot;: &amp;quot;service&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;id&amp;quot;: &amp;quot;ca5bc776-b3c2-4190-b598-1ddbf686c57a&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;name&amp;quot;: &amp;quot;Ответ из модели МФЦ&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;model&amp;quot;: &amp;quot;МФЦ НСК&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;type&amp;quot;: &amp;quot;smc&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;param&amp;quot;: &amp;quot;1&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;reply&amp;quot;: {},&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;rtype&amp;quot;: &amp;quot;service&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      &amp;quot;reply&amp;quot;: {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;answers&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;С добрым утром!&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Коля&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          },&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;messages&amp;quot;: [&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;              &amp;quot;Пожалуйста сформулируйте свой вопрос&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;voice&amp;quot;: &amp;quot;Коля&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;interruptible&amp;quot;: false,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;            &amp;quot;file&amp;quot;: null&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;          }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        ],&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;        &amp;quot;datetime&amp;quot;: &amp;quot;2025-06-02T07:00:33.874627&amp;quot;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;      }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;    }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  ]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== &#039;&#039;&#039;Создание отчетов&#039;&#039;&#039; ======&lt;br /&gt;
Раздел в разработке&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=TTS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2706</id>
		<title>TTS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=TTS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2706"/>
		<updated>2025-07-03T06:31:25Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудиофайл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Термины и определения&#039;&#039;&#039;=====&lt;br /&gt;
Text-to-speech server (TTS) – сервис синтеза речи.&lt;br /&gt;
&lt;br /&gt;
Модель (голос) – модель нейронной сети, отвечающая за синтез спектрограммы из текста. От модели зависит, каким голосом будет синтезирован текст.&lt;br /&gt;
&lt;br /&gt;
Вокодер – модель нейронной сети, отвечающая за синтез аудиоданных из спектрограммы.&lt;br /&gt;
&lt;br /&gt;
Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису TTS в реальном времени&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом TTS. По умолчанию используется порт 6186/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл. &lt;br /&gt;
&lt;br /&gt;
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6186 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Вывод списка моделей (голосов синтеза).&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ models: [model1,...,modelN] }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/export&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Выгрузка пользовательского словаря ударений.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;простой текст - строки с словом и его интерперетацией с ударением&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/dictionary/get&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Выгрузка пользовательского словаря ударений в виде json.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot;],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/import&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Загрузка пользовательского словаря ударений. Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — файл строк со словом и его интерпретацией с ударением.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/dictionary/put&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Загрузка пользовательского словаря ударений в виде json. Текущий словарь будет переписан.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;json&#039;&#039;&#039; — строка следующего вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[   &amp;quot;слово&amp;quot;,   &amp;quot;замена слова с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[ &amp;quot;слово2&amp;quot;,   &amp;quot;замена слова2 с удар+ением&amp;quot; ],&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;сообщение о статусе результата&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/normalize&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Нормализация текста — перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -&amp;gt; «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — фраза для нормализации.&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;text&amp;quot;: &amp;quot;нормализованный текст&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/revoice/{revoicer}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Модификация или искажение голоса&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; — аудиофайл для обработки.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;revoicer&#039;&#039;&#039; — модель модификации голоса.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;wav файл с модифицированным (искаженным) голосом.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/revoicers&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;[  &amp;quot;distortion&amp;quot; ]&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/tts/split&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Разбивка текста на фразы. Текст из нескольких предложений разбивает на отдельные фразы. Фразы отдаёт списком.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; - текст для обработки&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &amp;quot;error&amp;quot;: 0,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;  &amp;quot;phrases&amp;quot;: [ &amp;quot;фраза 1&amp;quot;, &amp;quot;фраза 2&amp;quot;, ....  &amp;quot;фраза N&amp;quot;  ] }&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/tts/synthesize/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Синтез звукового файла из текста для фраз большого размера — тип запроса «POST» позволяет отправку больших текстов.&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;ВНИМАНИЕ&#039;&#039;&#039;: аналогичный метод GET теперь отсутствует.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;ID&#039;&#039;&#039; — имя модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; — текст синтезируемой фразы&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;rate&#039;&#039;&#039; — скорость речи&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;pitch&#039;&#039;&#039; — высота (тон)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;volume&#039;&#039;&#039; — громкость&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;frequency&#039;&#039;&#039; — частота дискретизации (по умолчанию 22050 Гц)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;format&#039;&#039;&#039; - формат файла результата (wav, opus, ogg, mp3)&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;link&#039;&#039;&#039; - если 1, то вернуть только ссылку на файл&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;файл с синтезированой фразой&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2705</id>
		<title>SBS. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2705"/>
		<updated>2025-07-03T06:23:36Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Simple Biometry Server предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Simple Biometry Server (SBS) — сервис извлечения метаданных.&lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SBS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API сервиса биометрии (SBS)&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SBS. По умолчанию используется порт 6185/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке &amp;lt;nowiki&amp;gt;http://АДРЕС:6185&amp;lt;/nowiki&amp;gt; будет отображен интерфейс Swagger со всеми методами с возможностью их проверки. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
!style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/analyze&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение аналитических метаданных из голосового фрагмента. Вернется массив с метаданными голосового фрагмента.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример:&amp;lt;/small&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;small&amp;gt;&amp;lt;age: {&lt;br /&gt;
    class: 20-29, # {&amp;quot;00-05&amp;quot;, &amp;quot;06-12&amp;quot;, &amp;quot;13-19&amp;quot;, &amp;quot;20-29&amp;quot;, &amp;quot;30-39&amp;quot;, &amp;quot;40-49&amp;quot;, &amp;quot;50-59&amp;quot;, &amp;quot;60+&amp;quot;}&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  },&lt;br /&gt;
  emotion: {&lt;br /&gt;
    class: SADNESS, # { &amp;quot;ANGER&amp;quot;, &amp;quot;BORE&amp;quot;, &amp;quot;DISAPPOINTMENT&amp;quot;, &amp;quot;DISGUST&amp;quot;, &amp;quot;EXCITEMENT&amp;quot;, &amp;quot;FEAR&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;&amp;lt;&amp;quot;NEUTRAL&amp;quot;, &amp;quot;PAIN&amp;quot;, &amp;quot;PLEASURE&amp;quot;, &amp;quot;SADNESS&amp;quot;, &amp;quot;SUPRISE&amp;quot;}&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  },&lt;br /&gt;
  gender: {&lt;br /&gt;
    class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;}&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/noiselevel&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |&amp;lt;small&amp;gt;Возвращает процент зашумленности аудио&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, message: &#039;success&#039;, &#039;noise&#039;: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/search&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск говорящего по базе слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для анализа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;threshold&#039;&#039;&#039; —  процент совпадения&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Пример ответа:&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: 0, speaker: Ivan, confidence: 0.79 }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/verify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для поиска&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет проверен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &amp;lt;code&amp;gt;&amp;lt;small&amp;gt;{ &amp;quot;error&amp;quot;: 0, &amp;quot;confidence&amp;quot;: 0.78 }&amp;lt;/small&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/add&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление слепка в базу.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039; —  имя говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для создания оцифрованного представления говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/sbs/speakers/delete/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление слепка из базы.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; —  идентификатор говорящего&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/sbs/speakers/list&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение списка всех слепков.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  {&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;id&amp;quot;: &amp;quot;251f78d7-ee50-4ba1-a669-ee89fdaf5433&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;name&amp;quot;: &amp;quot;наименование слепка&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/sbs/speakers/modify/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Дообучение слепка.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;wav&#039;&#039;&#039; —  файл для обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;—&#039;&#039;&#039;   идентификатор слепка&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;text&#039;&#039;&#039; —  текст для сравнения с распознанным текстом из &#039;&#039;&#039;wav&#039;&#039;&#039;, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от &#039;&#039;&#039;text.&#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;error&amp;quot;: 0,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;message&amp;quot;: &amp;quot;Success&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2704</id>
		<title>SBS. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2704"/>
		<updated>2025-07-03T06:03:48Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для получения метаданных из естественной человеческой речи. Входным значением для сервиса являются wav-файлы. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Simple Biometry Server (SBS) – сервис получения метаданных.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Системные требования&#039;&#039;&#039; =====&lt;br /&gt;
Для нормальной работы сервиса необходимо CPU &amp;gt;= 2.20 GHz с поддержкой инструкций AVX2 или новее. Оперативной памяти необходимо не менее 4 Gb. Для работы на нагруженных сервисах рекомендуется использовать GPU NVIDIA с поддержкой CUDA и наличием CUDA ядер.&lt;br /&gt;
&lt;br /&gt;
Быстродействие на &#039;&#039;&#039;CPU&#039;&#039;&#039;: например, поиск спикера, 8 потоков Xeon(R) Gold 6148 CPU @ 2.40 GHz, 8 Гб ОЗУ, запрос поиска в базе спикера по аудио 10 сек, 100 запросов со сдвигом 0.01 с (100 запросов выполнено за 1 с), максимальное время ожидания 14 с. Одиночный запрос ~1 с.&lt;br /&gt;
&lt;br /&gt;
Тот же запрос с &#039;&#039;&#039;GPU&#039;&#039;&#039; А16 (с одним из 4-х ядер), максимальное время ожидания &#039;&#039;&#039;1.6 с&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка/обновление SBS&#039;&#039;&#039; =====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/sbs&amp;amp;fileid=601 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление SBS осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./sbs-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./sbs-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./sbs-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/sbs/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s &amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/sbs&amp;lt;/nowiki&amp;gt; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить SBS &amp;lt;code&amp;gt;/opt/sbs/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/sbs/inupdate -b&amp;lt;/code&amp;gt; –  обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/sbs/inupdate -r&amp;lt;/code&amp;gt; –  обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/sbs/inupdate -n&amp;lt;/code&amp;gt; –  обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/sbs/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/sbs/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; –  это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/sbs/.userapi (это файл авторизации в API, нужен для обновления)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/sbs/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable sbs.service &amp;amp;&amp;amp; sudo systemctl start sbs.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status sbs.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6185 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса SBS&#039;&#039;&#039;=====&lt;br /&gt;
Настройка параметров сервиса spr производится в файле /opt/sbs/params.json&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице. &#039;&#039;&#039;Применение любого из параметров требует перезапуска сервиса sbs.&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|saveAudio&lt;br /&gt;
|true&lt;br /&gt;
|Ключ хранения аудио отрезков в базе. &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;Внимание!&#039;&#039;&#039; При смене модели векторизации sbs сбросит все вектора и попытается сформировать новые из сохраненного аудио. Если аудио не будет ( saveAudio=&amp;quot;false&amp;quot;), все слепки будут фактически уничтожены.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|modifyType&lt;br /&gt;
|audio&lt;br /&gt;
|Способ дообучения слепка &lt;br /&gt;
&amp;lt;small&amp;gt;audio — если указан этот тип, то обновление слепка дозагрузкой аудио делается через объединение старого и загружаемого аудио. Если старого аудио нет, то вектор делается только по новому аудио. В базу сохраняется только новое аудио (если стоит флаг сохранения в базу).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;average — в базу сохраняется только новое аудио (если стоит флаг). А новый вектор создается из усреднения старого вектора и вектора из нового аудио.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|db_handler&lt;br /&gt;
|&amp;quot;&amp;quot;&lt;br /&gt;
|[https://wiki.connect2ai.net/index.php/SBS._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0#%D0%92%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F Внешний драйвер шифрования]&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Путь к папке логов&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Максимальное количество лог файлов&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер одного лог файла&lt;br /&gt;
|-&lt;br /&gt;
|cluster.logfile&lt;br /&gt;
|logs/sync.log&lt;br /&gt;
|Файл логов синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.statusFile&lt;br /&gt;
|logs/sync.status&lt;br /&gt;
|Статус задачи синхронизации есть только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|cluster.nodes&lt;br /&gt;
|[ ]&lt;br /&gt;
|Перечень подчиненных нод для синхронизации изменений заполняется только на главном сервере кластера&lt;br /&gt;
|-&lt;br /&gt;
|spr.url&lt;br /&gt;
|http://127.0.0.1:6183&lt;br /&gt;
|Путь к [[SPR. Руководство пользователя|сервису распознавания речи]] для получения текста&lt;br /&gt;
|-&lt;br /&gt;
|spr.model&lt;br /&gt;
|common&lt;br /&gt;
|Модель для распознавания текста&lt;br /&gt;
|-&lt;br /&gt;
|spr.conn_timeout&lt;br /&gt;
|10&lt;br /&gt;
|Таймаут на подключение к API SPR&lt;br /&gt;
|-&lt;br /&gt;
|spr.read_timeout&lt;br /&gt;
|30&lt;br /&gt;
|Таймаут на получения ответа от API SPR&lt;br /&gt;
|-&lt;br /&gt;
|reloader.period&lt;br /&gt;
|900&lt;br /&gt;
|Периодичность проверки изменения данных, для полной перезаливки векторной базы в ОЗУ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Внешний драйвер шифрования&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Файловая база данных хранит в составе слепки аудио, на основе которых рассчитываются вектора (если включен параметр saveAudio). В части сценариев аудио требуется шифровать. Для этого предусмотрен внешний драйвер шифрования. Чтобы использовать драйвер шифрования, необходимо создать программу (скрипт) шифрования, поместить его в каталог /opt/sbs/db_handlers/, а затем имя созданного файла прописать в параметр db_handler конфигурационного файла (/opt/sbs/config.json). Пример драйвера шифрования, который перекодирует слепки в файловой системе в base64, распространяется в составе дистрибутива и расположен в папке /opt/sbs/db_handlers/.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Работа в составе кластера&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
Для высоконагруженных систем сервис можно расположить на нескольких нодах (виртуальных машинах). В этом случае, чтобы не потерять документы и изменения, полученные на одной из нод, выделяется один основной сервис и вспомогательные сервисы.&lt;br /&gt;
&lt;br /&gt;
* База файловая, в папке data.&lt;br /&gt;
* lsync настроен через конфиг SBS для репликации базы на все указанные серверы в списке cluster.nodes: [], указываем все слейв-сервера.&lt;br /&gt;
* На всех слейвах список cluster.nodes: [] оставляем пустым.&lt;br /&gt;
* Векторная база на каждом сервере своя, она следит за своей папкой data и обновляет в оперативке по этой папке данные у себя.&lt;br /&gt;
* UPS при изменении данных работает только с мастером SBS, а при запросе данных — со всеми серверами cluster, распределяя нагрузку.&lt;br /&gt;
* В конфигурации UPS: в servers.sbs.cluster.trainer указываем мастер-сервер, в servers.sbs.cluster перечисляем все сервера кластера SBS, в том числе и мастер.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039;=====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/sbs/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Удаление&#039;&#039;&#039; =====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/sbs/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SEE._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2703</id>
		<title>SEE. Руководство пользователя</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SEE._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F&amp;diff=2703"/>
		<updated>2025-07-03T05:59:24Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис Simple Entity Extractor предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Simple Entity Extractor (SEE) — сервис извлечения именованных сущностей.&lt;br /&gt;
&lt;br /&gt;
Модель — предварительно подготовленная специализированная модель распознавания и извлечения именованных сущностей из коротких фраз.&lt;br /&gt;
&lt;br /&gt;
Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют, имен.&lt;br /&gt;
&lt;br /&gt;
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SEE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Описание методов API SEE&#039;&#039;&#039; =====&lt;br /&gt;
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SEE. По умолчанию используется порт 6184/tcp.&lt;br /&gt;
&lt;br /&gt;
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок &amp;lt;code&amp;gt;&amp;quot;accept: application/json&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ответ сервиса SEE представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6184 будет отображен интерфейс swagger со всеми методами с возможностью их проверки. &lt;br /&gt;
&lt;br /&gt;
Модель может содержать &#039;&#039;&#039;постобработчик&#039;&#039;&#039;. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /see/entities/{id}.&lt;br /&gt;
&lt;br /&gt;
Пример пустой функции, которая просто повторяет на выходе результат:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;def handler(entities=[],text=&amp;quot;&amp;quot;):&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;  returns entities&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На вход подается результат работы модели, а также начальный текст.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 110%&amp;quot;&lt;br /&gt;
|+&#039;&#039;Описание методов API&#039;&#039;&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Вывод списка моделей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Входные параметры отсутствуют&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ models: [model1,...,modelN] }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/confusion/{id}/{type}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение изображения матрицы ошибок.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039; — тип данных для построения матрицы.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Возвращает PNG-изображение с матрицей ошибок.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/see/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление модели.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение архива модели.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Возвращает zip-файл с моделью.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/data/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Добавление модели.&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;Метод асинхронный. Окончание работы проверяется через метод /see/info/{id}.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;id&#039;&#039;&#039; — идентификатор модели;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;zip-model&#039;&#039;&#039; — zip-архив с файлами модели; или&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;from-existing-model&#039;&#039;&#039; — название модели, которое должно быть переименовано в id; или&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;csv&#039;&#039;&#039; — текстовый файл для обучения модели, со строками СУЩНОСТЬ&amp;lt;TAB&amp;gt;ФРАЗА;&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;noise&#039;&#039;&#039; — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 2.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/entities/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;id — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;text — текст для анализа.&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;  &amp;lt;small&amp;gt;&amp;lt;code&amp;gt;ID-модели: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;position: 0, # позиция слова начала фрагмента, определяющего сущность&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;confidence: 1, #вероятность правильного определения сущности&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;text: текст сущности,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;calculated: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}, {...}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/errors/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось — ошибки после обучения.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;текстовый файл со строками вида:&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;ИСТИНА&amp;lt;TAB&amp;gt;ОПРЕДЕЛЕНО&amp;lt;TAB&amp;gt;ФРАЗА&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:red;width: 15%&amp;quot; |&#039;&#039;&#039;DELETE/see/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Удаление постобработчика.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение файла-постобработчика.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Файл handler.py&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/see/handler/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Отправка файла-постобработчика в указанную модель. Становится активным сразу после успешной отправки.&amp;lt;/small&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{ error: INT, message: DESCRIPTION }&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/info/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Получение информации о модели. В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &amp;lt;small&amp;gt;id — идентификатор&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;status — статус&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;classes — список сущностей в модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;entityMaxWords — максимальная длина сущности в корпусе обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;sequenceLength — максимальная длина последовательности при обучении&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;noiseLevel — уровень шума, использованный при обучении модели&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;trainCorpusName — название файла, использованного при обучении&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;trainAccuracy — точность обучения и тестирования&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;testCorpusLength — размер тестового корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;trainCorpusLength — размер обучающего корпуса&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;trainConfusionMatrix — матрица ошибок обучения&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;testConfusionMatrix — матрица ошибок тестирования.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/see/log/{id}&#039;&#039;&#039;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;width: 85%&amp;quot; |&amp;lt;small&amp;gt;Лог всех действий во время обучения/тестирования модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;small&amp;gt;id&amp;lt;/small&amp;gt;&#039;&#039;&#039; &amp;lt;small&amp;gt;— идентификатор модели.&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;Лог содержится в переменной log в виде списка.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  &amp;quot;log&amp;quot;: [&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;training&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    &amp;quot;macroEpoch: 1, microEpoch: 1 loss: 1.23790...&amp;quot;,&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    ...&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  ]&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt; &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
	<entry>
		<id>https://wiki.connect2ai.net/index.php?title=SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2702</id>
		<title>SMC. Руководство администратора</title>
		<link rel="alternate" type="text/html" href="https://wiki.connect2ai.net/index.php?title=SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=2702"/>
		<updated>2025-07-03T05:28:32Z</updated>

		<summary type="html">&lt;p&gt;Ka.shapovalov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== &#039;&#039;&#039;Общее описание&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предназначен для анализа и классификации текстовой информации. Входным значением для сервиса являются данные в текстовом формате. В ответ на входящий запрос сервис возвращает данные в формате JSON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Термины и определения&#039;&#039;&#039; =====&lt;br /&gt;
Simple Message Classifier (SMC) – сервис анализа и классификации. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Системные требования для SMC&#039;&#039;&#039; =====&lt;br /&gt;
Для работы smc рекомендуется использовать видеокарту NVIDIA, поддерживающую технологию CUDA и имеющую в составе ядра CUDA.&lt;br /&gt;
&lt;br /&gt;
В случае отсутствия видеокарты для нормальной работы сервиса необходимо обеспечить не менее 8 потоков CPU &amp;gt;= 2.20GHz с поддержкой инструкций AVX2 или новее. В конфигурации 8 потоков Intel(R) Xeon(R) Gold 6148 2.40GHz 6Гб ОЗУ фраза из 10 слов классифицируется 0.2с, соответственно за секунду может быть распознано до 5 фраз, отправленных на распознавание последовательно или одновременно. Увеличение количества ядер/потоков дает прирост производительности, но не прямо пропорциональный.&lt;br /&gt;
&lt;br /&gt;
Оперативной памяти необходимо не менее 4Gb.&lt;br /&gt;
&lt;br /&gt;
Для обучения моделей рекомендуется использовать видеокарту. Обучение модели на корпусе размером 7500 строк занимает на ВМ с 16 ядрами, 16Гб ОЗУ и видеокартой А16 (одном из 4-х ее ядер) около 20 минут. Недостаточная мощность CPU может увеличить время обучения за счет подготовки данных.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка/обновление сервиса SMC&#039;&#039;&#039; =====&lt;br /&gt;
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/smc&amp;amp;fileid=560 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для вашей системы в каталоге с пакетом.&lt;br /&gt;
&lt;br /&gt;
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]].&lt;br /&gt;
&lt;br /&gt;
* Установка/обновление SMC осуществляется скриптом &amp;lt;code&amp;gt;chmod +x ./smc-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh &amp;amp;&amp;amp; ./smc-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh -i&amp;lt;/code&amp;gt; с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор &amp;lt;code&amp;gt;./smc-&amp;lt;версия&amp;gt;-&amp;lt;релиз&amp;gt;.sh&amp;lt;/code&amp;gt; без ключей.&lt;br /&gt;
* Загрузить последнюю версию продукта  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/smc/new&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1 | bash&amp;lt;/code&amp;gt; или в интерактивном режиме &amp;lt;code&amp;gt;bash -c &amp;quot;$(curl -s &amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/smc&amp;lt;/nowiki&amp;gt; --user &#039;[user]:[pass]&#039; 2&amp;gt;&amp;amp;1)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Обновить SMC&amp;lt;code&amp;gt;/opt/smc/inupdate&amp;lt;/code&amp;gt; в интерактивном режиме. Или запустить с ключом:&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/smc/inupdate -b&amp;lt;/code&amp;gt; – обновить до последней beta версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/smc/inupdate -r&amp;lt;/code&amp;gt; – обновить до последней release версии;&lt;br /&gt;
** &amp;lt;code&amp;gt;/opt/smc/inupdate -n&amp;lt;/code&amp;gt; – обновить до последней версии (неважно beta или release).&lt;br /&gt;
* Установить модели  &amp;lt;code&amp;gt;/opt/smc/inmodel&amp;lt;/code&amp;gt; в интерактивном режиме.&lt;br /&gt;
* Проверить актуальную версию продукта &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/smc/version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Посмотреть лог изменений  &amp;lt;code&amp;gt;curl -s &amp;quot;&amp;lt;nowiki&amp;gt;https://repo.connect2ai.net/api/smc/changelog&amp;lt;/nowiki&amp;gt;&amp;quot; --user &#039;[user]:[pass]&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Полное описание всех команд API репозитория можно найти по ссылке &#039;&#039;&#039;https://repo.connect2ai.net/api&#039;&#039;&#039;. &amp;lt;code&amp;gt;[user]:[pass]&amp;lt;/code&amp;gt; – это тот же логин и пароль, что и от [https://cloud.connect2ai.net &#039;&#039;&#039;Nextcloud&#039;&#039;&#039;.]&lt;br /&gt;
* В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;[user]:[pass]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/smc/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)&lt;br /&gt;
** echo -n &amp;lt;code&amp;gt;&amp;quot;&amp;lt;nowiki&amp;gt;http://example.com:3128&amp;lt;/nowiki&amp;gt; [user] [password]&amp;quot;&amp;lt;/code&amp;gt;  &amp;gt; /opt/smc/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)&lt;br /&gt;
&lt;br /&gt;
При обновлении следующий список файлов и папок сохраняется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data. Сервис не требует остановки и возвращается в актуальное состояние после обновления.&lt;br /&gt;
&lt;br /&gt;
Не забудьте запустить сервис и включить в автозапуск в системе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable smc.service &amp;amp;&amp;amp; sudo systemctl start smc.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удостоверьтесь, что сервис стартовал:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status smc.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешите доступ к порту 6181 на нужном интерфейсе по протоколу tcp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Лицензия&#039;&#039;&#039; =====&lt;br /&gt;
Сервис не функционирует без действующей лицензии. Информация о лицензии хранится в файле:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/opt/smc/license.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файл лицензии должен соответствовать следующему формату:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;service&amp;quot;: &amp;quot;smc&amp;quot;, &amp;quot;expire&amp;quot;: &amp;quot;2045-01-01&amp;quot;, &amp;quot;licenses&amp;quot;: , &amp;quot;key&amp;quot;: &amp;quot;&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения лицензии необходимо:&lt;br /&gt;
&lt;br /&gt;
1. Запустить сервис &amp;lt;code&amp;gt;systemctl start smc&amp;lt;/code&amp;gt; и извлечь UUID, указанный в файле &amp;lt;code&amp;gt;/opt/smc/logs/log.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Передать полученный UUID руководителю проекта для оформления лицензии.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка сервисных моделей SMC&#039;&#039;&#039; =====&lt;br /&gt;
Установка сервисных моделей возможна только копированием файла(файлов) модели в каталог с названием модели. Названия моделей предопределены и соответствуют их назначению (compressor,  correction,  embeddings,  emotions,  normalization,  punctuation, toxicity). Установка сервисных моделей невозможна через API, в отличие от моделей классификации.&lt;br /&gt;
&lt;br /&gt;
Модели располагаются в каталоге /opt/smc/pretrained/. Для установки модели необходимо создать каталог /opt/smc/pretrained/&amp;lt;название модели&amp;gt;/ и распаковать в неё архив модели, после чего перезагрузить сервис командой systemctl restart smc.&lt;br /&gt;
&lt;br /&gt;
Проверить корректность работы модели пунктуации можно запросом к API с отправкой текста на распознавание:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -H &amp;quot;accept: application/json&amp;quot; -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/punctuate?text=&amp;lt;/nowiki&amp;gt;&amp;lt;текст&amp;gt;&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Список всех моделей представлен в таблице:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&#039;&#039;&#039;Модель&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Описание&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Пример запроса к модели&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Пример ответа от модели&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;embeddings&#039;&#039;&#039;&lt;br /&gt;
|Языковая, отвечает за вычисление векторов при обучении модели. &lt;br /&gt;
|Проверить работу напрямую запросом к API не получится, метод не предусмотрен.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;compressor&#039;&#039;&#039; &lt;br /&gt;
|Модель сжатия фраз. Убирает из фразы слова, не влияющие на ее смысл.&lt;br /&gt;
|Проверить работу можно через API запросом: &lt;br /&gt;
&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/compress?threshold=30&amp;lt;/nowiki&amp;gt;&amp;quot; --data-urlencode &amp;quot;text=как можно было бы получить выплату мне бы&amp;quot;  -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;{ &amp;quot;text&amp;quot;: &amp;quot;получить выплату мне бы&amp;quot; }&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;emotions&#039;&#039;&#039; &lt;br /&gt;
|Анализ эмоций.&lt;br /&gt;
|Проверить работу можно через API запросом: &lt;br /&gt;
&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/emotion&amp;lt;/nowiki&amp;gt;&amp;quot; --data-urlencode &amp;quot;text=спасибо все хорошо&amp;quot; -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt;&lt;br /&gt;
|&#039;&#039;&amp;lt;code&amp;gt;{ &amp;quot;emotion&amp;quot;: &amp;quot;positive&amp;quot;, &amp;quot;score&amp;quot;: 0.9601 }&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;punctuation&#039;&#039;&#039; &lt;br /&gt;
|Пунктуация.&lt;br /&gt;
|Проверить работу можно через API запросом: &lt;br /&gt;
&#039;&#039;&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/punctuate&amp;lt;/nowiki&amp;gt;?&amp;quot; --data-urlencode &amp;quot;text=я пришел как мне получить услугу&amp;quot; -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
|&amp;lt;code&amp;gt;{ &amp;quot;text&amp;quot;: &amp;quot;Я пришел. Как мне получить услугу?&amp;quot; }&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;normalization&#039;&#039;&#039; &lt;br /&gt;
|Обратная нормализация, заменяет числа прописью на цифры. &amp;lt;blockquote&amp;gt;&#039;&#039;Внимание! У модели есть дополнительные требования к модулям Python в файле requirements.txt!&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
|Проверить работу можно через API запросом:&lt;br /&gt;
&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/normalize&amp;lt;/nowiki&amp;gt;?&amp;quot; --data-urlencode &amp;quot;text=запишите меня к тринадцати&amp;quot; -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;запишите меня к 13-ти&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;correction&#039;&#039;&#039; &lt;br /&gt;
|Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). &lt;br /&gt;
|Проверить работу можно через API запросом:&lt;br /&gt;
&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/correct&amp;lt;/nowiki&amp;gt;?&amp;quot; --data-urlencode &amp;quot;text=халодная вода&amp;quot; -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;{&amp;quot;text&amp;quot;: &amp;quot;холодная вода&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;toxicity&#039;&#039;&#039; &lt;br /&gt;
|Анализ текста на невежливость, угрозы, брань.&lt;br /&gt;
|Проверить работу можно через API запросом:&lt;br /&gt;
&amp;lt;code&amp;gt;curl -s  -G -X GET &amp;quot;&amp;lt;nowiki&amp;gt;http://АДРЕС_СЕРВЕРА:6181/smc/toxicity&amp;lt;/nowiki&amp;gt;?&amp;quot; --data-urlencode &amp;quot;text=нехороший человек&amp;quot; -H &amp;quot;accept: application/json&amp;quot;|jq&amp;lt;/code&amp;gt; &lt;br /&gt;
Подробнее см в [[SMC. Руководство пользователя|руководстве пользователя]].&lt;br /&gt;
&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ВНИМАНИЕ!&#039;&#039;&#039; Модели &#039;&#039;&#039;punctuation, embeddings, correction&#039;&#039;&#039; обязательны для установки, остальные  - в зависимости от сценария использования.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей классификации&#039;&#039;&#039; =====&lt;br /&gt;
Модель классификации — это модель, обученная на определенном наборе данных (корпусе) и предназначенная непосредственно для классификации. Установка модели возможна запросом с помощью методов API. Методы описаны в [https://wiki.connect2ai.net/index.php/SMC._%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F руководстве пользователя]. Также модель может быть установлена копированием содержимого каталога /opt/smc/nnets/&amp;lt;имя модели&amp;gt; с одного сервера smc на другой. Внимание! При этом способе UPS, в конфигурационном файле которого указан новый smc, не увидит скопированную модель.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Конфигурирование параметров сервиса&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
Настройка параметров сервиса smc производится в файле /opt/smc/config.json&lt;br /&gt;
&lt;br /&gt;
Описание параметров приведено в таблице&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Параметр&lt;br /&gt;
!По умолчанию&lt;br /&gt;
!Назначение&lt;br /&gt;
|-&lt;br /&gt;
|logs.path&lt;br /&gt;
|logs/&lt;br /&gt;
|Дерриктория для хранения логов. Примеры абсолютного пути: &amp;quot;/var/log/smc/&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|logs.backups&lt;br /&gt;
|10&lt;br /&gt;
|Количество файлов ротации.&lt;br /&gt;
|-&lt;br /&gt;
|logs.maxSize&lt;br /&gt;
|5242880&lt;br /&gt;
|Максимальный размер файла в байтах, триггер для ротации.&lt;br /&gt;
|-&lt;br /&gt;
|noise.enabled&lt;br /&gt;
|true&lt;br /&gt;
|Детекция мусора при классификации (фраз, которые не относятся ни к одному классу)&lt;br /&gt;
|-&lt;br /&gt;
|noise.threshold&lt;br /&gt;
|0.7&lt;br /&gt;
|Порог отсева&lt;br /&gt;
|-&lt;br /&gt;
|gpu.productionModels&lt;br /&gt;
|true&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Флаг загрузки модели в GPU. productionModels подразумевает все рабочие модели классификации, которые создаются в системе. Остальные модели — сервисные: embeddingModel — языковая, punctuationModel — пунктуация, emotionsModel — анализ эмоций, compressorModel — модель сжатия фраз, toxicityModel — модель анализа фразы на токсичность. Можно отдельно по названию сервисной модели включать/выключать ее загрузку в GPU. Рабочие модели можно включить в память GPU только все вместе.&lt;br /&gt;
|-&lt;br /&gt;
|gpu.embeddingModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.punctuationModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.emotionsModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.compressorModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.emotionsModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.toxicityModel&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|gpu.correctionModel&lt;br /&gt;
|true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Работа сервиса через реверс-прокси&#039;&#039;&#039; =====&lt;br /&gt;
Сервис предполагает передачу больших объемов данных через HTTP. Рекомендуем соответствующим образом настроить конфигурацию сайта в реверс-прокси. Например, в nginx дополнительные параметры:&lt;br /&gt;
   client_max_body_size 0;&lt;br /&gt;
   proxy_read_timeout 3h;&lt;br /&gt;
   large_client_header_buffers 8 256k;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Сбор данных об ошибках&#039;&#039;&#039; =====&lt;br /&gt;
Логи сервиса по умолчанию находятся в файле /opt/smc/logs/log.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Удаление&#039;&#039;&#039; =====&lt;br /&gt;
Для удаления выполните команду: &amp;lt;code&amp;gt;/opt/smc/uninstall&amp;lt;/code&amp;gt;. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &#039;&#039;&#039;Практические рекомендации&#039;&#039;&#039; =====&lt;br /&gt;
Сервис SMC в работе использует большую языковую модель, которая формирует многомерное семантическое пространство. Смысл фразы для ее классификации вычисляется на основании вектора фразы в этом пространстве. Для производительности таких вычислений рекомендуется использовать GPU с 16 Гб видеопамяти. В случае отсутствия видеокарт рекомендуется использовать не менее 3 серверов по 8 ядер и 16 Гб оперативной памяти. При этом желательно в строке запуска gunicorn в файле сервиса добавить параметр &#039;&#039;&#039;«-w 2»&#039;&#039;&#039;. Это приведет к загрузке в память 2-х экземпляров приложения и моделей и позволит при высокой нагрузке полностью загрузить процессорные ядра.&lt;br /&gt;
&lt;br /&gt;
В папке /opt/smc/cache/ находится кэш векторов фраз, которые были созданы моделью векторизации. При работе сервиса при наличии вектора в кэше, он берется из него, а не создается моделью заново. Причем остается в ОЗУ тоже, что значительно увеличивает производительность сервиса, однако при прохождении через сервис большого количества различных фраз может привести к потреблению нескольких гигабайт памяти. Необходимо либо увеличить количество ОЗУ, либо просто перезагружать сервис в нерабочее время. Папку cache при желании можно периодически чистить, но в данном случае кэш будет постепенно заполняться заново с использованием GPU.&lt;/div&gt;</summary>
		<author><name>Ka.shapovalov</name></author>
	</entry>
</feed>