Skip to Content
ДокументацияПродвинутые функцииАварийное переключение

Аварийное переключение

Механизм аварийного переключения OfoxAI автоматически переходит на резервную модель при недоступности основной, обеспечивая непрерывность вашего сервиса.

Принцип работы

  1. Запрос отправляется на основную модель
  2. Если основная модель возвращает ошибку (5xx, таймаут, ограничение скорости и т.д.)
  3. Автоматически последовательно пробуются модели из списка fallback
  4. Возвращается первый успешный ответ

Переключение по запросу

Настройте аварийное переключение для отдельного запроса через параметр provider.fallback:

fallback.py
from openai import OpenAI client = OpenAI( base_url="https://api.ofox.ai/v1", api_key="<Ваш OFOXAI_API_KEY>" ) response = client.chat.completions.create( model="openai/gpt-4o", # основная модель messages=[{"role": "user", "content": "Здравствуйте"}], extra_body={ "provider": { "fallback": [ "anthropic/claude-sonnet-4.5", # первый резервный "google/gemini-3-flash-preview" # второй резервный ] } } ) # Проверить фактически использованную модель print(response.model)
fallback.ts
const response = await client.chat.completions.create({ model: 'openai/gpt-4o', messages: [{ role: 'user', content: 'Здравствуйте' }], // @ts-ignore расширенные параметры OfoxAI provider: { fallback: [ 'anthropic/claude-sonnet-4.5', 'google/gemini-3-flash-preview' ] } })

Глобальная настройка переключения

Настройте глобальную стратегию переключения в консоли OfoxAI без необходимости указывать её в каждом запросе:

  1. Войдите в консоль OfoxAI 
  2. Перейдите в НастройкиСтратегия маршрутизации
  3. Настройте список резервных моделей по умолчанию

Параметр fallback на уровне отдельного запроса переопределяет глобальную конфигурацию.

Условия активации переключения

Следующие ситуации активируют переключение:

УсловиеОписание
HTTP 5xxОшибка сервера
ТаймаутПревышение времени ожидания ответа модели
429 ограничениеДостигнут лимит скорости у вышестоящей модели
Модель недоступнаОбслуживание или отключение провайдера

Следующие ситуации не активируют переключение:

УсловиеОписание
HTTP 4xx (кроме 429)Ошибка клиента — необходимо исправить запрос
Фильтрация контентаМодель отклонила генерацию контента

Использование с маршрутизацией

Механизм переключения можно комбинировать с маршрутизацией провайдеров:

response = client.chat.completions.create( model="openai/gpt-4o", messages=[{"role": "user", "content": "Здравствуйте"}], extra_body={ "provider": { "routing": "latency", # маршрутизация по минимальной задержке "fallback": [ # список резервных моделей "anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview" ] } } )

Рекомендуемые сценарии переключения

Общий диалог

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"] }

Генерация кода

"provider": { "fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"] }

Экономичность

"provider": { "fallback": ["openai/gpt-4o-mini", "google/gemini-3-flash-preview", "deepseek/deepseek-chat"] }

Лучшие практики

  1. Выбирайте резервные модели с сопоставимыми возможностями — для обеспечения стабильного качества вывода после переключения
  2. Переключайтесь между провайдерами — чтобы избежать одновременной недоступности моделей одного провайдера
  3. Задавайте 2-3 резервные модели — этого достаточно для большинства сценариев сбоя
  4. Мониторьте частоту переключений — частые переключения могут указывать на необходимость смены основной модели
Last updated on