SMC. Руководство пользователя: различия между версиями
Материал из Флора AI
Нет описания правки |
Нет описания правки |
||
| Строка 146: | Строка 146: | ||
|Лог содержится в переменной log в виде списка. | |Лог содержится в переменной log в виде списка. | ||
<code>{</code> | <code>{</code> | ||
< | <"log": [ | ||
"training", | "training", | ||
"normalization: 5, model size: 2", | "normalization: 5, model size: 2", | ||
| Строка 169: | Строка 169: | ||
* '''csv-file''' - файл для тестирования | * '''csv-file''' - файл для тестирования | ||
* '''confidence''' - уровень доверия, от 0 до 1. Порог, ниже которого класс считается неизвестным. при значении 0 происходит автоматический расчет среднего уровня доверия, которые можно потом получить методом /smc/info/{id} | * '''confidence''' - уровень доверия, от 0 до 1. Порог, ниже которого класс считается неизвестным. при значении 0 происходит автоматический расчет среднего уровня доверия, которые можно потом получить методом /smc/info/{id} | ||
|<code>{ error: INT, message: DESCRIPTION }</code> | |||
|- | |||
|/smc/handler/{id} | |||
|GET | |||
|Получение файла-постобработчика | |||
|'''id''' - идентификатор модели | |||
|Файл handler.py | |||
|- | |||
|/smc/handler/{id} | |||
|POST | |||
|Отправка файла-постобработчика в указанную модель. Становится активным сразу после успешной отправки. | |||
| | |||
* '''id''' - идентификатор модели | |||
* '''handler''' - файл, содержащий программный код python постобработчика | |||
|<code>{ error: INT, message: DESCRIPTION }</code> | |||
|- | |||
|/smc/handler/{id} | |||
|DELETE | |||
|Удаление постобработчика | |||
|'''id''' - идентификатор модели | |||
|<code>{ error: INT, message: DESCRIPTION }</code> | |<code>{ error: INT, message: DESCRIPTION }</code> | ||
|} | |} | ||
Версия от 14:25, 8 июня 2023
Общее описание
Сервис Short Message Classifier предназначен для классификации текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Short Message Classifier (SMC) - сервис классификации текстовых фрагментов.
Модель — предварительно обученная специализированная нейронная сеть классификации коротких фраз.
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SMC.
Описание методов API
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SMC. По умолчанию используется порт 6181/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс swagger со всеми методами с возможностью их проверки. Модель может содержать постобработчик. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /smc/classify/{id}.
Пример пустой функции:
def handler(classes=[],text=""):
returns classes
На вход подается результат работы модели, а также начальный текст.
| Метод | Тип | Описание | Входные параметры | Ответ |
|---|---|---|---|---|
| /smc/ | GET | Вывод списка моделей | - | { models: [model1,...,modelN] }
|
| /smc/classify/{id} | GET | Классификация текстовой фразы | id - идентификатор модели
text - текст, подлежащий классификации multiclass - опция запроса нескольких классов при их наличии, если multiclass=1 |
Если multiclass=0 ответ будет в виде массива с одним классом, иначе - список массивов. Ниже пример такого списка.
start - позиция слова начала фрагмента, определяющего класс length - количество слов во фрагменте, определяющим класс confidence - вероятность правильного определения класса calculated - поле, содержащее измененное постобработчиком (при его наличии) значение класса. |
| /smc/confusion/{id}/{type} | GET | Получение изображения матрицы ошибок | id - идентификатор модели
type - тип данных для построения матрицы, train или test |
Возвращает PNG изображение с матрицей ошибок |
| /smc/data/{id} | GET | Получение архива модели | id - идентификатор модели | ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION }
|
| /smc/data/{id} | POST | Добавление модели. Окончание работы проверяется через метод /smc/info/{id}. Модель может быть добавлена следующими способами:
|
|
{ error: INT, message: DESCRIPTION }
|
| /smc/data/{id} | DELETE | Удаление модели | id - идентификатор модели | { error: INT, message: DESCRIPTION }
|
| /smc/errors/{id} | GET | Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось - ошибки после обучения. | id - идентификатор модели | текстовый файл со строками вида:
ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА |
| /smc/info/{id} | GET | Получение информации о модели. | id - идентификатор модели | В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки.
|
| /smc/log/{id} | GET | Лог всех действий во время обучения/тестирования модели. | id - идентификатор модели | Лог содержится в переменной log в виде списка.
<"log": [
"training",
"normalization: 5, model size: 2",
"training",
"preparing data",
"tokenizing",
"data loaded",
"training entities",
"Warmup, corpus length 24965",
} |
| /smc/test/{id} | POST | Предназначен для тестирования модели заранее подготовленным текстовым файлом со строками вида: КЛАСС<TAB>ФРАЗА
Метод асинхронный. Окончание работы проверяется через метод /smc/info/{id}. |
|
{ error: INT, message: DESCRIPTION }
|
| /smc/handler/{id} | GET | Получение файла-постобработчика | id - идентификатор модели | Файл handler.py |
| /smc/handler/{id} | POST | Отправка файла-постобработчика в указанную модель. Становится активным сразу после успешной отправки. |
|
{ error: INT, message: DESCRIPTION }
|
| /smc/handler/{id} | DELETE | Удаление постобработчика | id - идентификатор модели | { error: INT, message: DESCRIPTION }
|