Кейс · AI та автоматизація
Smart AI Gateway: один API, шість провайдерів
OpenAI-сумісний LLM-шлюз з автоматичним фейловером між шістьма провайдерами, тієрингом моделей на рівні маршрутів і повною спостережуваністю.
- Індустрія
- Інфраструктура для розробників
- Терміни
- 3 тижні
- Рік
- 2026
- Послуги
- Інтеграція AI, DevOps, Спостережуваність
Проблема
Кожен застосунок у зростаючому флоті хотів LLM-виклики: категоризація, сумаризація, чат, скоринг. Прив’язувати кожен застосунок до конкретного провайдера означало шість API-ключів, розкиданих по env-файлах, жодної спільної обробки rate limits, нуль видимості витрат і повний даунтайм застосунку щоразу, коли провайдер тротлив або падав. Помножте це на кожен новий проєкт і отримаєте інтеграційний борг, що росте як складний відсоток.
Що ми збудували
Self-hosted OpenAI-сумісний шлюз між усіма застосунками та всіма провайдерами. Застосунки говорять стандартним chat-completions API з одним внутрішнім ендпоінтом. Решту бере на себе шлюз:
- Фейловер провайдерів. Запити каскадом проходять пріоритезований ланцюжок провайдерів (Groq, OpenRouter, Cerebras, Gemini, Cohere, Cloudflare). Затротлений чи збійний провайдер пропускається автоматично, клієнт цього навіть не помічає.
- Тієринг моделей. Маршрути мапують логічні назви моделей на конкретні моделі провайдерів: застосунок просить “fast” або “smart”, а шлюз обирає найкращий доступний варіант. Заміна провайдера означає зміну конфігу, а не коду.
- Ключі в одному місці. Ключі провайдерів живуть в одному env-файлі на одному хості, а не розсипані по кожному репозиторію-споживачу.
- Спостережуваність. Prometheus збирає латентність, частоту помилок і кількість токенів по кожному провайдеру; дашборди Grafana показують, який саме провайдер що обслужив і коли спрацював ланцюжок фолбеків.
Архітектура
nginx на фронті, ядро маршрутизації на Python, деплой через Docker compose. Застосунки-споживачі приєднуються до мережі шлюзу й викликають внутрішній hostname, тож LLM-трафік ніколи не покидає мережу хоста. Публічний інтернет бачить лише вихідні виклики до провайдерів.
Результат
Шість провайдерів, один ендпоінт, майже нульова вартість inference завдяки безкоштовним тарифам із graceful degradation. Від запуску окремі провайдери встигли пережити збої та скидання квот; жоден застосунок нижче за течією цього не помітив. Кожен новий проєкт отримує production-grade LLM-обв’язку, додавши два рядки у свій compose-файл.