<?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=VoroninE</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=VoroninE"/>
	<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/VoroninE"/>
	<updated>2026-06-01T15:56:22Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<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=3542</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=3542"/>
		<updated>2026-01-15T15:58:31Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: /* Установка моделей */&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/config.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;
|device&lt;br /&gt;
|cuda:0&lt;br /&gt;
|Вычислительное устройство (cpu/cuda:N, где N — номер графического ускорителя), в ОЗУ которого осуществляется загрузка моделей.&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;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей&#039;&#039;&#039; =====&lt;br /&gt;
В составе SBS используются модель для  Audio-deepfake detection — то есть она отличает синтезированный (искусственный) голос от живого (естественного).&lt;br /&gt;
&lt;br /&gt;
Модель располагается в папке /opt/sbs/pretrained/ .  &lt;br /&gt;
&lt;br /&gt;
Модели после установки SBS должны быть добавлены системным администратором. &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 настроен через конфиг 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>VoroninE</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=3541</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=3541"/>
		<updated>2026-01-15T15:57:25Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: /* Установка моделей */&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/config.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;
|device&lt;br /&gt;
|cuda:0&lt;br /&gt;
|Вычислительное устройство (cpu/cuda:N, где N — номер графического ускорителя), в ОЗУ которого осуществляется загрузка моделей.&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;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей&#039;&#039;&#039; =====&lt;br /&gt;
В составе SBS используются модель классификации deepfake.&lt;br /&gt;
&lt;br /&gt;
Модель располагается в папке /opt/sbs/pretrained/ - для  Audio-deepfake detection — то есть она отличает синтезированный (искусственный) голос от живого (естественного). &lt;br /&gt;
&lt;br /&gt;
Модели после установки SBS должны быть добавлены системным администратором.&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 настроен через конфиг 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>VoroninE</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=3540</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=3540"/>
		<updated>2026-01-15T15:56:58Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: /* Установка моделей */&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/config.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;
|device&lt;br /&gt;
|cuda:0&lt;br /&gt;
|Вычислительное устройство (cpu/cuda:N, где N — номер графического ускорителя), в ОЗУ которого осуществляется загрузка моделей.&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;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей&#039;&#039;&#039; =====&lt;br /&gt;
В составе SBS используются модель классификации deepfake.&lt;br /&gt;
&lt;br /&gt;
Модель deepfake располагается в папке /opt/sbs/pretrained/ - для  Audio-deepfake detection — то есть она отличает синтезированный (искусственный) голос от живого (естественного). &lt;br /&gt;
&lt;br /&gt;
Модели после установки SBS должны быть добавлены системным администратором.&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 настроен через конфиг 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>VoroninE</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=3539</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=3539"/>
		<updated>2026-01-15T15:50:49Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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/config.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;
|device&lt;br /&gt;
|cuda:0&lt;br /&gt;
|Вычислительное устройство (cpu/cuda:N, где N — номер графического ускорителя), в ОЗУ которого осуществляется загрузка моделей.&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;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей&#039;&#039;&#039; =====&lt;br /&gt;
В составе SBS используются модель классификации deepfake.&lt;br /&gt;
&lt;br /&gt;
Модель deepfake располагается в папке /opt/sbs/pretrained/ - для классификации синтетических и реальных аудио данных. Модели после установки QAS должны быть добавлены системным администратором.&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>VoroninE</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=3538</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=3538"/>
		<updated>2026-01-15T15:50:27Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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/config.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;
|device&lt;br /&gt;
|cuda:0&lt;br /&gt;
|Вычислительное устройство (cpu/cuda:N, где N — номер графического ускорителя), в ОЗУ которого осуществляется загрузка моделей.&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;
&lt;br /&gt;
===== &#039;&#039;&#039;Установка моделей&#039;&#039;&#039; =====&lt;br /&gt;
В составе SBS используются модель классификации deepfake.&lt;br /&gt;
&lt;br /&gt;
Модель deepfake располагается в папке /opt/sbs/pretrained/ - для классификации синтетических и реальных аудио данных. Модели после установки QAS должны быть добавлены системным администратором.&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>VoroninE</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=3536</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=3536"/>
		<updated>2026-01-14T12:11:54Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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;
