Об этом проекте

subrelay — это легковесный ретрансляционный шлюз, предназначенный для управления несколькими учетными данными API OpenAI и Anthropic. Он выступает промежуточным слоем между пользователями и upstream-провайдерами, предлагая такие функции, как выбор с взвешенным случайным распределением, автоматический переход при сбое и откат при превышении лимитов скорости. В отличие от более тяжелых альтернатив, он использует SQLite для хранения данных и не требует внешних зависимостей, таких как Redis или PostgreSQL. Ключевые возможности включают: - Совместимость протоколов: Поддержка API OpenAI Chat Completions и Anthropic Messages, с побайтовой передачей при совпадении протоколов для сохранения вызовов инструментов и специфических для провайдера полей. - Управление учетными данными: Обработка нескольких ключей с ежедневным контролем бюджета, ограничениями параллелизма и автоматическими паузами при ошибках 429 или 5xx. - Интеграция New API: Команда sync-newapi для согласования локальных конфигураций с каналами New API, поддерживающая тестовые запуски, очистку и GitOps-процессы. - Наблюдаемость: Предоставление метрик Prometheus, проверок работоспособности и CLI-инструмента doctor для диагностики состояния учетных данных. - Удобство для разработчиков: Простая конфигурация в формате YAML с интерполяцией переменных окружения и моделью развертывания в одном процессе через Python или Docker.