Кейсы
Похожие кейсы:
Прокси-сервер для маршрутизации LLM-запросов
Разработка собственного прокси-сервера для маршрутизации запросов между LLM-провайдерами. Решение выступает единой точкой входа для всех ИИ-модулей, обеспечивает биллинг, кэширование, фолбэки между моделями и независимость от изменений политик отдельных провайдеров. Поддерживает Claude, GPT, YandexGPT, GigaChat.
Прокси-сервер построен на Node.js + Fastify с использованием PostgreSQL для учёта запросов и Redis для кэширования и rate limiting. Сервер реализует унифицированный REST API: клиентские модули отправляют запрос в едином формате, а прокси сам выбирает провайдера, форматирует запрос под его API и приводит ответ к общему виду.
Особое внимание уделено наблюдаемости: каждый запрос логируется с полным контекстом (промпт, ответ, модель, токены, стоимость, время отклика). Это даёт возможность анализировать качество и стоимость работы на уровне сценариев, моделей и отдельных клиентов.
Решить проблему vendor lock-in для ИИ-модулей: при работе напрямую с провайдером модуль становится уязвимым к изменению цен, политик, доступности сервиса в РФ. Дополнительно нужно было решить вопросы централизованного биллинга, лимитирования по клиентам и оптимизации расходов через кэширование типовых запросов.
Создана прослойка между ИИ-модулями и LLM-провайдерами с тремя ключевыми функциями: роутинг (выбор модели под задачу с учётом стоимости и качества), надёжность (фолбэк на резервную модель при недоступности основной), оптимизация (кэширование одинаковых запросов на основе хэша промпта).
Аутентификация реализована через API-ключи с привязкой к домену клиента. Биллинг ведётся по фактическому расходу токенов с маржой относительно себестоимости. Клиенты получают доступ к личному кабинету со статистикой использования, журналом запросов и управлением лимитами.
Архитектура спроектирована с расчётом на горизонтальное масштабирование: несколько экземпляров прокси за балансировщиком, общая БД и кэш. Это позволяет обслуживать большое количество клиентов с минимальной задержкой.
Основные возможности
- Унифицированный REST API над разными LLM-провайдерами
- Фолбэк при недоступности провайдера
- Биллинг по токенам с учётом маржи
- Личный кабинет с аналитикой использования
- Защита от утечки ключей через привязку к домену
- Автоматический роутинг запросов к оптимальной модели
- Кэширование типовых запросов через хэш промпта
- Гранулярные лимиты по клиентам и сценариям
- Полное логирование запросов и ответов
- Готовность к горизонтальному масштабированию