&amp;lt;onlyinclude&amp;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; |Пример:&lt;br /&gt;
 &amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;age: {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&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;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confidence: 0.99&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;emotion: {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&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;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;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;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confidence: 0.99&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;gender: {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&amp;quot; }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confidence: 0.99&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;multispeaker: {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class: YES, # { &amp;quot;YES&amp;quot;, &amp;quot;NO&amp;quot; }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confidence: 0.99&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;synth: {&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class: YES, # { &amp;quot;NO&amp;quot;, &amp;quot;YES&amp;quot; }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confidence: 0.73&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;},&amp;lt;/code&amp;gt;&lt;br /&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#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;
*&#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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;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; |&#039;&#039;&#039;&amp;lt;small&amp;gt;dataset&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;lt;/code&amp;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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;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;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VoroninE</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=3534</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=3534"/>
		<updated>2026-01-14T11:34:07Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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;
&amp;lt;onlyinclude&amp;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;code&amp;gt;  age: {&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;    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;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    confidence: 0.99&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;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;  emotion: {&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;    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;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;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;}&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;    confidence: 0.99&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;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;  gender: {&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;    class: FEMALE, # { &amp;quot;MALE&amp;quot;, &amp;quot;FEMALE&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;    confidence: 0.99&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;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;  multispeaker : {&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;    class: YES, # { &amp;quot;YES&amp;quot;, &amp;quot;NO&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;    confidence: 0.99&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;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  synth : {&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    class: YES, # { &amp;quot;NO&amp;quot;, &amp;quot;YES&amp;quot; }&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;    confidence: 0.73&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;  },&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/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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 50%&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#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;
*&#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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;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; |&#039;&#039;&#039;&amp;lt;small&amp;gt;dataset&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;lt;/code&amp;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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;dataset&#039;&#039;&#039; - набор данных&amp;lt;/small&amp;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;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VoroninE</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=3296</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=3296"/>
		<updated>2025-11-01T11:57:26Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: fragments.filters&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;
* /opt/qas/pretrained/embeddings/rerank - для реранжирования документов&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.instances&lt;br /&gt;
|1&lt;br /&gt;
|Количество экземпляров встроенной нейросети&lt;br /&gt;
|-&lt;br /&gt;
|gpt.gpu_layers&lt;br /&gt;
|12&lt;br /&gt;
|Количество слоёв gpt нейросети, загружаемых в память видеокарты. Остальные слои загрузятся в оперативную память. Чтобы загрузить &#039;&#039;&#039;всю&#039;&#039;&#039; модель в ГПУ использовать значение &amp;quot;&#039;&#039;&#039;-1&#039;&#039;&#039;&amp;quot;&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;
|16384&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.5&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.alpha&lt;br /&gt;
|0.5&lt;br /&gt;
|Параметр alpha — весовой коэффициент в формуле итоговой релевантности фрагмента, которая объединяет результаты двух моделей: векторизации и реранжирования.&lt;br /&gt;
Настройка параметра:&lt;br /&gt;
&lt;br /&gt;
- Высокие значения (близкие к 1.0): Система в большей степени доверяет результатам модели векторизации. &lt;br /&gt;
&lt;br /&gt;
- Низкие значения (близкие к 0.0): Система больше полагается на более точную, но ресурсоемкую модель реранжирования.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.filters&lt;br /&gt;
|[&lt;br /&gt;
&amp;quot;^\\d+\\.$&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^[^\\S\n]*[(\\{\\[«\&amp;quot;]?\\d+\\.[^\\S\\\n]*$&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^[{}\\[\\]]$&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^[a-z]{2,3}\\.?$&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&amp;quot;^(?:https?|ftp|www|com|org|net|io|co|edu|gov|html)$&amp;quot;&lt;br /&gt;
&lt;br /&gt;
]&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>VoroninE</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=3210</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=3210"/>
		<updated>2025-10-22T11:57:43Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: /* /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, автоматическое определение количества. При отправке значения -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;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; — режим генерации ответов, возможные значения:&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&#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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;
|&#039;&#039;&#039;GET/qas/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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;
|&#039;&#039;&#039;GET/qas/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
|&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;quot;doc_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/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;
*&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;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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/mismatchsearcher/mismatches&#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;quot;error&amp;quot;: 0,&amp;quot;message&amp;quot;: &amp;quot;success&amp;quot;,&amp;quot;mismatches&amp;quot;: [{&amp;quot;question_id&amp;quot;: &amp;quot;ID вопроса&amp;quot;, &amp;quot;question&amp;quot;: &amp;quot;вопрос&amp;quot;, &amp;quot;category&amp;quot;: &amp;quot;ID категории&amp;quot;,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;answer_id&amp;quot;: &amp;quot;ID ответа&amp;quot;, &amp;quot;answer&amp;quot;: &amp;quot;ответ на вопрос {question}&amp;quot;,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;результат поиска&amp;quot;, &amp;quot;error&amp;quot; : string,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;context&amp;quot;: &amp;quot;фрагмент документа&amp;quot;, &amp;quot;generatedText&amp;quot; : &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;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; |Запуск генерации вопросов&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;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - ID документа, по которому будет происходить генерация вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - флаг для генерации ответов вместе с вопросами &#039;&#039;&#039;[yse|no]&#039;&#039;&#039;, по умолчанию &#039;&#039;&#039;«no»&#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;
* &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;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; |Статус генерации вопросов&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;: string,&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;status&amp;quot;: &#039;started&#039; | &#039;stopped&#039;,&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt; &amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3&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/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;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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 - замена информации в тексте, mismatch - поиск несоответствий&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>VoroninE</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=3209</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=3209"/>
		<updated>2025-10-22T11:52:07Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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; &amp;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;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;checked&#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;
&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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;doc_id&amp;quot;: &amp;quot;ID документа&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/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;
&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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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/mismatchsearcher/mismatches&#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;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;&amp;lt;small&amp;gt;&amp;quot;mismatches&amp;quot;: [{&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;question_id&amp;quot;: &amp;quot;ID вопроса&amp;quot;,&amp;lt;/small&amp;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;
&amp;lt;small&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;ID категории&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answer_id&amp;quot;: &amp;quot;ID ответа&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answer&amp;quot;: &amp;quot;ответ на вопрос {question}&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;результат поиска&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot; : string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;context&amp;quot;: &amp;quot;фрагмент документа&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;generatedText&amp;quot; : &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;
|-&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; |Запуск генерации вопросов&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;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - ID документа, по которому будет происходить генерация вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - флаг для генерации ответов вместе с вопросами &#039;&#039;&#039;[yse|no]&#039;&#039;&#039;, по умолчанию &#039;&#039;&#039;«no»&#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;
*&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;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; |Статус генерации вопросов&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;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: string,&amp;lt;/small&amp;gt;    &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;status&amp;quot;: &#039;started&#039; | &#039;stopped&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3&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/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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;
&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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;
&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;&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;
! 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;
*&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;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;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;answers&#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 - замена информации в тексте, mismatch - поиск несоответствий&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>VoroninE</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=3208</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=3208"/>
		<updated>2025-10-22T11:47:16Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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; &amp;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;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;checked&#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;
&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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;doc_id&amp;quot;: &amp;quot;ID документа&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/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;
&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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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;
|&#039;&#039;&#039;GET/qas/mismatchsearcher/mismatches&#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;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;&amp;lt;small&amp;gt;&amp;quot;mismatches&amp;quot;: [{&amp;lt;/small&amp;gt;        &amp;lt;small&amp;gt;&amp;quot;question_id&amp;quot;: &amp;quot;ID вопроса&amp;quot;,&amp;lt;/small&amp;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;
&amp;lt;small&amp;gt;&amp;quot;category&amp;quot;: &amp;quot;ID категории&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answer_id&amp;quot;: &amp;quot;ID ответа&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;answer&amp;quot;: &amp;quot;ответ на вопрос {question}&amp;quot;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;description&amp;quot;: &amp;quot;результат поиска&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot; : string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;context&amp;quot;: &amp;quot;фрагмент документа&amp;quot;,&amp;lt;/small&amp;gt;        &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;generatedText&amp;quot; : &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;
|-&lt;br /&gt;
|&#039;&#039;&#039;GET/qas/questionmaker/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;lt;/small&amp;gt; &lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;doc&#039;&#039;&#039; - ID документа, по которому будет происходить генерация вопросов&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;generateAnswers&#039;&#039;&#039; - флаг для генерации ответов вместе с вопросами &#039;&#039;&#039;[yse|no]&#039;&#039;&#039;, по умолчанию &#039;&#039;&#039;«no»&#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;
* &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;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GET/qas/questionmaker/status&#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;
&amp;lt;small&amp;gt;&amp;quot;error&amp;quot;: string,&amp;lt;/small&amp;gt;    &lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;status&amp;quot;: &#039;started&#039; | &#039;stopped&#039;,&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3&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/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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;
&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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;
&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;&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;
! 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;
*&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;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;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;answers&#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 - замена информации в тексте, mismatch - поиск несоответствий&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>VoroninE</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=3207</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=3207"/>
		<updated>2025-10-22T10:24:40Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: &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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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; &amp;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;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;checked&#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;
&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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;doc_id&amp;quot;: &amp;quot;ID документа&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/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;
&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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;
&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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;
&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;&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;
! 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;
*&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;answer&#039;&#039;&#039; — фильтр ответов&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;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;answers&#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>VoroninE</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=3206</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=3206"/>
		<updated>2025-10-22T10:24:17Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: /* /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, автоматическое определение количества. При отправке значения -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;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;mode&#039;&#039;&#039; — режим генерации ответов, возможные значения:&#039;&#039;&#039;- paraphrase&#039;&#039;&#039; - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе&#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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;
|&#039;&#039;&#039;GET/qas/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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;
|&#039;&#039;&#039;GET/qas/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
|&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
* &amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;{&amp;quot;error&amp;quot;: 0,&amp;quot;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;quot;doc_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/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;
*&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;answer&#039;&#039;&#039; —  фильтр ответов, ограничение списка по ответам&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; |&amp;lt;small&amp;gt;{  &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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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>VoroninE</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=3196</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=3196"/>
		<updated>2025-10-22T09:54:52Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: изменения методов&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; — максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1&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; &amp;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;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;checked&#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;
&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:green;width: 15%&amp;quot; |&#039;&#039;&#039;POST/qas/cleandoc/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;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;&#039;&#039;&#039;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/stop&#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;user_id&#039;&#039;&#039; - ID пользователя&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/cleandoc/status&#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;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: stopped | started,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;progress&amp;quot;: 33.3,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;message&amp;quot;: string,&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;place&amp;quot;: number, #место в очереди&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;quot;queue&amp;quot;: True | 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;
! style=&amp;quot;color:blue;width: 15%&amp;quot; |&#039;&#039;&#039;GET/qas/cleandoc/result&#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;doc_id&#039;&#039;&#039; - необязательный параметр, ID документа&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;user_id&#039;&#039;&#039; - ID пользователя&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;status&amp;quot;: &amp;quot;stopped&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;text&amp;quot;: &amp;quot;очищенный текст&amp;quot;,&amp;lt;/small&amp;gt;&amp;lt;small&amp;gt;&amp;quot;doc_id&amp;quot;: &amp;quot;ID документа&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/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;
&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: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;&#039;&#039;&#039;asktemplate&#039;&#039;&#039; - ID шаблона запроса к LLM для генерации ответов по документу, необязательный параметр&amp;lt;/small&amp;gt;&lt;br /&gt;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск несоответствий, необязательный параметр, по умолчанию «all»&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;maxDocs&#039;&#039;&#039; - максимальное количество документов одной категории для формирования контекста при поиске ответа на вопрос, по умолчанию 1&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;
&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;&#039;&#039;&#039;answers&#039;&#039;&#039; - тип вопросов, по которым осуществляется поиск для внесения правок, необязательный параметр, по умолчанию «all»&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;
&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;&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;
! 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;
*&amp;lt;small&amp;gt;category — фильтр категорий&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;
*&amp;lt;small&amp;gt;&#039;&#039;&#039;created&#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;createdBefore&#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;modified&#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;onlyNew&#039;&#039;&#039; - фильтр, оставляющий только новые (необработанные) вопросы&amp;lt;/small&amp;gt; &lt;br /&gt;
| style=&amp;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;answers&#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>VoroninE</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=3194</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=3194"/>
		<updated>2025-10-22T06:07:16Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: добавлена alpha в qas&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;
* /opt/qas/pretrained/embeddings/rerank - для реранжирования документов&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.instances&lt;br /&gt;
|1&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;
|16384&lt;br /&gt;
|Максимальная длина текста, которая будет подана в генератор для поиска ответа на вопрос.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.threshold&lt;br /&gt;
|0.5&lt;br /&gt;
|Уровень достоверности при векторном поиске фрагментов в загруженных документах.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.limit&lt;br /&gt;
|1&lt;br /&gt;
|Максимальное количество фрагментов, которые должны быть найдены в документах в порядке убывания доверия.&lt;br /&gt;
|-&lt;br /&gt;
|fragments.alpha&lt;br /&gt;
|0.5&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>VoroninE</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=3193</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=3193"/>
		<updated>2025-10-21T15:20:25Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: добавлена модель реранжирования&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;
* /opt/qas/pretrained/embeddings/rerank - для реранжирования документов&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.instances&lt;br /&gt;
|1&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>VoroninE</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=3042</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=3042"/>
		<updated>2025-08-27T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: параметр мультиспикеров в sbs&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;, &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;
  },&lt;br /&gt;
&lt;br /&gt;
  multispeaker : {&lt;br /&gt;
&lt;br /&gt;
    class: YES, # { &amp;quot;YES&amp;quot;, &amp;quot;NO&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
    confidence: 0.99&lt;br /&gt;
&lt;br /&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>VoroninE</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=2886</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=2886"/>
		<updated>2025-07-28T12:49:51Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: добавление similarityArea в ups&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;
*&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>VoroninE</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=2885</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=2885"/>
		<updated>2025-07-28T12:45:08Z</updated>

		<summary type="html">&lt;p&gt;VoroninE: добавление similarityArea в qas&amp;amp;ups&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;
*&#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;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;
*&#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;
&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>VoroninE</name></author>
	</entry>
</feed>