Как перенести приложение на API Kvantora
Что менять в адресе API, выборе модели, обработке ошибок и расчёте расходов. С проверкой подключения без генерации.
Что проверено. Скачиваемые клиенты проверены на Node.js 24.14.0 и Python 3.12.14 с синтетическим HTTP-сервером: каталог, оценка, ответ, повтор и HTTP 202.
Это проверка протокола клиента. Совместимость всего приложения и качество выбранной модели нужно проверить на ваших данных.
Сначала сравните используемые функции
Смена base URL подходит лишь для запросов, которые принимает новый API. Выпишите используемые endpoints, параметры, форматы входа и поведение SDK при повторе. Проверьте каждый пункт по матрице совместимости: совпадение названий API не обещает полной совместимости.
В текущем chat completions принимаются текст, function tools и JSON-объект. Hosted tools и response_format=json_schema не заменяются автоматически. Responses и Messages имеют собственный ограниченный контракт. Если приложение использует неподдержанный параметр, сначала выделите этот сценарий и решите, как его адаптировать.
Измените адрес и сохраните публичный ID
Для SDK с методом chat.completions базовый адрес заканчивается на /v1. Для скачиваемых примеров Kvantora переменная KVANTORA_BASE_URL содержит только origin. Не добавляйте /v1 дважды.
Скопируйте API ID из карточки модели. Он может отличаться от имени в списке или ID вашего прежнего поставщика. Ключ храните на сервере, задайте models:read и text, ограничьте дневной бюджет. Нельзя передавать секрет через URL или NEXT_PUBLIC переменную.
// Ключ уже задан в защищённом окружении сервера.
const client = new OpenAI({
apiKey: process.env.KVANTORA_API_KEY,
baseURL: process.env.KVANTORA_BASE_URL + '/v1',
maxRetries: 0,
});Проверьте путь до переключения трафика
Выполните GET /v1/models без генерации. Найдите нужный публичный ID и включённую операцию. Затем подготовьте один запрос и получите оценку. Оценка не создаёт резерв и не подтверждает доступность к будущему моменту отправки.
Сохраните тело и Idempotency-Key до отправки. При разрыве сети повтор с той же идентичностью позволяет получить существующий результат или состояние обработки. Другой ID означает другой запрос. Сначала проверьте пустой список, 401/403, 402, 429, HTTP 202 и неполный поток на тестовом сервере; переключайте рабочий трафик отдельно.
node quickstart.mjs catalog node quickstart.mjs prepare node quickstart.mjs quote # send запускает запрос к модели, когда запуск разрешён. node quickstart.mjs send
Источники и повторная проверка
При изменении API-контракта, доступных параметров, тарифа или версии клиента пример нужно проверить повторно. Редакционная правка сама по себе не подтверждает новый технический тест.