Аварийное переключение
Механизм аварийного переключения OfoxAI автоматически переходит на резервную модель при недоступности основной, обеспечивая непрерывность вашего сервиса.
Принцип работы
- Запрос отправляется на основную модель
- Если основная модель возвращает ошибку (5xx, таймаут, ограничение скорости и т.д.)
- Автоматически последовательно пробуются модели из списка fallback
- Возвращается первый успешный ответ
Переключение по запросу
Настройте аварийное переключение для отдельного запроса через параметр 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 без необходимости указывать её в каждом запросе:
- Войдите в консоль OfoxAI
- Перейдите в Настройки → Стратегия маршрутизации
- Настройте список резервных моделей по умолчанию
Параметр 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"]
}Лучшие практики
- Выбирайте резервные модели с сопоставимыми возможностями — для обеспечения стабильного качества вывода после переключения
- Переключайтесь между провайдерами — чтобы избежать одновременной недоступности моделей одного провайдера
- Задавайте 2-3 резервные модели — этого достаточно для большинства сценариев сбоя
- Мониторьте частоту переключений — частые переключения могут указывать на необходимость смены основной модели
Last updated on