UPS. Описание API: различия между версиями
Материал из Флора AI
Нет описания правки |
Нет описания правки |
||
| Строка 1635: | Строка 1635: | ||
===== '''/qas: методы работы с сервисом qas''' ===== | ===== '''/qas: методы работы с сервисом qas''' ===== | ||
{| class="wikitable" | {| class="wikitable" style="width: 110%" | ||
|+ | |+ | ||
!style="color:blue;width: 15%" |'''GET/qas/ask''' | !style="color:blue;width: 15%" |'''GET/qas/ask''' | ||
| Строка 1641: | Строка 1641: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''text''' — текст вопроса, на основе которого будут искаться фрагменты.</small> | *<small>'''text''' — текст вопроса, на основе которого будут искаться фрагменты.</small> | ||
* <small>'''category''' — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных.</small> | *<small>'''category''' — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".</small> | ||
* <small>'''channel''' — id канала</small> | *<small>'''channel''' — id канала</small> | ||
* <small>'''creative''' — флаг креативности возможные варианты "yes" "no"</small> | *<small>'''creative''' — флаг креативности возможные варианты "yes" "no"</small> | ||
* <small>'''useCache''' — использовать кешированные ответы</small> | *<small>'''useCache''' — использовать кешированные ответы</small> | ||
<small>возможные варианты:</small> | <small>возможные варианты:</small> | ||
| Строка 1654: | Строка 1653: | ||
<small>- "'''checked'''" использовать только проверенные</small> | <small>- "'''checked'''" использовать только проверенные</small> | ||
*<small>'''useGPT''' — использовать генеративную сеть для поиска ответов в документах. возможные варианты "'''yes'''" "'''no'''"</small> | |||
*<small>'''model''' - имя модели GPT, если кроме default используются другие модели</small> | |||
*<small>'''template''' - ID шаблона запроса к LLM, необязательный параметр</small> | |||
* <small>''' | *<small>'''addAlias''' — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты "'''yes'''" "'''no'''"</small> | ||
| colspan="2" style="width: 50%" |<small>{</small> | | colspan="2" style="width: 50%" |<small>{</small> | ||
| Строка 1665: | Строка 1664: | ||
<small>"text": "Здесь будет текст ответа"</small> | <small>"text": "Здесь будет текст ответа"</small> | ||
<small>}</small> | <small>}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/cachemaker/start''' | ! style="color:blue;width: 15%" |'''GET/qas/cachemaker/start''' | ||
! colspan="3" style="width: 85%" |Генерация ответов на вопросы в кэше. | ! colspan="3" style="width: 85%" | Генерация ответов на вопросы в кэше. | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
*<small>'''category''' - категория для которой генерируются ответы</small> | *<small>'''category''' - категория для которой генерируются ответы</small>*<small>'''mode''' - режим генерации ответов, возможные значения:</small><small>'''- paraphrase''' - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе</small><small>'''- generate''' - генерирует кэш через разные ответы на каждый вопрос по документации</small> | ||
*<small>'''mode''' - режим генерации ответов, возможные значения:</small> | |||
<small>'''paraphrase''' - генерирует вариации ответов перефразированием уже проверенных ответов, если таковые имеются на вопросе</small> | |||
*<small>'''option''' - {all | empty} обработать все вопросы или только не содержащие ответов</small> | *<small>'''option''' - {all | empty} обработать все вопросы или только не содержащие ответов</small> | ||
*<small>'''category''' - если указан код категории, то генерация только для этой категории</small> | |||
* <small>'''variants''' - количество ответов, от 1 до 9</small> | *<small>'''variants''' - количество ответов, от 1 до 9</small> | ||
*<small>'''replace''' - заменить ответы на сгенерированные</small> | *<small>'''replace''' - заменить ответы на сгенерированные</small> | ||
*<small>''' | *<small>'''maxDocs''' - максимальное количество документов одной категории для формирования контекста при генерации ответа на вопрос, по умолчанию 1</small> | ||
*<small>'''model''' - какую модель использовать для генерации, если кроме default используются другие модели</small> | *<small>'''model''' - какую модель использовать для генерации, если кроме default используются другие модели</small> | ||
*<small>'''template''' - ID шаблона запроса к LLM, необязательный параметр</small> | |||
| colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success"}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/cachemaker/status''' | ! style="color:blue;width: 15%" |'''GET/qas/cachemaker/status''' | ||
! colspan="3" style="width: 85%" |Состояние генерации ответов на вопросы в кэше. <small>Статусы: '''started''', '''stopped''', если были ошибки, поле ответа '''error''' будет содержать код ошибки.</small> | ! colspan="3" style="width: 85%" |Состояние генерации ответов на вопросы в кэше. <small>Статусы: '''started''', '''stopped''', если были ошибки, поле ответа '''error''' будет содержать код ошибки.</small> | ||
|- | |- | ||
| Строка 1693: | Строка 1690: | ||
<small> "status": "started",</small> | <small> "status": "started",</small> | ||
<small> "progress": 33.33}</small> | <small> "progress": 33.33}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/cachemaker/stop''' | ! style="color:blue;width: 15%" |'''GET/qas/cachemaker/stop''' | ||
! colspan="3" style="width: 85%" |Остановить генерацию ответов на вопросы в кэше. | ! colspan="3" style="width: 85%" |Остановить генерацию ответов на вопросы в кэше. | ||
|- | |- | ||
| Строка 1701: | Строка 1698: | ||
| colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success"}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/category/add''' | ! style="color:green;width: 15%" |'''POST/qas/category/add''' | ||
! colspan="3" style="width: 85%" |Добавить категорию с указанным именем. <small>В ответе — id созданной категории или сообщение об ошибке:</small> | ! colspan="3" style="width: 85%" |Добавить категорию с указанным именем. <small>В ответе — id созданной категории или сообщение об ошибке:</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''name''' — наименование категории</small> | *<small>'''name''' — наименование категории</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
<small> "message": "success",</small> | <small> "message": "success",</small> | ||
<small> "id": "ad895085-2e48-439a-831e-b5f699b6a54a" }</small> | <small> "id": "ad895085-2e48-439a-831e-b5f699b6a54a" }</small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/qas/category/delete/{id}''' | ! style="color:red;width: 15%" |'''DELETE/qas/category/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удалить категорию. <small>В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.</small> | ! colspan="3" style="width: 85%" |Удалить категорию. <small>В ответе или сообщении об успехе, или ошибке, если категория используется или не существует.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор категории</small> | *<small>'''id''' — идентификатор категории</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
<small> "message": "success" }</small> | <small> "message": "success" }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/category/list''' | ! style="color:blue;width: 15%" |'''GET/qas/category/list''' | ||
! colspan="3" style="width: 85%" |Получить список категорий | ! colspan="3" style="width: 85%" | Получить список категорий | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" |<small>В ответе json с именами и id категорий</small> | | colspan="2" style="width: 50%" |<small>В ответе json с именами и id категорий</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/category/modify/{id}''' | ! style="color:green;width: 15%" |'''POST/qas/category/modify/{id}''' | ||
! colspan="3" style="width: 85%" |Изменить категорию. <small>У категории пока есть только наименование, поэтому метод только переименовывает категорию</small> | ! colspan="3" style="width: 85%" |Изменить категорию. <small>У категории пока есть только наименование, поэтому метод только переименовывает категорию</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор категории</small> | *<small>'''id''' — идентификатор категории</small> | ||
* <small>'''name''' — наименование категории</small> | *<small>'''name''' — наименование категории</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
<small> "message": "success" }</small> | <small> "message": "success" }</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/channel/add''' | ! style="color:green;width: 15%" |'''POST/qas/channel/add''' | ||
! colspan="3" style="width: 85%" |Добавление канала. <small>В ответе id созданного канала или сообщение об ошибке</small> | ! colspan="3" style="width: 85%" |Добавление канала. <small>В ответе id созданного канала или сообщение об ошибке</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''name''' — наименование канала</small> | *<small>'''name''' — наименование канала</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": 0,</small> | | colspan="2" style="width: 50%" |<small>{"error": 0,</small> | ||
<small>"message": "success",</small> | <small>"message": "success",</small> | ||
<small>"id": "a46fb887-5d98-41e0-8299-bcc94f615e91"}</small> | <small>"id": "a46fb887-5d98-41e0-8299-bcc94f615e91"}</small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/qas/channel/delete/{id}''' | ! style="color:red;width: 15%" |'''DELETE/qas/channel/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удаление канала | ! colspan="3" style="width: 85%" |Удаление канала | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор канала</small> | *<small>'''id''' — идентификатор канала</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0, "message": "success" }</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0, "message": "success" }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/channel/list''' | ! style="color:blue;width: 15%" |'''GET/qas/channel/list''' | ||
! colspan="3" style="width: 85%" |Получить список всех каналов | ! colspan="3" style="width: 85%" |Получить список всех каналов | ||
|- | |- | ||
| Строка 1769: | Строка 1766: | ||
<small> { "id": "0", "name": "default" }</small> | <small> { "id": "0", "name": "default" }</small> | ||
<small> ] }</small> | <small> ] }</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/channel/modify/{id}''' | ! style="color:green;width: 15%" |'''POST/qas/channel/modify/{id}''' | ||
! colspan="3" style="width: 85%" |Изменить канал. <small>У канала пока есть только наименование, поэтому метод только переименовывает канал</small> | ! colspan="3" style="width: 85%" |Изменить канал. <small>У канала пока есть только наименование, поэтому метод только переименовывает канал</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''name''' — новое наименование канала</small> | *<small>'''name''' — новое наименование канала</small> | ||
* <small>'''id''' — идентификатор канала</small> | *<small>'''id''' — идентификатор канала</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
<small> "message": "success" }</small> | <small> "message": "success" }</small> | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/qas/chat''' | ! style="color:green;width: 15%" |'''POST/qas/chat''' | ||
! colspan=" | ! colspan="3" |Поиск ответа за пределами документов. <small>На стадии разработки, не используется.</small> | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
*<small>'''text -''' текст вопроса</small> | *<small>'''text -''' текст вопроса</small> | ||
* <small>'''history''' - история вопросов, будет склеена с text при запросе</small> | *<small>'''history''' - история вопросов, будет склеена с text при запросе</small> | ||
*<small>'''model''' - какую модель использовать для ответа, если кроме default используются другие модели</small> | *<small>'''model''' - какую модель использовать для ответа, если кроме default используются другие модели</small> | ||
|<small>Пример ответа на вопрос "как пройти в библиотеку"</small><small>{"error": 0,</small> | *<small>'''useInternalTemplate''' - использовать ли шаблон запроса. '''no''' - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.</small> | ||
*<small>'''params''' - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].</small> | |||
| colspan="2" |<small>Пример ответа на вопрос "как пройти в библиотеку"</small><small>{"error": 0,</small> | |||
<small>"text": "1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом" }</small> | <small>"text": "1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом" }</small> | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/qas/chat''' | ! style="color:blue;width: 15%" |'''GET/qas/chat''' | ||
! colspan=" | ! colspan="3" |Поиск ответа за пределами документов. <small>Аналогичен методу "POST/qas/chat". Не поддерживает большие тексты.На стадии разработки, не используется.</small> | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Строка 1803: | Строка 1799: | ||
*<small>'''history''' - история вопросов, будет склеена с text при запросе</small> | *<small>'''history''' - история вопросов, будет склеена с text при запросе</small> | ||
*<small>'''model''' - какую модель использовать для ответа, если кроме default используются другие модели</small> | *<small>'''model''' - какую модель использовать для ответа, если кроме default используются другие модели</small> | ||
|<small>Аналогично методу "POST/qas/chat".</small> | *<small>'''useInternalTemplate''' - использовать ли шаблон запроса. '''no''' - не использовать, либо код шаблона запроса к LLM. Необязательный параметр. Если не указан, используется шаблон по умолчанию.</small> | ||
| | *<small>'''params''' - необязательный параметр. JSON с произвольными параметрами запроса к LLM. Описание параметров см. в [[QAS. Руководство администратора|руководстве администратора]].</small> | ||
| colspan="2" |<small>Аналогично методу "POST/qas/chat".</small> | |||
|- | |||
! style="color:green;width: 15%" |'''POST/qas/cleandoc''' | |||
! colspan="3" |Очистка документа от лишней информации | |||
|- | |||
| colspan="2" | | |||
*<small>'''text -''' текст документа</small> | |||
*<small>'''model''' - какую модель использовать для ответа, если кроме default используются другие модели</small> | |||
*<small>'''template''' - ID шаблона запроса к LLM, необязательный параметр</small> | |||
| colspan="2" |<small>{"error": 0, "message": "success", "text": "измененный текст"}</small> | |||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/doc/add''' | ! style="color:green;width: 15%" |'''POST/qas/doc/add''' | ||
! colspan="3" style="width: 85%" |Загрузить текстовый документ. <small>Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.</small> | ! colspan="3" style="width: 85%" | Загрузить текстовый документ. <small>Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''title''' — заголовок документа</small> | *<small>'''title''' — заголовок документа</small> | ||
* <small>'''category''' — категория документа</small> | *<small>'''category''' — категория документа</small> | ||
* <small>'''text'''</small> — <small>файл документа</small> | *<small>'''text'''</small> — <small>файл документа</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": 0,</small> | | colspan="2" style="width: 50%" |<small>{"error": 0,</small> | ||
<small>"message": "success",</small> | <small>"message": "success",</small> | ||
<small>"id": "ebe2bc57551c2d17f892987d1f62306d"}</small> | <small>"id": "ebe2bc57551c2d17f892987d1f62306d"}</small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/qas/doc/delete/{id}''' | ! style="color:red;width: 15%" |'''DELETE/qas/doc/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удаление документа | ! colspan="3" style="width: 85%" |Удаление документа | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор документа</small> | *<small>'''id''' — идентификатор документа</small> | ||
| colspan="2" style="width: 50%" | <small>{"error": 0,"message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0,"message": "success"}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/doc/get/{id}''' | ! style="color:blue;width: 15%" |'''GET/qas/doc/get/{id}''' | ||
! colspan="3" style="width: 85%" |Выгрузка текста документа | ! colspan="3" style="width: 85%" |Выгрузка текста документа | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор документа</small> | *<small>'''id''' — идентификатор документа</small> | ||
| colspan="2" style="width: 50%" |<small>{</small> | | colspan="2" style="width: 50%" |<small>{</small> | ||
| Строка 1837: | Строка 1843: | ||
<small> "text": "Здесь будет полный текст документа"</small> | <small> "text": "Здесь будет полный текст документа"</small> | ||
<small>}</small> | <small>}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/doc/list''' | ! style="color:blue;width: 15%" |'''GET/qas/doc/list''' | ||
! colspan="3" style="width: 85%" |Получение списка имеющихся документов | ! colspan="3" style="width: 85%" |Получение списка имеющихся документов | ||
|- | |- | ||
| Строка 1859: | Строка 1865: | ||
<small> "title": "UPS. Руководство администратора",</small> | <small> "title": "UPS. Руководство администратора",</small> | ||
<small> "category": "Техническая поддержка"} ]}</small> | <small> "category": "Техническая поддержка"} ]}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/doc/modify/{id}''' | ! style="color:green;width: 15%" |'''POST/qas/doc/modify/{id}''' | ||
! colspan="3" style="width: 85%" |Обновление документа. <small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ! colspan="3" style="width: 85%" |Обновление документа. <small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — json c изменяемыми параметрами документа</small> | *<small>'''data''' — json c изменяемыми параметрами документа</small> | ||
<small><code>{</code></small> | <small><code>{</code></small> | ||
| Строка 1879: | Строка 1885: | ||
<small>параметр который не меняется может отсутствовать в json</small> | <small>параметр который не меняется может отсутствовать в json</small> | ||
* <small>'''id''' — идентификатор документа.</small> | *<small>'''id''' — идентификатор документа.</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | | colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | ||
|- | |- | ||
| Строка 1886: | Строка 1892: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''search''' - искомая подстрока, будет заменена</small> | *<small>'''search''' - искомая подстрока, будет заменена</small> | ||
* <small>'''replace''' - текст замены</small> | *<small>'''replace''' - текст замены</small> | ||
* <small>'''category''' - в какой категории искать</small> | *<small>'''category''' - в какой категории искать</small> | ||
| style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION,"replacements":INT}</small> | | colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION,"replacements":INT}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/gpt/list''' | ! style="color:blue;width: 15%" |'''GET/qas/gpt/list''' | ||
! colspan="3" |Получение списка доступных(установленных) GPT моделей | |||
|- | |- | ||
| colspan="2" |<small>Входные параметры отсутствуют</small> | | colspan="2" |<small>Входные параметры отсутствуют</small> | ||
|<small>{ "error": 0, "message": "success",</small><small> "models": ["default" ]}</small> | | colspan="2" |<small>{ "error": 0, "message": "success",</small><small> "models": ["default" ]}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/add''' | ! style="color:green;width: 15%" |'''POST/qas/question/add''' | ||
! colspan="3" style="width: 85%" |Добавление вопроса. <small>В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.</small> | ! colspan="3" style="width: 85%" |Добавление вопроса. <small>В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''question''' — текст вопроса</small> | *<small>'''question''' — текст вопроса</small> | ||
* <small>'''category''' — id категории к которой относится вопрос</small> | *<small>'''category''' — id категории к которой относится вопрос</small> | ||
* <small>'''answers''' — ответы в виде Json:</small> | * <small>'''answers''' — ответы в виде Json:</small> | ||
| Строка 1914: | Строка 1917: | ||
<small><code>[ { "checked": true, "channel": "0", "answer": "ответ" } ]</code></small> | <small><code>[ { "checked": true, "channel": "0", "answer": "ответ" } ]</code></small> | ||
* <small>'''aliases''' — вопросы к которым подходят ответы из блока answers в виде json:</small> | *<small>'''aliases''' — вопросы к которым подходят ответы из блока answers в виде json:</small> | ||
<small><code>["вопрос","еще вопрос"]</code></small> | <small><code>["вопрос","еще вопрос"]</code></small> | ||
| Строка 1923: | Строка 1926: | ||
<small> "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"</small> | <small> "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"</small> | ||
<small>}</small> | <small>}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/append/{id}''' | ! style="color:green;width: 15%" |'''POST/qas/question/append/{id}''' | ||
! colspan="3" style="width: 85%" |Добавляет алиасы/кандидаты к другому вопросу | ! colspan="3" style="width: 85%" |Добавляет алиасы/кандидаты к другому вопросу | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''aliases''' — JSON list с синонимами</small> | *<small>'''aliases''' — JSON list с синонимами</small> | ||
* <small>'''candidates''' JSON list с кандидатами</small> | *<small>'''candidates''' JSON list с кандидатами</small> | ||
* <small>'''id''' — идентификатор вопроса к которому добавить синонимы и(или) кандидаты</small> | *<small>'''id''' — идентификатор вопроса к которому добавить синонимы и(или) кандидаты</small> | ||
| colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | | colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/approve/{destination_id}''' | ! style="color:green;width: 15%" |'''POST/qas/question/approve/{destination_id}''' | ||
! colspan="3" style="width: 85%" |Перемещает кандидаты в формулировки другого вопроса | ! colspan="3" style="width: 85%" |Перемещает кандидаты в формулировки другого вопроса | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''candidates''' — json массив c текстами кандидатов</small> | *<small>'''candidates''' — json массив c текстами кандидатов</small> | ||
* <small>'''destination_id''' — идентификатор вопроса</small> | *<small>'''destination_id''' — идентификатор вопроса</small> | ||
| colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | | colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/delete/list''' | ! style="color:green;width: 15%" |'''POST/qas/question/delete/list''' | ||
! colspan="3" style="width: 85%" |Удаление списка вопросов или ответов | ! colspan="3" style="width: 85%" |Удаление списка вопросов или ответов | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''questions''' — json строка с перечнем id</small> | *<small>'''questions''' — json строка с перечнем id</small> | ||
* <small>'''type''' — выбор, удалять вопросы или ответы ('''questions''', '''answers''')</small> | *<small>'''type''' — выбор, удалять вопросы или ответы ('''questions''', '''answers''')</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | | colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/qas/question/delete/{id}''' | ! style="color:red;width: 15%" |'''DELETE/qas/question/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удаление вопроса | ! colspan="3" style="width: 85%" |Удаление вопроса | ||
|- | |- | ||
| Строка 1961: | Строка 1964: | ||
| colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | | colspan="2" style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/question/get/{id}''' | ! style="color:blue;width: 15%" |'''GET/qas/question/get/{id}''' | ||
! colspan="3" style="width: 85%" |Получение вопроса вместе с ответами и синонимами вопроса | ! colspan="3" style="width: 85%" |Получение вопроса вместе с ответами и синонимами вопроса | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор вопроса</small> | *<small>'''id''' — идентификатор вопроса</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
| Строка 1982: | Строка 1985: | ||
<small> "синоним вопроса",</small> | <small> "синоним вопроса",</small> | ||
<small> "еще синоним вопроса" ] }</small> | <small> "еще синоним вопроса" ] }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/question/list''' | ! style="color:blue;width: 15%" |'''GET/qas/question/list''' | ||
! colspan="3" style="width: 85%" |Получение списка вопросов. | ! colspan="3" style="width: 85%" |Получение списка вопросов. | ||
|- | |- | ||
| Строка 1990: | Строка 1993: | ||
* <small>'''question''' — фильтр вопросов, ограничение списка по вопросам</small> | * <small>'''question''' — фильтр вопросов, ограничение списка по вопросам</small> | ||
* <small>'''answer''' — фильтр ответов, ограничение списка по ответам</small> | *<small>'''answer''' — фильтр ответов, ограничение списка по ответам</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
| Строка 2007: | Строка 2010: | ||
<small> "checked": 0,"unchecked": 0}</small> | <small> "checked": 0,"unchecked": 0}</small> | ||
<small> ] }</small> | <small> ] }</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/modify/{id}''' | ! style="color:green;width: 15%" |'''POST/qas/question/modify/{id}''' | ||
! colspan="3" style="width: 85%" |Модификация вопроса. <small>Позволяет заменить как все параметры так и отдельные</small> | ! colspan="3" style="width: 85%" |Модификация вопроса. <small>Позволяет заменить как все параметры так и отдельные</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — json c измененными параметрами, пример полного:</small> | *<small>'''data''' — json c измененными параметрами, пример полного:</small> | ||
<small><code>{ "answers": [</code></small> | <small><code>{ "answers": [</code></small> | ||
| Строка 2045: | Строка 2048: | ||
<small><code>}</code></small> | <small><code>}</code></small> | ||
* <small>'''id''' — идентификатор вопроса</small> | *<small>'''id''' — идентификатор вопроса</small> | ||
| colspan="2" style="width: 50%" |<small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | | colspan="2" style="width: 50%" |<small>В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.</small> | ||
<small>{"error": INT, "message": DESCRIPTION}</small> | <small>{"error": INT, "message": DESCRIPTION}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/question/replace''' | ! style="color:green;width: 15%" |'''POST/qas/question/replace''' | ||
! colspan="3" |<small>Поиск и замена подстроки. Будут заменены все найденные вхождения</small> | ! colspan="3" |<small>Поиск и замена подстроки. Будут заменены все найденные вхождения</small> | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
* <small>'''search''' - искомая подстрока, будет заменена</small> | *<small>'''search''' - искомая подстрока, будет заменена</small> | ||
* <small>'''replace''' - текст замены</small> | *<small>'''replace''' - текст замены</small> | ||
* <small>'''category''' - в какой категории искать</small> | *<small>'''category''' - в какой категории искать</small> | ||
|<small>{"error": INT, "message": DESCRIPTION,"replacements":INT}</small> | |<small>{"error": INT, "message": DESCRIPTION,"replacements":INT}</small> | ||
! | ! | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionlist/answers''' | ! style="color:blue;width: 15%" |'''GET/qas/questionlist/answers''' | ||
! colspan="3" style="width: 85%" |Отображает лог массовой обработки вопросов | ! colspan="3" style="width: 85%" |Отображает лог массовой обработки вопросов | ||
|- | |- | ||
| Строка 2077: | Строка 2080: | ||
<small> confidence: number | null;</small> | <small> confidence: number | null;</small> | ||
<small>}</small> | <small>}</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/qas/questionlist/start''' | ! style="color:green;width: 15%" |'''POST/qas/questionlist/start''' | ||
! colspan="3" style="width: 85%" |Старт массовой обработки вопросов из файла | ! colspan="3" style="width: 85%" |Старт массовой обработки вопросов из файла | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''questions''' - файл с вопросами</small> | *<small>'''questions''' - файл с вопросами</small> | ||
* <small>'''format''' - в json или в text файл с вопросами</small> | *<small>'''format''' - в json или в text файл с вопросами</small> | ||
* <small>'''category''' — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".</small> | *<small>'''category''' — id категории документа. Если не указать категорию, метод вернет ответ на основе всех документов в базе данных. Допускается указание нескольких категорий через разделитель "|".</small> | ||
* <small>'''channel''' — id канала</small> | *<small>'''channel''' — id канала</small> | ||
* <small>'''creative''' — флаг креативности возможные варианты "yes" "no"</small> | *<small>'''creative''' — флаг креативности возможные варианты "yes" "no"</small> | ||
* <small>'''useCache''' — использовать кешированные ответы</small> | *<small>'''useCache''' — использовать кешированные ответы</small> | ||
<small>возможные варианты:</small> | <small>возможные варианты:</small> | ||
| Строка 2098: | Строка 2101: | ||
<small>- "'''checked'''" использовать только проверенные</small> | <small>- "'''checked'''" использовать только проверенные</small> | ||
* <small>'''useGPT''' — использовать генеративную сеть для поиска ответов в документах. возможные варианты "'''yes'''" "'''no'''"</small> | *<small>'''useGPT''' — использовать генеративную сеть для поиска ответов в документах. возможные варианты "'''yes'''" "'''no'''"</small> | ||
* <small>'''model''' - имя модели GPT, если кроме default используются другие модели</small> | *<small>'''model''' - имя модели GPT, если кроме default используются другие модели</small> | ||
* <small>'''addAlias''' — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты "'''yes'''" "'''no'''"</small> | *<small>'''addAlias''' — добавлять похожие вопросы к синонимам, не создавая отдельного вопроса. возможные варианты "'''yes'''" "'''no'''"</small> | ||
* <small>'''threshold''' - порог достоверности при обработке</small> | *<small>'''threshold''' - порог достоверности при обработке</small> | ||
| colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | | colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionlist/status''' | ! style="color:blue;width: 15%" |'''GET/qas/questionlist/status''' | ||
! colspan="3" style="width: 85%" |Статус массовой обработки вопросов | ! colspan="3" style="width: 85%" |Статус массовой обработки вопросов | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| Строка 2115: | Строка 2118: | ||
<small> progress: number; }</small> | <small> progress: number; }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionlist/stop''' | ! style="color:blue;width: 15%" |'''GET/qas/questionlist/stop''' | ||
! colspan="3" style="width: 85%" |Остановка массовой обработки вопросов | ! colspan="3" style="width: 85%" | Остановка массовой обработки вопросов | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | | colspan="2" style="width: 50%" |<small><nowiki>{error: 0 | 1, message: string}</nowiki></small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionmaker/start''' | ! style="color:blue;width: 15%" |'''GET/qas/questionmaker/start''' | ||
! colspan="3" style="width: 85%" |Запуск генерации вопросов для кэша. <small>По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.</small> | ! colspan="3" style="width: 85%" |Запуск генерации вопросов для кэша. <small>По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''category''' — категория, для которой выполнится генерация вопросов.</small> | *<small>'''category''' — категория, для которой выполнится генерация вопросов.</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success" }</small> | | colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success" }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionmaker/status''' | ! style="color:blue;width: 15%" |'''GET/qas/questionmaker/status''' | ||
! colspan="3" style="width: 85%" |Проверка состояния генерации. <small>Статусы''': started''', '''stopped.''' Если были ошибки поле ответа '''error''' будет содержать код ошибки</small> | ! colspan="3" style="width: 85%" |Проверка состояния генерации. <small>Статусы''': started''', '''stopped.''' Если были ошибки поле ответа '''error''' будет содержать код ошибки</small> | ||
|- | |- | ||
| Строка 2136: | Строка 2139: | ||
<small> "status": "stopped",</small> | <small> "status": "stopped",</small> | ||
<small> "progress": 0 }</small> | <small> "progress": 0 }</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/questionmaker/stop''' | ! style="color:blue;width: 15%" |'''GET/qas/questionmaker/stop''' | ||
! colspan="3" style="width: 85%" |Прервать генерацию. | ! colspan="3" style="width: 85%" |Прервать генерацию. | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" | <small>{"error": 0, "message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0, "message": "success"}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/qas/search''' | ! style="color:blue;width: 15%" |'''GET/qas/search''' | ||
! colspan="3" style="width: 85%" |Поиск фрагментов содержащих ответ | ! colspan="3" style="width: 85%" | Поиск фрагментов содержащих ответ | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''text''' — текст запроса</small> | *<small>'''text''' — текст запроса</small> | ||
* <small>'''category''' — категория (раздел) знаний</small> | *<small>'''category''' — категория (раздел) знаний</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
| Строка 2175: | Строка 2178: | ||
<small> "category": "Категория документа",</small> | <small> "category": "Категория документа",</small> | ||
<small> "text": "Здесь будет текст найденного фрагмента" } ] }</small> | <small> "text": "Здесь будет текст найденного фрагмента" } ] }</small> | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/qas/summarization_template/add''' | ! style="color:green;width: 15%" |'''POST/qas/summarization_template/add''' | ||
| Строка 2183: | Строка 2186: | ||
* <small>'''name''' — название шаблона</small> | * <small>'''name''' — название шаблона</small> | ||
* <small>'''options''' — json словарь с именами разделов и их описанием</small> | *<small>'''options''' — json словарь с именами разделов и их описанием</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0, "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"}</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0, "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"}</small> | ||
|- | |- | ||
| Строка 2190: | Строка 2193: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор шаблона</small> | *<small>'''id''' — идентификатор шаблона</small> | ||
| colspan="2" style="width: 50%" |{"error": INT, "message": DESCRIPTION} | | colspan="2" style="width: 50%" |{"error": INT, "message": DESCRIPTION} | ||
|- | |- | ||
| Строка 2197: | Строка 2200: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор шаблона</small> | *<small>'''id''' — идентификатор шаблона</small> | ||
| style="width: 50%" |<small>На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.</small> | | style="width: 50%" |<small>На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона.</small> | ||
| | | | ||
| Строка 2212: | Строка 2215: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — словарь как в выдаче метода GET/qas/summarization_template/get/{id}</small> | *<small>'''data''' — словарь как в выдаче метода GET/qas/summarization_template/get/{id}</small> | ||
* <small>'''id''' — идентификатор шаблона</small> | *<small>'''id''' — идентификатор шаблона</small> | ||
| style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | | style="width: 50%" |<small>{"error": INT, "message": DESCRIPTION}</small> | ||
| | | | ||
| Строка 2222: | Строка 2225: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''text''' - текст совещания</small> | *<small>'''text''' - текст совещания</small> | ||
* <small>'''options''' — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.</small> | * <small>'''options''' — словарь с разделами протокола, где ключ — название раздела, значение - краткая инструкция к формированию раздела.</small> | ||
* <small>'''model''' - какую GPT модель использовать для построения протокола, если кроме default используются другие модели</small> | * <small>'''model''' - какую GPT модель использовать для построения протокола, если кроме default используются другие модели</small> | ||
* <small>'''file''' — файл с текстом (utf8 только текстовый формат)</small> | *<small>'''file''' — файл с текстом (utf8 только текстовый формат)</small> | ||
| style="width: 50%" |<small>{ "error": 0,</small> | | style="width: 50%" |<small>{ "error": 0,</small> | ||
<small> "message": "success",</small> | <small> "message": "success",</small> | ||
| Строка 2237: | Строка 2240: | ||
|} | |} | ||
===== '''/ses: методы работы с роботом''' ===== | ====='''/ses: методы работы с роботом'''===== | ||
| Строка 2274: | Строка 2276: | ||
*<small>'''text''' — текст запроса</small> | *<small>'''text''' — текст запроса</small> | ||
*<small>'''channel''' -— id канала</small> | *<small>'''channel''' -— id канала</small> | ||
*<small>'''session''' — uuid сессии, если это не первый запрос в сессии</small> | *<small>'''session''' — uuid сессии, если это не первый запрос в сессии</small> | ||
| Строка 2329: | Строка 2331: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — json строка с параметрами элемента данных</small> | *<small>'''data''' — json строка с параметрами элемента данных</small> | ||
* <small>'''robot''' — идентификатор робота</small> | *<small>'''robot''' — идентификатор робота</small> | ||
| style="width: 50%" |<small>{ "error": 0,</small><small> "message": "success"}</small> | | style="width: 50%" |<small>{ "error": 0,</small><small> "message": "success"}</small> | ||
|- | |- | ||
| Строка 2344: | Строка 2346: | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/ses/robot/data/get/{robot}/{id}''' | ! style="color:blue;width: 15%" |'''GET/ses/robot/data/get/{robot}/{id}''' | ||
! colspan="2" style="width: 85%" |Получение настроек элемента данных | ! colspan="2" style="width: 85%" | Получение настроек элемента данных | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор элемента данных</small> | *<small>'''id''' — идентификатор элемента данных</small> | ||
*<small>'''robot''' — идентификатор робота</small> | *<small>'''robot''' — идентификатор робота</small> | ||
| Строка 2397: | Строка 2399: | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/ses/robot/endpoint/add/{robot}''' | ! style="color:green;width: 15%" |'''POST/ses/robot/endpoint/add/{robot}''' | ||
! colspan="2" style="width: 85%" |Создание конечной точки. <small>Формат '''data''' как на выходе метода '''GET/ses/robot/endpoint/get/{robot}/{id}'''</small> | ! colspan="2" style="width: 85%" | Создание конечной точки. <small>Формат '''data''' как на выходе метода '''GET/ses/robot/endpoint/get/{robot}/{id}'''</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — json строка с параметрами конечной точки</small> | *<small>'''data''' — json строка с параметрами конечной точки</small> | ||
*<small>'''robot''' — идентификатор робота</small> | *<small>'''robot''' — идентификатор робота</small> | ||
| Строка 2414: | Строка 2416: | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/ses/robot/endpoint/get/{robot}/{id}''' | ! style="color:blue;width: 15%" |'''GET/ses/robot/endpoint/get/{robot}/{id}''' | ||
! colspan="2" style="width: 85%" |Получение настроек конечной точки | ! colspan="2" style="width: 85%" | Получение настроек конечной точки | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
| Строка 2520: | Строка 2522: | ||
! colspan="2" style="width: 85%" |Изменение основных настроек робота. <small>Формат '''data''' как в ответе метода '''GET/ses/robot/get/{id}'''</small> | ! colspan="2" style="width: 85%" |Изменение основных настроек робота. <small>Формат '''data''' как в ответе метода '''GET/ses/robot/get/{id}'''</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
*<small>'''data''' — json строка с новыми настройками робота</small> | *<small>'''data''' — json строка с новыми настройками робота</small> | ||
*<small>'''id''' — идентификатор робота</small> | *<small>'''id''' — идентификатор робота</small> | ||
| Строка 2544: | Строка 2546: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''robot''' — идентификатор робота</small> | *<small>'''robot''' — идентификатор робота</small> | ||
*<small>'''id''' — идентификатор скрипта</small> | *<small>'''id''' — идентификатор скрипта</small> | ||
| style="width: 50%" |<small>{ "error": 0,</small><small> "message": "success"}</small> | | style="width: 50%" |<small>{ "error": 0,</small><small> "message": "success"}</small> | ||
| Строка 2552: | Строка 2554: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''robot''' — идентификатор робота</small> | *<small>'''robot''' — идентификатор робота</small> | ||
*<small>'''id''' — идентификатор скрипта</small> | *<small>'''id''' — идентификатор скрипта</small> | ||
| style="width: 50%" |<small>{ "error": 0,</small><small> "data": {</small> | | style="width: 50%" |<small>{ "error": 0,</small><small> "data": {</small> | ||
| Строка 2620: | Строка 2622: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''token''' — уникальный код виджета, создается при внедрении</small> | *<small>'''token''' — уникальный код виджета, создается при внедрении</small> | ||
| colspan="2" style="width: 50%" |<small>Состав конфига канала, для передачи виджету. Подробней в [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 Руководстве администратора]</small> | | colspan="2" style="width: 50%" |<small>Состав конфига канала, для передачи виджету. Подробней в [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 Руководстве администратора]</small> | ||
|- | |- | ||
| Строка 2630: | Строка 2632: | ||
|} | |} | ||
===== '''/res: методы работы с сервисом отчетов''' ===== | ====='''/res: методы работы с сервисом отчетов'''===== | ||
| Строка 2648: | Строка 2650: | ||
|} | |} | ||
===== '''/transcription: методы работы со стенографией''' ===== | ===== '''/transcription: методы работы со стенографией'''===== | ||
{| class="wikitable" | {| class="wikitable" style="width: 110%" | ||
|+ | |+ | ||
!style="color:blue;width: 15%" |'''GET/transcription/audio/{id}''' | ! style="color:blue;width: 15%" |'''GET/transcription/audio/{id}''' | ||
! colspan="3" style="width: 85%" |Получить аудиофайл по id стенограммы. <small>Идентификатор нужной стенограммы можно получить методом</small> | ! colspan="3" style="width: 85%" |Получить аудиофайл по id стенограммы. <small>Идентификатор нужной стенограммы можно получить методом</small> | ||
<small>"GET /transcription/list"</small> | <small>"GET /transcription/list"</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор стенограммы</small> | *<small>'''id''' — идентификатор стенограммы</small> | ||
| colspan="2" style="width: 50%" |<small>wav файл сохраненной стенограммы</small> | | colspan="2" style="width: 50%" |<small>wav файл сохраненной стенограммы</small> | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/transcription/create''' | ! style="color:green;width: 15%" |'''POST/transcription/create''' | ||
! colspan="3" style="width: 85%" |Создание стенограммы из завершенного задания в очереди распознавания. <small>В ответ придет id созданной стенограммы</small> | ! colspan="3" style="width: 85%" |Создание стенограммы из завершенного задания в очереди распознавания. <small>В ответ придет id созданной стенограммы</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''taskID''' — идентификатор задания из очереди</small> | *<small>'''taskID''' — идентификатор задания из очереди</small> | ||
* <small>'''name''' — имя создаваемой стенограммы</small> | * <small>'''name''' — имя создаваемой стенограммы</small> | ||
| Строка 2671: | Строка 2673: | ||
<small>"message": "success",</small> | <small>"message": "success",</small> | ||
<small>"id": "74721a3b-9055-4650-9afb-de4d103cafc7"}</small> | <small>"id": "74721a3b-9055-4650-9afb-de4d103cafc7"}</small> | ||
|- | |- | ||
!style="color:red;width: 15%" |'''DELETE/transcription/delete/{id}''' | ! style="color:red;width: 15%" |'''DELETE/transcription/delete/{id}''' | ||
! colspan="3" style="width: 85%" |Удаление стенограммы | ! colspan="3" style="width: 85%" |Удаление стенограммы | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор стенограммы</small> | *<small>'''id''' — идентификатор стенограммы</small> | ||
| colspan="2" style="width: 50%" |<small>{"error": 0,"message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0,"message": "success"}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/transcription/get/{id}''' | ! style="color:blue;width: 15%" |'''GET/transcription/get/{id}''' | ||
! colspan="3" style="width: 85%" |Получение стенограммы. <small>Используется для отображения стенограммы в веб интерфейсе</small> | ! colspan="3" style="width: 85%" |Получение стенограммы. <small>Используется для отображения стенограммы в веб интерфейсе</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' — идентификатор стенограммы</small> | *<small>'''id''' — идентификатор стенограммы</small> | ||
| colspan="2" style="width: 50%" | <small>стенограмма в json формате</small> | | colspan="2" style="width: 50%" |<small>стенограмма в json формате</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/transcription/list''' | ! style="color:blue;width: 15%" |'''GET/transcription/list''' | ||
! colspan="3" style="width: 85%" |Получение списка сохраненных стенограмм | ! colspan="3" style="width: 85%" |Получение списка сохраненных стенограмм | ||
|- | |- | ||
| Строка 2705: | Строка 2707: | ||
"dataset": "0" }, .... ] | "dataset": "0" }, .... ] | ||
|- | |- | ||
!style="color:green;width: 15%" |'''POST/transcription/save/{id}''' | ! style="color:green;width: 15%" |'''POST/transcription/save/{id}''' | ||
! colspan="3" style="width: 85%" |Сохранение стенограмы. <small>Используется для сохранения изменений по нажатию кнопки «Сохранить».</small> | ! colspan="3" style="width: 85%" |Сохранение стенограмы. <small>Используется для сохранения изменений по нажатию кнопки «Сохранить».</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''data''' — стенограмма в json формате</small> | *<small>'''data''' — стенограмма в json формате</small> | ||
* <small>'''id''' стенограммы</small> | *<small>'''id''' стенограммы</small> | ||
| colspan="2" style="width: 50%" | <small>{"error": 0,"message": "success"}</small> | | colspan="2" style="width: 50%" |<small>{"error": 0,"message": "success"}</small> | ||
|- | |- | ||
!style="color:blue;width: 15%" |'''GET/transcription/waveform/{id}''' | ! style="color:blue;width: 15%" |'''GET/transcription/waveform/{id}''' | ||
! colspan="3" style="width: 85%" |Служебный метод для отображения аудио в графическом виде, <small>ответ содержит пики сигнала</small> | ! colspan="3" style="width: 85%" |Служебный метод для отображения аудио в графическом виде, <small>ответ содержит пики сигнала</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' стенограммы</small> | *<small>'''id''' стенограммы</small> | ||
| colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | | colspan="2" style="width: 50%" |<small>{ "error": 0,</small> | ||
| Строка 2731: | Строка 2733: | ||
<small> 0.015,</small> | <small> 0.015,</small> | ||
<small> 0.01 ] }</small> | <small> 0.01 ] }</small> | ||
|} | |} | ||
Версия от 14:50, 3 июля 2025
Описание часто используемых параметров
| Параметр | Тип | Описание |
|---|---|---|
| servicetype | запрос | Тип сервиса. Возможные значения: spr, smc, see, sbs, tts. |
| servertype | запрос | Тип группы серверов. Возможные значения: trainer (серверы обучения), cluster (рабочие серверы). |
| model | запрос | Название модели. |
| modeltype | запрос | Тип модели. Возможные значения: future — планируемая/черновик, current — текущая/рабочая, previous — архивная. |
| error | ответ | Флаг ошибки. |
| message | ответ | Информационное сообщение. |
"/external modules" методы внешних модулей
В этом разделе будут методы соответствующим образом оформленных внешних модулей
/auth: методы авторизации
| POST/auth/access | Получение токенов доступа. Токен доступа определяет, какие из методов будут доступны конкретному пользователю. Формируется на основании роли. Дополнительный входной параметр во всех методах, кроме перечисленных в разделе «nopassword» конфигурационного файла. Время действия токена определяется параметром auth.accessLifeTime конфигурационного файла. | ||
|---|---|---|---|
|
{
"x-access-token": "XXXXXXXXXXXXXXXXXXXX", "x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" } | ||
| POST/auth/dataset/add | Добавление dataset (набора данных). Dataset (набор данных) используется для ограничения доступа к данным. В ответе метод вернет id созданного набора данных. | ||
|
{
"error": 0 "message": "success", "dataset_id": "XXXXXXXXXXXXX" } | ||
| DELETE/auth/dataset/delete/{id} | Удаление dataset (набора данных). | ||
|
{
"error": 0, "message": "success" } | ||
| POST/auth/dataset/modify/{id} | Переименование dataset (набора данных). Метод меняет все параметры набора данных, но на данный момент времени у набора данных, кроме id, только один параметр — наименование. | ||
|
{
"error": 0, "message": "success" } | ||
| GET/auth/datasets | Получение списка наборов данных. | ||
| Нет входных параметров | [
{"id": "XXXXXXXXXXXXXXXXXX", "name": "XXX"}, {"id": "0", "name": "По умолчанию"} ] | ||
| GET/auth/refresh | Обновление токенов доступа. Время, в течение которого можно обновить доступ, регулируется параметром auth.refreshLifeTime конфигурационного файла. Служебный метод, используется в основном в веб-интерфейсе, чтобы не запрашивать лишний раз пароль. | ||
|
{
"x-access-token": "XXXXXXXXXXXXXXXXXXXX", "x-refresh-token": "XXXXXXXXXXXXXXXXXXXX" } | ||
| GET/auth/rights | Получение списка прав доступа. Служебный метод — по токену получает название роли и все права доступа этой роли, а также общедоступные методы. | ||
| Нет входных параметров | <<<{ "РОЛЬ": [
"GET:/......" ], "nopassword": [ "GET:/.......", ............... <<<............... "POST:/......." ] } | ||
| POST/auth/role/add | Создание роли. Служебный метод — используется веб-интерфейсом при создании роли. | ||
"name": "проверка создания", "rights": [ "набор прав через запятую" ] } |
{
"error": 0, "message": "success", "role_id": "a7e68bb83169f864c2fc868401b5250c" } | ||
| DELETE/auth/role/delete/{id} | Удаление роли. | ||
|
{"error": 0,"message": "success"} | ||
| POST/auth/role/modify/{id} | Изменение роли. Параметры как при создании роли. Роль будет переписана. | ||
"name": "проверка создания", "rights": [ "набор прав через запятую" ] } |
{"error": 0,"message": "success"} | ||
| GET/auth/roles | Получение списка ролей. | ||
| Нет входных параметров | [{
"id": "XXXXXXXXXXX", "name": "имя роли", "rights": [ "набор прав через запятую" ] },............] | ||
| POST/auth/user/add | Создание нового пользователя. Метод вернет или id нового пользователя или описание ошибки | ||
"username": "login_name", "fullname": "Отображаемое Имя","password": "XXXXX","role": "role_id", "dataset": "default dataset id", "datasets": [ "dataset id", ................. ] } |
{"error": 0,
"message": "success", "user_id": "XXXXXXXXXXXXXXXX"} | ||
| DELETE/auth/user/delete/{id} | Удаление пользователя | ||
|
{"error": 0,"message": "success"} | ||
| GET/auth/user/get/{id} | Получение параметров пользователя | ||
|
{"id": "XXXXXXXXXX",
"username": "loginname", "fullname": "Full Name", "role": "0", "dataset": "0", "datasets": [ "0", "2dc34d3454243522e5407d3a170815a2" ] } | ||
| GET/auth/user/info | Получение параметров пользователя по его токену доступа. Служебный метод - для предоставления прав текущему пользователю по его токену | ||
|
{"id": "XXXXXXXXXX",
"username": "loginname", "fullname": "Full Name", "role": "0", "dataset": "0", "datasets": [ "0", "2dc34d3454243522e5407d3a170815a2"] }, "rights": [..........] } | ||
| GET/auth/user/list | Получение списка пользователей с их параметрами. Тоже самое что и в методе GET /auth/user/info, только для всех пользователей | ||
| Нет входных параметров | [
{"id": "XXXXXXXXXX", "username": "loginname", "fullname": "Full Name", "role": "0", "dataset": "0", "datasets": [ "0", "2dc34d3454243522e5407d3a170815a2"] }, "rights": [..........] }, ...... ] | ||
| POST/auth/user/modify/{id} | Изменение параметров пользователя | ||
|
{ "error": 0,
"message": "success"} | ||
| POST/auth/user/password | Смена пароля пользователя по его токену доступа. | ||
|
{ "error": 0,"message": "success"} | ||
| POST/auth/userlog | Получение действий пользователя за период времени по его токену | ||
|
{
"error": 0, "message": "success", "data": [ [ "время", "id", "метод", {измененные данные в формате метода} ], [ "время", "id", "метод", {измененные данные в формате метода} ], ......... } | ||
| GET/auth/version | Получение версии сервиса ups | ||
| Нет входных параметров | {
"version": "4.082 release" } | ||
/lang: методы мультиязычности
| GET/lang/ | Выводит информацию о переводе элементов интерфейса на текущий язык | ||
|---|---|---|---|
| Нет входных параметров | { "see":"Сущности",
"smc":"Классификатор", ... } | ||
| GET/lang/wallpaper | Отдает случайный фон рабочего стола в виде jpeg из каталога «wallpapers» на сервере ups | ||
| Нет входных параметров | image/jpeg | ||
/server: получение информации о серверах
| GET/server/get/addresses/{servicetype} | Вывод информации о серверах, обслуживающих данный сервис, а также настроенных параметров обращения к данным серверам.
trainer — сервер обучения, cluster — рабочие серверы, connect — время на подключение, read — время на ответ, failed — время пребывания в сбойных, install — время на установку модели, info — время на получение информации о модели, counter — счетчик запросов, current — индекс последнего опрошенного cluster-сервера fail — массив сбойных серверов со временем постановки в сбой. | ||
|---|---|---|---|
|
{ "trainer": "http://127.0.0.1:6181",
"cluster": [ "http://127.0.0.1:6181" ], "timers": { "connect": 0.5, "read": 1, "failed": 600, "install": 60, "info": 3 }, "counter": 0, "current": 0, "fail": {"http://127.0.0.1:6181":1686295678} } | ||
| GET/server/get/models/{servicetype}/{servertype} | Вывод информации о моделях указанного сервиса на каждом сервере указанного типа. Вывод представляет собой массив URL-серверов, для каждого из которых указан список моделей. | ||
|
{ "http://127.0.0.1:6181": [
"model1", ... "modelN" ], ... } | ||
/model: методы работы с моделями
| POST/model/add/{servicetype}/{model} | Создание пустой модели в указанном сервисе. Доступно для следующих сервисов: smc, see, spr. | ||
|---|---|---|---|
|
{
"error":0, "message":"success" } | ||
| POST/model/apply/{servicetype}/{model} | Применение установленной на рабочих серверах модели. После применения модель становится доступна для штатного режима работы. Доступно для следующих сервисов: smc, see, spr. | ||
|
{
"error":0, "message":"success" } | ||
| DELETE/model/delete/{servicetype}/{model} | Полностью удаляет модель из системы и со всех управляемых серверов. Доступно для следующих сервисов: smc, see, spr. | ||
|
{
"error":0, "message":"success" } | ||
| GET/model/errors/{servicetype}/{model}/{modeltype} | Запрос на получение списка ошибок модели после тестирования/обучения. Доступен для сервисов see и smc. Ответ содержит список вложенных списков. В каждом три значения: правильное значение, предсказанное моделью значение и начальные данные (фраза). | ||
- train ошибки обучения - test ошибки тестирования - mark ошибки авторазметки
|
[ [true, predicted, phrase],
... ] | ||
| GET/model/export/{servicetype}/{model}/{modeltype} | Экспорт модели, модель скачивается в виде zip-архива. | ||
|
Файл model.zip, где model — название модели | ||
| DELETE/model/handler/{servicetype}/{model} | Удаление постобработчика из модели типа future. Более подробно об обработчике см. руководства пользователя smc и see. | ||
|
{"error":0,
"message":"success" } | ||
| POST/model/handler/{servicetype}/{model} | Отправка файла-постобработчика в указанную модель типа future. Обработчик становится активным сразу после успешной отправки. Более подробно об обработчике см. руководства пользователя smc и see. | ||
|
{"error":0,
"message":"success" } | ||
| GET/model/handler/{servicetype}/{model} | Получение файла-постобработчика из модели типа future. | ||
|
Файл handler.py | ||
| DELETE/model/handler/{servicetype}/{model}/{modeltype} | Удаление постобработчика в указанной модели указанного типа. | ||
|
{
"error":0, "message":"success" } | ||
| POST/model/handler/{servicetype}/{model}/{modeltype} | Отправка файла-постобработчика в указанную модель указанного типа. Становится активным сразу после успешной отправки. | ||
|
{
"error":0, "message":"success" } | ||
| GET/model/handler/{servicetype}/{model}/{modeltype} | Получение файла-постобработчика из указанной модели указанного типа. | ||
|
Файл handler.py | ||
| POST/model/import/{servicetype}/{model} | Импортирует модель в черновик (modeltype=future) | ||
|
{
"error":0, "message":"success" } | ||
| GET/model/info/{servicetype} | Получение информации о всех моделях указанного сервиса. Аналогичен методу GET /info/{servicetype}/{model}, но выводит информацию обо всех моделях. | ||
|
{ "model1": {
"previous": null, "current": null, "future": { "status": "empty", ... } }, ... } | ||
| GET/model/info/{servicetype}/{model} | Получение информации о каждом типе (modeltype) указанной модели. Итоговый массив содержит переменные типа modeltype, в каждой из который содержится информация о модели. | ||
|
{ "previous": null,
"current": { "status": "trained", ... }, "future": { "status": "trained", ... } } | ||
| POST/model/install/{servicetype}/{model} | Установка импортированной или обученной модели на рабочих серверах.
Доступно для следующих сервисов: smc, see, spr. | ||
|
{
"error":0, "message":"success" } | ||
| GET/model/log/{servicetype}/{model}/{modeltype} | Выводит лог обучения и тестирования модели. Доступно для следующих сервисов: smc, see. | ||
|
[
"training", "preparing data", "tokenizing", ... ] | ||
| POST/model/restore/{servicetype}/{model} | Откат модели. Делает текущую рабочую модель черновиком (future), рабочие серверы после выполнения данного метода продолжают уже с возвращенной моделью. Схематично действия над modeltype в результате выполнения данного метода можно представить так:
| ||
|
{"error":0,
"message":"success" } | ||
/corpus: работа с данными для обучения моделей
Методы данного класса предназначены только для сервисов smc и see
| GET/corpus/automark/list | Перечень заданий автоматической маркировки корпусов. | ||
|---|---|---|---|
| Нет входных параметров | { "error": 0,
"message": "success", "tasks": [ { "id": "29d9da98-d6c1-4dc1-bbc9-111309816002", "taskname": "test_doc", "status": "finished" }, { "id": "1a5e9bdc-9f98-49d2-84de-1a9bde8fc37c", "taskname": "sssss", "status": "finished" } ] } | ||
| GET/corpus/automark/result/{id} | Результат выполнения задания на автомаркировку корпуса. Если задание завершено в ответе придет маркированый корпус и время старта и финиша задания | ||
|
{
"error": 0, "message": "success", "started": "2024-10-09 18:05:51", "finished": "2024-10-09 18:05:51", "corpus": [[ [], [ ["тэг"],"фраза 1"]], [ [], [["тэг"],"фраза 2"]] ] } | ||
| GET/corpus/automark/start | Начать автоматическую разметку корпуса. | ||
[ [класс1,... классН], текст ]]
[ метка, [синоним, синоним2 ... синоним Н], порог ]]
|
{
"error": 0, "message": "success", "id": "уникальный id задания" } | ||
| GET/corpus/automark/status/{id} | Получить статус задания на автоматическую разметку корпуса. | ||
|
{
"error": "", "status": "finished", "started": "2024-10-09 13:49:46", "finished": "2024-10-09 13:49:46", "progress": 0 } | ||
| GET/corpus/automark/stop/{id} | Прервать задание на автоматическую разметку корпуса. | ||
|
{ "error": 0,
"message": "success"} | ||
| POST/corpus/copy/{servicetype} | Копирование корпуса данных | ||
|
{
"error": 0, "message": "success" } | ||
| DELETE/corpus/delete/{servicetype} | Удаляет корпус с данными | ||
|
{ "error": 0,
"message": "success"} | ||
| GET/corpus/export/{servicetype} | Возвращает текстовый файл с корпусом, содержащий строки вида КЛАСС<TAB>ФРАЗА | ||
|
Файл name.txt | ||
| GET/corpus/get/{servicetype} | Возвращает JSON с данными корпуса | ||
|
[
| ||
| POST/corpus/import/{servicetype} | Метод для импорта корпуса данных. Возможен как из текстового файла со строками вида КЛАСС<TAB>ФРАЗА (доступно для smc и see), так и из логов работы системы (только для smc). Если на вход поступил файл csv, происходит импорт из файла, в противном случае — из логов. | ||
|
{
"error": 0, "message": "success" } | ||
| GET/corpus/list/{servicetype} | Возвращает список всех корпусов данных для указанного типа сервиса | ||
|
[ "корпус1",
"корпус2", ...] | ||
| POST/corpus/put/{servicetype} | Перезаписывает корпус отправленным массивом данных | ||
|
{
"error": 0, "message": "success" } | ||
| POST/corpus/rename/{servicetype} | Переименование корпуса | ||
|
{
"error": 0, "message": "success" } | ||
/marks: работа с наборами меток в smc
| POST/marks/add | Добавление набора менток | ||
|---|---|---|---|
["синоним1", "синоним2", "синоним3", "синонимN" ], 0.9 # достоверность для метки (0 - 1) ], [ "меткаN", ["синоним11", "синоним21","синоним31", "синонимN1"], 0.9 # достоверность для метки (0 - 1) ] ]
|
{
"error": 0, "message": "success", "id": "132310fa-98c7-4b12-896f-ff113827d077" } | ||
| DELETE/marks/delete/{id} | Удаление набора меток | ||
|
{ "error": 0,
"message": "success" } | ||
| GET/marks/export/{id} | Получение набора меток в виде строк | ||
|
Пример:
метка1 синоним1,синоним2,синоним3,синонимN 0.9 меткаN синоним11,синоним21,синоним31,синонимN1 0.9 | ||
| GET/marks/get/{id} | Получение набора меток в виде json | ||
|
Пример:
{ "error": 0, "message": "success", "data": [ ["метка1", [ "синоним1", "синоним2", "синоним3", "синонимN" ], 0.9 ], ["меткаN", ["синоним11","синоним21", "синоним31","синонимN1"], 0.9 ] ] } | ||
| POST/marks/import/{id} | Импорт в существующий набор меток из файла. Набор будет переписан из файла | ||
|
{ "error": 0,
"message": "success" } | ||
| GET/marks/list | Получение списка наборов меток | ||
| Нет входных параметров | Пример:
{ "error": 0, "message": "success", "result": [ { "id": "416fbe08-19e9-453c-b140-37008a08a76c","name": "test" }, {"id": "16e77fa2-7c4d-47f9-8644-6385876525d6","name": "Рыжик" }, {"id": "132310fa-98c7-4b12-896f-ff113827d077", "name": "test" } ]} | ||
| POST/marks/put/{id} | Импорт в существующий набор меток из json строки. Набор будет переписан | ||
["синоним1", "синоним2", "синоним3", "синонимN" ], 0.9 # достоверность для метки (0 - 1) ], [ "меткаN", ["синоним11", "синоним21","синоним31", "синонимN1"], 0.9 # достоверность для метки (0 - 1) ] ]
|
{ "error": 0,
"message": "success" } | ||
| POST/marks/rename/{id} | Присваивает новое наименование существующему набору меток | ||
|
{ "error": 0,
"message": "success" } | ||
/spr: работа с сервисом SPR
| GET/spr/audio/{taskID} | Получение аудиофайла отложенного задания | ||
|---|---|---|---|
|
Wav файл | ||
| GET/spr/queue | Получение очереди отложенных заданий. Выводит очередь со статусами выполнения заданий. Статусы: ready — готово, waiting — ожидание, failed — сбой | ||
| Нет входных параметров | { "id задания": {
"created": "ХХХХ-ХХ-ХХ ХХ:ХХ:ХХ", "status": "waiting", "filename": "wav"} | ||
| DELETE/spr/queue/{taskID} | Удаление задания из очереди | ||
|
{"error": 0,
"message": "success"} | ||
| GET/spr/result/{taskID} | получениеПезультатов распознавания отложенного задания. Статусы: ready — готово, waiting — ожидание, failed — сбой, not found — не найдена | ||
|
Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи | ||
| POST/spr/stt/{model} | Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора spr. | ||
|
В случае async=1 возвращается только taskID, результат по taskID смотреть в методе /spr/result.
Для коротких файлов:
Для транскрибации больших файлов:
| ||
| GET/spr/waveform/{taskID} | Служебный метод для отображения аудио в графическом виде, содержит пики сигнала. | ||
|
{"error": 0,
"waveform": [ 0.016, 0.015, 0.01 ] } | ||
/smc: работа с сервисом SMC
| GETsmc/classify/{model} | Классификация текстовой фразы. В случае если модель была создана из меток, в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.
В ответе:
| ||
|---|---|---|---|
|
{ "classes": [
{ "class": "название класса", "confidence": 1 }, { "class": "название класса 2", "confidence": 1 } ], "groups": [ { "group": "название группы 1", "intersection": 2, "classes": [ "название класса", "название класса 2" ] } ], "nearest": [ { "group": "название группы 2", "percent": 0.67, "need": "название класса которого не хватило 1" }, { "group": ""название группы 3", "percent": 0.67, "need": "название класса которого не хватило 2" } ] } | ||
| GET/smc/compress | Убирает из фразы слова не влияющие на ее смысл. | ||
|
{ "text": "сжатый текст"} | ||
| GET/smc/correct | Коррекция правописания. Изменяет неправильно написанные слова, меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернёт текст неизменным. | ||
|
{ "text": "корректный текст" } | ||
| GET/smc/emotion | Анализ эмоций. На выходе один из вариантов: positive, negative, neutral. | ||
| text — фраза для анализа эмоций | { "emotion": "positive", "score": 0.9601 } | ||
| POST/smc/groups/{model} | Добавляет к модели группы из корпуса. Группы в модели будут перезаписаны | ||
|
{ "error": 0,
"message": "string"} | ||
| GET/smc/groups/{model} | Поиск групп по ранее полученным меткам. Ищет группы по набору меток. Результат — группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста. | ||
|
{"groups": [
{ "group": "Группа 1", "intersection": 3, "classes": [ "метка1_о", "метка2_о", "метка3_о" ] }, { "group": "Группа 2", "intersection": 2, "classes": [ "метка1_о", "метка5_о" ] }], "nearest": [ { "group": "Группа до которой не хватило 1 метки", "percent": 0.75, "need": "недостающая метка_о" } ] } | ||
| GET/smc/normalize | Обратная нормализация текста. Пример: двадцать пятого апреля в пятом часу — 25 апреля в 5-м часу. | ||
|
{"text": "<строка после обратной нормализации>"} | ||
| GET/smc/punctuate | Расстановка знаков препинания | ||
|
{ "text": "string" } | ||
| POST/smc/stop/{model} | Остановка обучения модели. Удаляет тестовую версию модели с сервера обучения, тем самым прерывает обучение. | ||
|
{ "error": 0,
"message": "string"} | ||
| POST/smc/test/{model} | Запуск тестирования модели smc. Метод асинхронный, статус тестирования можно запросить методом GET/info/{servicetype}/{model} | ||
|
{ "error": 0,
"message": "success" } | ||
| GET/smc/toxicity | Определение токсичности высказывания. Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1: | ||
|
{ "insult": 0.13, # оскорбление
"obscenity": 0, # брань "threat": 0, # угрозы "politeness": 0.53 вежливость} | ||
| POST/smc/train/{model} | Добавление модели. | ||
|
{ error: INT, message: DESCRIPTION } | ||
/see: работа с сервисом SEE
| GET/see/entities/{model} | Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей. | ||
|---|---|---|---|
|
{ ID-модели: [
{ position: 0, # позиция слова начала фрагмента, определяющего сущность confidence: 1, #вероятность правильного определения сущности text: текст сущности, calculated: vaktsinatsiya # поле, содержащее значение сущности, использованный при обучении модели }, {...} ] } | ||
| POST/see/stop/{model} | Остановка обучения модели | ||
|
{ "error": 0,
"message": "success"} | ||
| POST/see/train/{model} | Запуск обучения модели future | ||
|
{ "error": 0,
"message": "success"} | ||
/sbs: работа с сервисом SBS
| POST/sbs/analyze | Получение аналитических метаданных из голосового фрагмента. Вернется массив с метаданными голосового фрагмента. | ||
|---|---|---|---|
|
Пример:
{ age: { class: 20-29, # {"00-05", "06-12", "13-19", "20-29", "30-39", "40-49", "50-59", "60+"} confidence: 0.99 }, emotion: { class: SADNESS, # { "ANGER", "BORE", "DISAPPOINTMENT", "DISGUST", "EXCITEMENT", "FEAR", "NEUTRAL", "PAIN", "PLEASURE", "SADNESS", "SUPRISE"} confidence: 0.99 }, gender: { class: FEMALE, # { "MALE", "FEMALE" } confidence: 0.99 } } | ||
| POST/sbs/search | Поиск говорящего по базе слепков. | ||
|
Пример ответа:
{ error: 0, speaker: Ivan, confidence: 0.79 } | ||
| POST/sbs/speakers/add | Добавление слепка в базу. | ||
|
{
"error": 0, "id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433" } | ||
| DELETE/sbs/speakers/delete/{id} | Удаление слепка из базы. | ||
|
{ error: INT, message: DESCRIPTION } | ||
| GET/sbs/speakers/list | Получение списка всех слепков. | ||
| Входные параметры отсутствуют | [ {
"id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433", "name": "наименование слепка" }] | ||
| POST/sbs/speakers/modify/{id} | Дообучение слепка. | ||
|
{ "error": 0,
"message": "Success"} | ||
| POST/sbs/verify/{id} | Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1. | ||
|
{ "error": 0, "confidence": 0.78 } | ||
/tts: методы работы с сервисом tts
| GET/tts/dictionary/export | Выгрузка пользовательского словаря ударений. | ||
|---|---|---|---|
| Входные параметры отсутствуют | Простой текст — строки со словом и его интерпретацией с ударением. | ||
| GET/tts/dictionary/get | Выгрузка пользовательского словаря ударений в виде json. | ||
| Входные параметры отсутствуют | [ [ "слово", "замена слова с удар+ением"],
[ "слово2", "замена слова2 с удар+ением"], ...] | ||
| POST/tts/dictionary/import | Загрузка пользовательского словаря ударений. Текущий словарь будет переписан. | ||
|
{ "error": 0,
"message": "сообщение о статусе результата"} | ||
| POST/tts/dictionary/put | Загрузка пользовательского словаря ударений в виде json. Текущий словарь будет переписан. | ||
|
{
"error": 0, "message": "сообщение о статусе результата" } | ||
| POST/tts/normalize | Нормализация текста — перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -> «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода». | ||
|
{ "error": 0,
"message": "success", "text": "нормализованный текст" } | ||
| POST/tts/revoice/{revoicer} | Модификация или искажение голоса | ||
|
wav-файл с модифицированным (искаженным) голосом | ||
| GET/tts/revoicers | Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой. | ||
| Входные параметры отсутствуют | [ "distortion" ] | ||
| GET/tts/synthesize/{model} | Синтез звукового файла из текста небольшого размера — для совместимости с предыдущими версиями. | ||
|
wav-файл с синтезированой фразой | ||
| POST/tts/synthesize/{model} | Синтез звукового файла из текста для фраз большого размера — тип запроса «POST» позволяет отправку больших текстов. | ||
|
wav-файл с синтезированой фразой | ||
/qas: методы работы с сервисом qas
| GET/qas/ask | Метод генерирует ответ на поставленный вопрос на основе информации из документов в базе. Ответ на вопрос генерируется на основе информации, содержащейся в одном или нескольких документах. Документы должны быть в текстовом формате. Ответ возвращается в формате JSON, его можно скачать. Если метод не смог найти ответ, возвращается код ошибки и сообщение. | ||
|---|---|---|---|
возможные варианты: - "no" не использовать - "all" использовать все - "checked" использовать только проверенные
|
{
"error": 0, "text": "Здесь будет текст ответа" } | ||
| GET/qas/cachemaker/start | Генерация ответов на вопросы в кэше. | ||
|
{"error": 0, "message": "success"} | ||
| GET/qas/cachemaker/status | Состояние генерации ответов на вопросы в кэше. Статусы: started, stopped, если были ошибки, поле ответа error будет содержать код ошибки. | ||
| Входные параметры отсутствуют | { "error": "",
"status": "started", "progress": 33.33} | ||
| GET/qas/cachemaker/stop | Остановить генерацию ответов на вопросы в кэше. | ||
| Входные параметры отсутствуют | {"error": 0, "message": "success"} | ||
| POST/qas/category/add | Добавить категорию с указанным именем. В ответе — id созданной категории или сообщение об ошибке: | ||
|
{ "error": 0,
"message": "success", "id": "ad895085-2e48-439a-831e-b5f699b6a54a" } | ||
| DELETE/qas/category/delete/{id} | Удалить категорию. В ответе или сообщении об успехе, или ошибке, если категория используется или не существует. | ||
|
{ "error": 0,
"message": "success" } | ||
| GET/qas/category/list | Получить список категорий | ||
| Входные параметры отсутствуют | В ответе json с именами и id категорий | ||
| POST/qas/category/modify/{id} | Изменить категорию. У категории пока есть только наименование, поэтому метод только переименовывает категорию | ||
|
{ "error": 0,
"message": "success" } | ||
| POST/qas/channel/add | Добавление канала. В ответе id созданного канала или сообщение об ошибке | ||
|
{"error": 0,
"message": "success", "id": "a46fb887-5d98-41e0-8299-bcc94f615e91"} | ||
| DELETE/qas/channel/delete/{id} | Удаление канала | ||
|
{ "error": 0, "message": "success" } | ||
| GET/qas/channel/list | Получить список всех каналов | ||
| Входные параметры отсутствуют | { "error": 0,
"channels": [ { "id": "1", "name": "voice" }, { "id": "56442779-e871-43fd-ae4d-caf4ab6d09b9", "name": "канал++" }, { "id": "0", "name": "default" } ] } | ||
| POST/qas/channel/modify/{id} | Изменить канал. У канала пока есть только наименование, поэтому метод только переименовывает канал | ||
|
{ "error": 0,
"message": "success" } | ||
| POST/qas/chat | Поиск ответа за пределами документов. На стадии разработки, не используется. | ||
|
Пример ответа на вопрос "как пройти в библиотеку"{"error": 0,
"text": "1. Проверить время работы библиотеки (обычно от 9 до 20)\n2. Проверить местоположение библиотеки на карте или с помощью сервиса Google Maps\n3. Убедиться, что у вас есть необходимые документы для входа (паспорт, карта члена библиотеки и т.д.)\n4. Посетить библиотеку по адресу: [адрес библиотеки]\n5. Проверить правила поведения в библиотеке перед входом" } | ||
| GET/qas/chat | Поиск ответа за пределами документов. Аналогичен методу "POST/qas/chat". Не поддерживает большие тексты.На стадии разработки, не используется. | ||
|
Аналогично методу "POST/qas/chat". | ||
| POST/qas/cleandoc | Очистка документа от лишней информации | ||
|
{"error": 0, "message": "success", "text": "измененный текст"} | ||
| POST/qas/doc/add | Загрузить текстовый документ. Добавляет документ в базу. В ответе — id созданного документа или сообщение об ошибке. | ||
|
{"error": 0,
"message": "success", "id": "ebe2bc57551c2d17f892987d1f62306d"} | ||
| DELETE/qas/doc/delete/{id} | Удаление документа | ||
|
{"error": 0,"message": "success"} | ||
| GET/qas/doc/get/{id} | Выгрузка текста документа | ||
|
{
"error": 0, "text": "Здесь будет полный текст документа" } | ||
| GET/qas/doc/list | Получение списка имеющихся документов | ||
| Входные параметры отсутствуют | Пример:
{ "error": 0, "docs": [ {id": "d4999cdee5ad1faf2cb3066ea1b5e96b", "title": "PVE. Установка сервисного пакета окружения", "category": "Техническая поддержка" }, {"id": "759042575b965745b9d2af869bca1740", "title": "UPS. Руководство администратора", "category": "Техническая поддержка"} ]} | ||
| POST/qas/doc/modify/{id} | Обновление документа. В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки. | ||
параметр который не меняется может отсутствовать в json
|
{"error": INT, "message": DESCRIPTION} | ||
| POST/qas/doc/replace | Замена подстроки в текстах категории Будут заменены все найденные вхождения | ||
|
{"error": INT, "message": DESCRIPTION,"replacements":INT} | ||
| GET/qas/gpt/list | Получение списка доступных(установленных) GPT моделей | ||
| Входные параметры отсутствуют | { "error": 0, "message": "success", "models": ["default" ]} | ||
| POST/qas/question/add | Добавление вопроса. В случае успеха метод вернет id вопроса, в случае неудачи — код ошибки. | ||
|
{
"error": 0, "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d" } | ||
| POST/qas/question/append/{id} | Добавляет алиасы/кандидаты к другому вопросу | ||
|
{error: 0 | 1, message: string} | ||
| POST/qas/question/approve/{destination_id} | Перемещает кандидаты в формулировки другого вопроса | ||
|
{error: 0 | 1, message: string} | ||
| POST/qas/question/delete/list | Удаление списка вопросов или ответов | ||
|
{"error": INT, "message": DESCRIPTION} | ||
| DELETE/qas/question/delete/{id} | Удаление вопроса | ||
|
{"error": INT, "message": DESCRIPTION} | ||
| GET/qas/question/get/{id} | Получение вопроса вместе с ответами и синонимами вопроса | ||
|
{ "error": 0,
"answers": [ { "checked": true, "channel": "0", "answer": "ответ" } ], "aliases": [ "вопрос", "синоним вопроса", "еще синоним вопроса" ] } | ||
| GET/qas/question/list | Получение списка вопросов. | ||
|
{ "error": 0,
"questions": [ {"id": "","question": "","incomplete": "", "aliases": [],"candidates": [],"category": "", "checked": 0,"unchecked": 0}, {"id": "","question": "","incomplete": "", "aliases": [],"candidates": [],"category": "", "checked": 0,"unchecked": 0} ] } | ||
| POST/qas/question/modify/{id} | Модификация вопроса. Позволяет заменить как все параметры так и отдельные | ||
|
В случае успеха метод вернет статус выполнения операции (например, «success»), в случае неудачи — код ошибки.
{"error": INT, "message": DESCRIPTION} | ||
| POST/qas/question/replace | Поиск и замена подстроки. Будут заменены все найденные вхождения | ||
|
{"error": INT, "message": DESCRIPTION,"replacements":INT} | ||
| GET/qas/questionlist/answers | Отображает лог массовой обработки вопросов | ||
| Входные параметры отсутствуют | на выходе :
массив из объектов { error: number; question: string; answer: string; confidence: number | null; } | ||
| POST/qas/questionlist/start | Старт массовой обработки вопросов из файла | ||
возможные варианты: — "no" не использовать - "all" использовать все - "checked" использовать только проверенные
|
{error: 0 | 1, message: string} | ||
| GET/qas/questionlist/status | Статус массовой обработки вопросов | ||
| Входные параметры отсутствуют | { error: string;
status: 'started' | 'stopped'; progress: number; } | ||
| GET/qas/questionlist/stop | Остановка массовой обработки вопросов | ||
| Входные параметры отсутствуют | {error: 0 | 1, message: string} | ||
| GET/qas/questionmaker/start | Запуск генерации вопросов для кэша. По каждому документу генерируются по 5 вопросов на фрагмент. Количество фрагментов зависят от размера документа и настройки размера контекста из конфигурационного файла. Если вопрос сильно похож на существующий, новый не создается, а добавляется к существующему в aliases. | ||
|
{"error": 0, "message": "success" } | ||
| GET/qas/questionmaker/status | Проверка состояния генерации. Статусы: started, stopped. Если были ошибки поле ответа error будет содержать код ошибки | ||
| Входные параметры отсутствуют | { "error": "",
"status": "stopped", "progress": 0 } | ||
| GET/qas/questionmaker/stop | Прервать генерацию. | ||
| Входные параметры отсутствуют | {"error": 0, "message": "success"} | ||
| GET/qas/search | Поиск фрагментов содержащих ответ | ||
|
{ "error": 0,
"text": " Фрагмент 1:Здесь будет текст найденного фрагмента Фрагмент 2:Здесь будет текст найденного фрагмента", "fragments": [ { "id": "3a386b0a9e0e19efb0870685e1d0b484", "title": "Заголовок документа", "category": "Категория документа", "text": "Здесь будет текст найденного фрагмента" }, { "id": "44fd73ea1ac63f32cf18d79c854dbfe2", "title": "Заголовок документа", "category": "Категория документа", "text": "Здесь будет текст найденного фрагмента" } ] } | ||
| POST/qas/summarization_template/add | Добавление шаблона протокола. В случае успеха метод вернет id шаблона, в случае неудачи — код ошибки. | ||
|
{ "error": 0, "id": "527be9f0-f773-4a3e-bd0b-81b40a061d0d"} | ||
| DELETEqas/summarization_template/delete/{id} | Удаление шаблона. | ||
|
{"error": INT, "message": DESCRIPTION} | ||
| GET/qas/summarization_template/get/{id} | Получение json с шаблоном. | ||
|
На выходе словарь, основные элементы: data — словарь с шаблоном, остальные элементы этого уровня служебные. В data: id, name (идентификатор и наименование).И options — словарь с разделами шаблона. | ||
| GET/qas/summarization_template/list | Получение всех шаблонов. | ||
| Входные параметры отсутствуют | На выходе словарь, основной элемент — templates, содержит список шаблонов (каждый шаблон как в выдаче метода GET /qas/summarization_template/get/{id}). | ||
| POST/qas/summarization_template/modify/{id} | Изменение шаблона. | ||
|
{"error": INT, "message": DESCRIPTION} | ||
| POST/qas/summarize | Построение протокола или краткого содержания совещания | ||
|
{ "error": 0,
"message": "success", "summary": "здесь текст протокола" } |
||
/ses: методы работы с роботом
| для некоторых путей, где используется {robot_id} - это обращение к версии черновика, чтобы обращаться к продовой версии - нужен постфикс "_prod", для бэкапа "_backup"
актуально для методов - получения данных робота GET/ses/robot/get/{id} - применение настроек робота GET/ses/robot/commit/{id} - экспорт робота GET/ses/robot/export/{id} - список скриптов GET/ses/robot/script/list/{robot} - получение скрипта GET/ses/robot/script/get/{robot}/{id} - список ЭД GET/ses/robot/data/list/{robot} - получение ЭД GET/ses/robot/data/get/{robot}/{id} - список КТ GET/ses/robot/endpoint/list/{robot} - получение КТ GET/ses/robot/endpoint/get/{robot}/{id} - метода ask (отладчика) POST/ses/ask/{robot_id} - данные сессии (отладчика) GET/ses/session/{robot_id}/{session_id} | |||
|---|---|---|---|
| POST/ses/ask/{robot_id} | Получение ответа на запрос пользователя. Метод для отладки робота | ||
|
{ "error": 0, "question": "Вопрос",
"answer": [ { "messages": [ "ответ" ], "voice": "" } ], "session": null} | ||
| POST/ses/robot/add | Создание нового робота. На выходе id созданного робота или сообщение об ошибке | ||
|
{ "error": 0, "id": "2fd2f909-2069-4b20-a725-3a598c83f886"} | ||
| GET/ses/robot/apply/{id} | Применение робота. Переводит черновик робота в статус prod. Если до этого был prod вариант — становится backup. | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/cleardraft/{id} | Обнуление черновика рабочей версией робота | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/commit/{id} | Применение текущих изменений настроек робота. Применимо ко всем версиям (черновик, рабочая, резервная копия) | ||
|
{ "error": 0, "message": "success"} | ||
| POST/ses/robot/data/add/{robot} | Добавление элемента данных | ||
|
{ "error": 0, "message": "success"} | ||
| DELETE/ses/robot/data/delete/{robot}/{id} | Удаление элемента данных | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/data/get/{robot}/{id} | Получение настроек элемента данных | ||
|
{ "error": 0, "data": {
"id": "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb", "name": "pve", "type": "smc", "model": "Рыжик", "param": "PVE", "weight": 0, "slaveData": [], "forEndpointRunOnly": true, "actions": {} } } | ||
| GET/ses/robot/data/list/{robot} | Получение списка элементов данных | ||
|
[ { "id": "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb", "name": "pve",
"type": "smc" } ] | ||
| POST/ses/robot/data/modify/{robot}/{id} | Изменение элемента данных. Формат data как на выходе метода GET/ses/robot/data/get/{robot}/{id} | ||
|
{ "error": 0, "message": "success"} | ||
| DELETE/ses/robot/delete/{id} | Удаление всех версий робота | ||
|
{ "error": 0, "message": "success"} | ||
| POST/ses/robot/endpoint/add/{robot} | Создание конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id} | ||
|
{ "error": 0, "id": "8576593b-b0d8-4b03-a623-74f3132356ea"} | ||
| DELETE/ses/robot/endpoint/delete/{robot}/{id} | Удаление конечной точки. | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/endpoint/get/{robot}/{id} | Получение настроек конечной точки | ||
|
{ "error": 0, "data": {
"id": "6500dd0f-4bd1-43b3-9fd4-145eb7210c45", "name": "pve", "entry": [ [ "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb"]], "run": [], "actions": { "default": [ {"action": "say", "type": "linear", "text": [ "текст сообщения"] }, { "action": "следующее действие"} ] } } } | ||
| GET/ses/robot/endpoint/list/{robot} | Получение списка конечных точек робота | ||
|
[ { "id": "8576593b-b0d8-4b03-a623-74f3132356ea", "name": "точка 1",
"entry": [] }, { "id": "6500dd0f-4bd1-43b3-9fd4-145eb7210c45", "name": "точка 2", "entry": [ [ "bc1cb1a1-c64e-46a1-b422-1a48de9ddacb" ] ] }] | ||
| POST/ses/robot/endpoint/modify/{robot}/{id} | Изменение конечной точки. Формат data как на выходе метода GET/ses/robot/endpoint/get/{robot}/{id} | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/export/{id} | Выгрузка робота в архив | ||
|
zip файл с именем = идентификатор робота | ||
| GET/ses/robot/get/{id} | Выгрузка основных настроек робота | ||
|
{ "error": 0, "data": {
"id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78", "name": "test", "description": "", "voice": "", "session": { "lifetime": 600 }, "models": {}, "servicedata": {}, "exceptions": {}, "actions": {}, "holidays": [], "timeintervals": { "name": { "weekdays": [ 1, 2, 3, 4, 5, 6, 7 ], "dates": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "months": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ], "days": "all", "intervals": [ [ 0, 1440 ] ] }}}} | ||
| POST/ses/robot/import/{id} | Загрузка архива робота в черновик существующего робота | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/list | Получение списка роботов | ||
| Входные параметры отсутствуют | [ { "id": "9fd7f6f1-2cac-4f0f-a121-75c40f2b5e78", "name": "test",
"hasProd": true, "hasBackup": true } ] | ||
| POST/ses/robot/modify/{id} | Изменение основных настроек робота. Формат data как в ответе метода GET/ses/robot/get/{id} | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/restore/{id} | Откат рабочей версии из бэкапа. Резервная копия становится рабочей, и удаляется, а черновик остается без изменений | ||
|
{ "error": 0, "message": "success"} | ||
| POST/ses/robot/script/add/{robot} | Добавление нового скрипта. Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id} | ||
|
{ "error": 0, "message": "success"} | ||
| DELETE/ses/robot/script/delete/{robot}/{id} | Удаление скрипта | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/robot/script/get/{robot}/{id} | Получение текста скрипита | ||
|
{ "error": 0, "data": {
"id": "6a9f91b6-9634-4079-ac2b-60a944922c61", "name": "Наименование скрипта", "code": "Текст скрипта" } } | ||
| GET/ses/robot/script/list/{robot} | Получение списка скриптов | ||
|
[ { "id": "9b9d83b7-d5c3-49e6-9bd4-a123a9047939", "name": "наименование1" },
{ "id": "48b508ba-a32b-4ada-bcc3-66ce26d81c6a", "name": "наименование2" }] | ||
| POST/ses/robot/script/modify/{robot}/{id} | Изменение скрипта.Формат data как в ответе метода GET/ses/robot/script/get/{robot}/{id} | ||
|
{ "error": 0, "message": "success"} | ||
| GET/ses/session/{robot_id}/{session_id} | Выдает параметры сессии. Для отображения на боковой панели тестирования в UPS. Основные блоки результата: | ||
|
{ "started": "2024-11-05 15:03:14",
"modified": "2024-11-05 15:03:14", "current": {.....}, "data": [ { "request": { }, "reply": { } } ], "variables": {}, "history": [ { "id": ".....", "session": ".....", "robot": ".....", "channel": ".....", "closed": false, "endpoint": ".....", "variables": {}, "request": {.....}, "reply": {.....} } ]} | ||
| GET/ses/widget/config | Выдает параметры виджета для web канала по запросу js скрипта | ||
|
Состав конфига канала, для передачи виджету. Подробней в Руководстве администратора | ||
| GET/ses/widget/js | Выдает код js скрипта виджета для web-канала | ||
| Входные параметры отсутствуют | Код скрипта | ||
/res: методы работы с сервисом отчетов
| GET/res/dashboards | Получить список рабочих столов kibana с наборами отчетов | ||
|---|---|---|---|
| Входные параметры отсутствуют | { "error": 0, "message": "success",
"dashboards": { "Наименование1": "https://........", "Наименование2": "https://........." }} | ||
/transcription: методы работы со стенографией
| GET/transcription/audio/{id} | Получить аудиофайл по id стенограммы. Идентификатор нужной стенограммы можно получить методом
"GET /transcription/list" | ||
|---|---|---|---|
|
wav файл сохраненной стенограммы | ||
| POST/transcription/create | Создание стенограммы из завершенного задания в очереди распознавания. В ответ придет id созданной стенограммы | ||
|
{"error": 0,
"message": "success", "id": "74721a3b-9055-4650-9afb-de4d103cafc7"} | ||
| DELETE/transcription/delete/{id} | Удаление стенограммы | ||
|
{"error": 0,"message": "success"} | ||
| GET/transcription/get/{id} | Получение стенограммы. Используется для отображения стенограммы в веб интерфейсе | ||
|
стенограмма в json формате | ||
| GET/transcription/list | Получение списка сохраненных стенограмм | ||
| Входные параметры отсутствуют | [ { "id": "926e8d25-4275-4a78-906b-a1109cdacbea",
"name": "название", "model": "big", "created": "2024-03-29 12:37:42", "modified": "2024-04-24 16:09:09", "user": "0", "dataset": "0" }, .... ] | ||
| POST/transcription/save/{id} | Сохранение стенограмы. Используется для сохранения изменений по нажатию кнопки «Сохранить». | ||
|
{"error": 0,"message": "success"} | ||
| GET/transcription/waveform/{id} | Служебный метод для отображения аудио в графическом виде, ответ содержит пики сигнала | ||
|
{ "error": 0,
"waveform": [ 0.016, .......... .......... 0.015, 0.01 ] } | ||