Management API
URL: http://localhost:5100/
API позволяет:
- добавлять модели
- деплоить модели
- прерывать деплой моделей
- выполнять Performance тесты с использованием библиотеки compressa-perf
- выполнять Observability тесты на стандартных или на пользовательском датасете с использованием библиотеки DeepEval или Self-Scoring (для Qwen2.5)
Библиотека моделей
GET /v1/models/
Список моделей, доступных для запуска и дообучения.
Пример:
curl -X 'GET' \
'http://localhost:5100/v1/models/' \
-H 'accept: application/json'
Схема ответа:
[
{
"model_id": "string",
"adapter": true,
"base_model_id": "string"
}
]
POST /v1/models/add/
Скачивание модели с Hugging Face.
Параметры:
- query:
model_id- идентификатор модели на Hugging Face, напримерQwen/Qwen3-14Bдля ссылки.
Пример:
curl -X 'POST' \
'http://localhost:5100/v1/models/add/?model_id=mymodel_id' \
-H 'accept: application/json' \
-d ''
Схема ответа:
{
"id": "4d78d943-1896-4d7b-9f11-b10cc2389ba3",
"name": "DOWNLOAD_mymodel_id",
"status": "RUNNING",
"started_at": "2024-03-21T09:58:29.846708"
}
Запуск моделей
GET /v1/deploy/
Получить информацию о текущей развернутой модели.
Пример:
curl -X 'GET' \
'http://localhost:5100/v1/deploy/' \
-H 'accept: application/json'
Схема ответа:
{
"model_id": "string",
"adapter_ids": [
"string"
]
}
POST /v1/deploy/
Запуск моделей и дообученных адаптеров для инференса. Список id можно получить с помощью GET /v1/models/.
Тело запроса:
{
"model_id": "string",
"adapter_ids": [
"string"
]
}
model_id- идентификатор моделиadapter_ids- список идентификаторов адаптеров
Пример:
curl -X 'POST' \
'http://localhost:5100/v1/deploy/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model_id": "model_id1",
"adapter_ids": [
"adapter_id1",
"adapter_id2"
]
}'
Схема ответа:
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"status": "CREATED",
"started_at": "2024-03-21T10:10:07.521Z"
}
GET /v1/deploy/status
Получить статус развернутой модели.
Пример:
curl -X 'GET' \
'http://localhost:5100/v1/deploy/status/' \
-H 'accept: application/json'
Схема ответа:
{
"model_id": "model_id1",
"adapter_ids": [
"adapter_id1",
"adapter_id2"
],
"job": {
"id": "8a63349c-078f-4e98-8968-4f011593329c",
"name": "DEPLOY_model_id1_adapters_id1_id2",
"status": "RUNNING",
"started_at": "2024-03-21T07:35:16.861681"
}
}
POST /v1/deploy/interrupt/
Отключение текущей развернутой модели.
Пример:
curl -X 'POST' \
'http://localhost:5100/v1/deploy/interrupt/' \
-H 'accept: application/json' \
-d ''
Схема ответа:
{
"id": "8a63349c-078f-4e98-8968-4f011593329c",
"name": "DEPLOY_model_id1_adapters_id1_id2",
"status": "RUNNING",
"started_at": "2024-03-21T07:35:16.861681"
}
Jobs
Операции, такие как загрузка модели или развертывание, связаны с jobs. Следующие API позволяют управлять выполнением jobs.
GET /v1/jobs/
Получить все jobs со статусами.
Пример:
curl -X 'GET' \
'http://localhost:5100/v1/jobs/' \
-H 'accept: application/json'
Схема ответа:
[
{
"id": "8a63349c-078f-4e98-8968-4f011593329c",
"name": "DEPLOY_model_id1_adapters_id1_id2",
"status": "RUNNING",
"started_at": "2024-03-21T07:35:16.861681"
},
{
"id": "4d78d943-1896-4d7b-9f11-b10cc2389ba3",
"name": "DOWNLOAD_test",
"status": "FINISHED",
"started_at": "2024-03-21T09:58:29.846708"
}
]
GET /v1/jobs/{job_id}/status/
Получить последний статус job с job_id.