Кейс · AI и автоматизация
Smart AI Gateway: один API, шесть провайдеров
OpenAI-совместимый LLM-шлюз с автоматическим failover между шестью провайдерами, тирингом моделей по маршрутам и полной наблюдаемостью.
- Индустрия
- Инфраструктура для разработчиков
- Сроки
- 3 недели
- Год
- 2026
- Услуги
- Интеграция AI, DevOps, Наблюдаемость
Проблема
Каждому приложению растущего флота понадобились LLM-вызовы: категоризация, суммаризация, чат, скоринг. Подключать каждое приложение к конкретному провайдеру означало шесть API-ключей, разбросанных по env-файлам, отсутствие общей обработки rate-limit, нулевую видимость расходов и полный простой приложения каждый раз, когда провайдер троттлил или падал. Умножьте это на каждый новый проект, и получите интеграционный долг, который капитализируется ежемесячно.
Что мы построили
Self-hosted OpenAI-совместимый шлюз между всеми приложениями и всеми провайдерами. Приложения говорят на стандартном chat-completions API с одним внутренним эндпоинтом. Остальное берет на себя шлюз:
- Failover между провайдерами. Запросы каскадом проходят приоритизированную цепочку провайдеров (Groq, OpenRouter, Cerebras, Gemini, Cohere, Cloudflare). Троттлящий или упавший провайдер пропускается автоматически, вызывающая сторона ничего не замечает.
- Тиринг моделей. Маршруты сопоставляют логические имена моделей с конкретными моделями провайдеров: приложение просит “fast” или “smart”, а шлюз выбирает лучший доступный вариант. Смена провайдера означает правку конфига, а не кода.
- Ключи в одном месте. Ключи провайдеров живут в одном env-файле на одном хосте, а не рассыпаны по репозиториям всех потребителей.
- Наблюдаемость. Prometheus собирает latency, частоту ошибок и количество токенов по каждому провайдеру; дашборды Grafana показывают, какой провайдер что обслужил и когда сработала цепочка fallback.
Архитектура
nginx на фронте, ядро маршрутизации на Python, деплой через Docker compose. Приложения-потребители подключаются к сети шлюза и вызывают внутренний hostname, поэтому LLM-трафик никогда не покидает сеть хоста. Публичный интернет видит только исходящие вызовы к провайдерам.
Результат
Шесть провайдеров, один эндпоинт, почти нулевая стоимость инференса за счет бесплатных тарифов с graceful degradation. С момента запуска у отдельных провайдеров случались сбои и сбросы квот; ни одно приложение ниже по потоку этого не заметило. Каждый новый проект получает LLM-инфраструктуру production-уровня, добавив две строки в свой compose-файл.