Реестр моделей
Реестр моделей, доступных на платформе Caila, предоставляет данные о параметрах и ограничениях моделей. Эти данные можно использовать для предварительной валидации запросов к моделям.
Чтение данных из реестра не требует авторизации.
Провайдеры
Провайдер — организация, предоставляющая доступ к моделям. Например, Anthropic, Google, OpenAI или OpenRouter. Модель может быть доступна у нескольких провайдеров.
Атрибуты провайдера:
name— уникальный идентификатор (например,openai,anthropic).displayName— отображаемое имя (например, «OpenAI», «Anthropic»).
Получить список провайдеров
GET https://caila.io/api/mlpcore/providers
Ответ:
{
"providers": [
{
"name": "openai",
"displayName": "OpenAI"
},
{
"name": "anthropic",
"displayName": "Anthropic"
}
]
}
Модели и параметры
Модель описывается с помощью схемы параметров.
Атрибуты модели:
name— уникальный идентификатор в рамках провайдера (например,gpt-4o,claude-opus-4-6).displayName— отображаемое имя.parameters— схема параметров модели.
Параметры модели делятся на две категории:
constants— неизменяемые свойства модели.variables— настройки, которые можно передать в запросе.
Получить модели провайдера
GET https://caila.io/api/mlpcore/providers/{providerName}/models
Пример:
GET https://caila.io/api/mlpcore/providers/openai/models
Ответ:
{
"models": [
{
"name": "gpt-4o",
"displayName": "GPT-4o",
"provider": {
"name": "openai",
"displayName": "OpenAI"
},
"parameters": {
"constants": [
{ "type": "integer", "name": "maxContextLength", "value": 128000 },
{ "type": "integer", "name": "maxOutputTokens", "value": 16384 }
],
"variables": [
{ "type": "number", "name": "temperature", "min": 0, "max": 2, "default": 1 },
{ "type": "integer", "name": "max_tokens", "min": 1, "max": 16384 },
{ "type": "boolean", "name": "stream", "default": false }
]
},
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-20T14:30:00Z"
}
]
}
Получить модель
GET https://caila.io/api/mlpcore/providers/{providerName}/models/{modelName}
Типы параметров
Constants:
-
IntegerConstant
{ "type": "integer", "name": "maxContextLength", "value": 128000 } -
NumberConstant
{ "type": "number", "name": "baseCost", "value": 0.005 } -
StringConstant
{ "type": "string", "name": "modelEncoding", "value": "cl100k_base" } -
BooleanConstant
{ "type": "boolean", "name": "supportsVision", "value": true } -
EnumConstant
{ "type": "enum", "name": "supportedModalities", "value": ["text", "image", "audio"] }
Variables:
-
IntegerVariable
{
"type": "integer",
"name": "max_tokens",
"min": 1,
"max": 16384,
"default": 1024,
"required": false
} -
NumberVariable
{
"type": "number",
"name": "temperature",
"min": 0,
"max": 2,
"default": 1,
"required": false
} -
StringVariable
{
"type": "string",
"name": "stop",
"minLength": 1,
"maxLength": 100,
"required": false
} -
BooleanVariable
{
"type": "boolean",
"name": "stream",
"default": false,
"required": false
} -
EnumVariable
{
"type": "enum",
"name": "reasoning",
"values": ["low", "medium", "high"],
"default": "medium",
"required": false
}