Каталог моделей
- Нормативная
- Черновик 1.0
- Обновлено
- Открыть как Markdown
5.1 Список моделей
GET /lmsp/v1/models?capability=chat&ready_only=false
Authorization: Bearer <token>
| Параметр запроса | Значение |
|---|---|
capability |
Возвращает только модели с указанной возможностью, например chat, embeddings или tools. |
ready_only |
При значении true возвращает только модели, у которых status равен ready. По умолчанию false. |
{
"object": "list",
"catalog_revision": "42",
"data": [
{
"id": "qwen3:14b-q4_k_m",
"object": "model",
"display_name": "Qwen3 14B Q4_K_M",
"owned_by": "local",
"family": "qwen3",
"revision": "sha256:8f27c1a4e9b05d36f2a7c8e1b4d90a63c5e2f7b8a1d4c9e60b3f5a7d2c8e1b04",
"status": "ready",
"capabilities": {
"chat": true,
"completion": true,
"embeddings": false,
"tools": true,
"vision": false,
"structured_output": true,
"streaming": true
},
"input_modalities": ["text"],
"output_modalities": ["text"],
"context_window": 32768,
"max_output_tokens": 8192,
"runtime": {
"backend": "llama.cpp",
"device": "metal",
"load_on_demand": true
}
}
]
}
Чтобы клиентам не приходилось раз за разом запрашивать весь каталог, сервису СЛЕДУЕТ возвращать заголовок ETag, поле catalog_revision или и то и другое:
catalog_revision— непрозрачная строка, которая меняется при каждом изменении каталога.- Сервису, который отправляет
ETag, СЛЕДУЕТ отвечать на совпадающийIf-None-Matchкодом304 Not Modified.
5.2 Объект модели
| Поле | Значение |
|---|---|
id |
Стабильный идентификатор модели, используемый в каждом запросе, где названа модель. |
object |
Всегда "model". |
display_name |
Читаемое имя. Пользователь может его изменить. |
aliases |
Необязательный список альтернативных имён. Носят только информационный характер. |
owned_by |
Откуда взялась модель. local — для моделей, установленных на этом устройстве. |
family |
Семейство модели, например qwen3. |
revision |
Дайджест содержимого модели, например sha256:8f27.... |
status |
Состояние жизненного цикла (раздел 5.3). |
capabilities |
Булевы флаги: chat, completion, embeddings, tools, vision, structured_output и streaming. |
input_modalities, output_modalities |
Виды содержимого, которые модель читает и пишет. В версии 1.0 определена только модальность text. |
context_window |
Максимальное число токенов контекста. |
max_output_tokens |
Максимальное число токенов в одном ответе. |
runtime |
backend (например, llama.cpp), device (например, metal) и load_on_demand. |
error |
Присутствует, когда status равен error. Объект проблемы (раздел 9.3). |
Идентификатор id модели ДОЛЖЕН быть стабильным. Отображаемое имя и алиасы пользователь может менять, поэтому они НЕ ДОЛЖНЫ использоваться как первичный ключ.
5.3 Жизненный цикл модели
installed --> loading --> ready --> unloading --> installed
|
+-----> error
| Статус | Значение |
|---|---|
installed |
Модель существует, но не загружена. |
loading |
Выделяется память или инициализируется среда выполнения. |
ready |
Модель может сразу обрабатывать запросы. |
unloading |
Ресурсы освобождаются. |
error |
Загрузка не удалась. Объект модели СЛЕДУЕТ снабжать структурированной ошибкой. |
Новый запрос на загрузку переводит модель из состояния error обратно в loading.
Если запрос называет модель в состоянии installed, у которой runtime.load_on_demand равен true, сервис загружает её в рамках этого запроса. Если модель нельзя использовать сразу и она не загружается по требованию, сервис отвечает 409 с кодом model_not_ready. Если загрузка не удалась, возвращается ошибка model_load_failed.
5.4 Операции с моделями
GET /lmsp/v1/models/{model_id} возвращает один объект модели. Неизвестный идентификатор даёт 404 с кодом model_not_found.
Два необязательных эндпоинта управляют загрузкой явно. Они доступны, когда возможность model_management равна true, и требуют область доступа models:manage (раздел 10.3):
| Эндпоинт | Поведение |
|---|---|
POST /lmsp/v1/models/{model_id}/load |
Предварительно загружает модель. Возвращает объект модели с 202 Accepted, если загрузка началась, или с 200, если модель уже ready. |
POST /lmsp/v1/models/{model_id}/unload |
Выгружает модель. Возвращает объект модели. Повторный запрос безвреден. |
Оба принимают Idempotency-Key (раздел 9.2).