Маршрутизация и фолбэки

Автоматическая отказоустойчивость и фильтрация провайдеров

KodikRouter умеет пробовать несколько моделей подряд, если основная упала, вернула 5xx или исчерпала лимит. Заголовок X-KodikRouter-Provider в ответе покажет, кто фактически обработал запрос.

Fallback chain

json
{
  "model": "anthropic/claude-sonnet-4",
  "messages": [{ "role": "user", "content": "Summarize this article." }],
  "route": "fallback",
  "models": [
    "anthropic/claude-sonnet-4",
    "openai/gpt-4o",
    "meta-llama/llama-3.1-70b-instruct"
  ]
}

Шлюз попробует первую модель. Если она вернёт retryable-ошибку (429/502/503/504) — перейдёт ко второй, затем к третьей. Успешный ответ возвращается как есть, с заголовком о реальном провайдере.

Фильтрация провайдеров

json
{
  "model": "openai/gpt-4o",
  "messages": [{ "role": "user", "content": "Hi" }],
  "provider": {
    "only":   ["openai", "anthropic"],
    "ignore": ["azure"],
    "allow_fallbacks": true
  }
}
only
string[]
Белый список провайдеров
ignore
string[]
Исключить провайдеров
allow_fallbacks
boolean
Разрешать запасные модели в цепочкеdefault: true

kodikrouter/auto

Укажите kodikrouter/auto как model— шлюз сам выберет оптимальную модель под запрос (по цене/качеству). Полезно для демо и прототипов.

Приоритет при фолбэках
Порядок важен: первая модель в models[] — основная. Остальные — в порядке убывания приоритета. Для cost-sensitive сценариев ставьте дешёвые модели первыми.