Модели
Каталог моделей публикует сама платформа: что доступно прямо сейчас, как это назвать в запросе, что означает каждая возможность и как выбрать модель под свою задачу.
Что такое каталог
Каталог — это список моделей, которые платформа готова маршрутизировать прямо сейчас. Он не написан в документации и не поддерживается руками: страница ниже читает его у шлюза, как читал бы ваш код.
curl https://api.kumorouter.com/v1/modelsОтвет — список в форме OpenAI: object: "list" и массив data, в котором каждый элемент — object: "model". Читать его можно без ключа.
В список попадает не всё, что заведено в платформе, а только то, что можно вызвать: модель активна и у неё есть хотя бы одна включённая возможность в опубликованной конфигурации поставщиков. Протоколы и модальности модели — это пересечение того, что объявлено в каталоге, и того, что подтверждено настоящим доступом к поставщику. Поэтому список меняется сам, когда канал поставщика убирают или добавляют.
canonical_nameКаноническое имя модели — то, чем её называют в запросе.aliasesПсевдонимы, которые ведут к этой же модели.vendorКто выпустил модель: код, отображаемые имена, фирменный цвет.context_window_tokensСколько токенов модель принимает в одном запросе. Отсутствует, если каталог не публикует эту цифру.max_output_tokensСколько токенов модель может выдать в ответ. Не выводится из окна контекста и объявляется отдельно.released_onДень, когда модель выпустил её создатель, `yyyy-mm-dd`. Не день, когда её завели здесь.supplier_countСколько поставщиков сейчас несут эту модель. Величина вычисляемая: она меняется, когда канал убирают.protocol_codesПротоколы, по которым модель доступна.modality_codesВид работы: генерация текста, эмбеддинги, генерация изображений.capabilitiesВозможности по каждой паре «протокол и модальность» — см. ниже.catalog_revisionПоле самого списка, а не модели: номер ревизии каталога, который растёт при каждом изменении.{
"object": "model",
"canonical_name": "<model>",
"aliases": ["<alias>"],
"vendor": { "code": "<vendor>" },
"protocol_codes": ["chat_completions"],
"modality_codes": ["text_generation"],
"capabilities": [
{
"protocol_code": "chat_completions",
"modality_code": "text_generation",
"streaming_status": "proven",
"tools_status": "unproven",
"structured_output_mode": "json_schema"
}
]
}Каталог
Все модели площадки — одной таблицей, строка на модель. Строка целиком открывает страницу модели; единственное исключение — чип у идентификатора, он кладёт имя в буфер обмена и никуда не ведёт.
МодельНазвание, под ним каноническое имя — ровно та строка, которую вы поставите в поле `model`. Рядом производитель.ТипЧто модель делает: текст, эмбеддинги, изображения.ПротоколыПо каким протоколам её можно звать.КонтекстСколько токенов помещается в один запрос вместе с ответом.Макс. выводПотолок ответа в токенах.ВходЦена миллиона входных токенов.ВыходЦена миллиона выходных токенов.ВыпущенаДень, которым площадка датировала релиз модели.Над таблицей — отбор. Поиск ищет по названию, каноническому имени и производителю. Дальше четыре ряда, и каждый отбирает по своему признаку: производитель, тип, протокол и контекст «не меньше чем». Ряды складываются: выбрав тип и протокол, вы просите модель, которая умеет и то и другое. Повторное нажатие на выбранную фишку снимает её, а «Сбросить отбор» возвращает все ряды разом. Счётчик под ними говорит, сколько строк осталось от скольких.
Заголовок столбца сортирует таблицу: первое нажатие — по возрастанию, второе — по убыванию. Модель, для которой площадка ничего не опубликовала в этом столбце, уходит вниз в обе стороны: прочерк — это «не опубликовано», а не «ноль».
Цифры в таблице не написаны в этой статье. Состав моделей и всё, кроме денег, платформа отдаёт живым каталогом, ставки — опубликованным прайсом; страница читает оба документа при каждом открытии. Поэтому модель, которую оператор добавил или убрал, появляется и исчезает здесь сама. Если прайс сейчас не читается, список моделей остаётся на месте, а на месте ставок стоят прочерки.
Это живой список: модели приходят из каталога платформы, цены — из опубликованного прайса. Строка целиком открывает страницу модели, заголовок столбца сортирует таблицу.
Как назвать модель
В запросе модель называют строкой в поле model. Подходит и каноническое имя, и любой псевдоним, который ведёт к той же модели.
- Каноническое имя у модели одно, и оно принадлежит только ей.
- Псевдоним — второе имя той же модели. В любой момент времени псевдоним ведёт ровно к одной модели; со временем его могут перенаправить, и это и есть его смысл: код, названный псевдонимом, переезжает вместе с ним.
- Имена канонические и имена-псевдонимы живут в одном пространстве: одна и та же строка не может быть и тем и другим и не может принадлежать двум моделям.
Имя, которому не отвечает ни одна живая модель, отвергается сразу — платформа честно говорит, что такой модели у неё нет, вместо того чтобы гадать.
У ключа может быть область. Если в ней перечислены модели, ключ вправе называть только их: область — это белый список, а не предпочтение. Вызов, назвавший что-то вне списка, отклоняется, а не маршрутизируется.
Что помнит платформа о ключе →
Как читать возможности
У модели возможности объявлены не «вообще», а на каждую пару из протокола и модальности. Одна и та же модель может уметь по одному протоколу больше, чем по другому.
Протоколы
chat_completionsДиалоговая операция в форме OpenAI: сообщения на входе, `choices` на выходе.responsesВторая операция той же экосистемы, с собственной формой запроса и ответа.anthropic_messagesНативная форма Anthropic: её понимают клиенты и SDK, написанные под тот API.embeddingsВекторы для текста.imagesГенерация изображений.Модальности
Модальность — это вид работы, а не форма запроса: text_generation, embeddings, image_generation. Протокол говорит, как вы обращаетесь; модальность — что вы получаете. Область ключа ограничивает именно модальности, поэтому пара из них решает, доступен ли вызов.
Три состояния
Каждая возможность — стриминг, инструменты, структурированный вывод, строгие семантики, стриминг структурированного вывода — стоит в одном из трёх состояний.
| Состояние | Что это значит | Что делает шлюз |
|---|---|---|
| Подтверждено | Платформа проверила это на настоящем канале поставщика. | Вызов уходит к поставщику. |
| Не подтверждено | Платформа этого не проверяла. Не «не работает», а «мы не доказали». | Запрос, которому эта возможность нужна, отклоняется до обращения к поставщику. |
| Не поддерживается | Возможности здесь нет. | Запрос, которому она нужна, отклоняется так же. |
Разница между «не подтверждено» и «не поддерживается» — в том, откуда она берётся, а не в том, что вы увидите: обе отклоняются одинаково и одинаково рано. Отказ приходит без обращения к поставщику и не меняется от повтора того же запроса — если возможность нужна, выбирайте модель, у которой она подтверждена.
У структурированного вывода есть ещё и режим: json_object (ответ обязан быть объектом JSON) или json_schema (ответ обязан соответствовать вашей схеме); none означает, что режима нет вовсе.
Как задаётся схема ответа → Инструменты →
Страница модели
У каждой модели каталога есть своя страница по адресу /models/<каноническое имя>. На ней собрано то, что обычно приходится складывать из нескольких источников:
- цифры: окно контекста, потолок вывода и дата выпуска;
- быстрый старт с уже подставленным идентификатором этой модели — код можно копировать как есть;
- матрица возможностей по каждому протоколу: что подтверждено, что нет;
- цены кошелька по измерениям;
- переходы на страницы интеграций с выбранной моделью.
Таблица каталога выше ведёт на эти страницы, и поиск по документации их индексирует.
Как выбрать модель
Каталог отвечает на вопрос «что доступно», а выбирать приходится вам. Порядок, который экономит время:
- Отсеките по протоколуОставьте те модели, которые говорят на протоколе вашего клиента. Менять клиент дороже, чем менять модель.
- Проверьте возможностиЕсли вам нужны инструменты, стриминг или строгая схема ответа, возможность должна быть подтверждена, а не просто упомянута.
- Сравните объёмыОкно контекста решает, сколько вы можете подать, потолок вывода — сколько получить. Это две независимые цифры.
- Посчитайте ценуСтавки публикуются за миллион токенов отдельно на вход и на выход; сравнивать модели по одному числу нельзя.
- Проверьте измеренную производительностьВ карточке модели показаны задержка запроса, скорость генерации и доступность за последние 24 часа. Отсутствие измерений не означает нулевую задержку или идеальную доступность.
- Учтите дату выпускаЭто день, когда модель выпустил её создатель, и он говорит о поколении модели, а не о том, когда её завели здесь.
Не выбирайте по одному запросу. Возьмите десяток своих настоящих задач, прогоните две-три модели-кандидата и сравните ответы и расход — каталог даёт короткий список, а решает ваш прогон.