Repolode
yym68686

yym68686/uni-api

Самостоятельно размещаемый шлюз, который объединяет множество LLM-провайдеров за одним OpenAI-совместимым API и балансирует нагрузку.

Open source альтернатива:OpenRouter

Звёзды
1,270
Форки
158
Открытые issues
15
Последний коммит
позавчера

Что это?

uni-api — самостоятельно размещаемый шлюз для API больших языковых моделей. Через единую точку доступа, совместимую с форматом OpenAI, он позволяет обращаться к нескольким провайдерам, включая OpenAI, Anthropic, Gemini, Vertex, Azure, AWS, xAI, Cohere, Groq, Cloudflare и OpenRouter. Провайдеры и их ключи задаются в YAML-файле конфигурации, а не через веб-консоль; модели можно переименовывать и объединять в группы, чтобы клиенты использовали простые названия.

Шлюз помогает решать эксплуатационные задачи, возникающие при работе с несколькими API-ключами и провайдерами. Он поддерживает взвешенное распределение нагрузки, round-robin и другие стратегии планирования запросов между каналами и ключами внутри канала, при сбое повторяет запрос через следующий канал, а неисправные каналы временно отключает. В том же файле настраиваются разрешения для каждого ключа с поддержкой масок, лимиты запросов, таймауты моделей и необязательная модерация сообщений.

Помимо chat completions, шлюз предоставляет маршруты в стиле OpenAI для responses, изображений, embeddings, транскрибации и синтеза речи, модерации и списка моделей. Он написан на Rust и запускается из Docker-образа; по умолчанию используется SQLite, также поддерживается PostgreSQL.

Ключевые возможности

  • 01Объединяет несколько провайдеров, включая OpenAI, Anthropic, Gemini, Vertex и Azure, за одним OpenAI-совместимым API.
  • 02Настраивается целиком через YAML-файл, без веб-интерфейса.
  • 03Взвешенная балансировка нагрузки и round-robin на уровне каналов, а также ротация ключей внутри канала.
  • 04Автоматически повторяет запрос через следующий канал и временно отключает неисправные каналы.
  • 05Разрешения на использование моделей для каждого ключа с поддержкой масок, лимиты запросов и таймауты для каждой модели.
  • 06Поддерживает эндпоинты для чата, responses, изображений, embeddings, аудио, модерации и списка моделей.

Сценарии использования

  • Запуск личного API-эндпоинта или эндпоинта для небольшой команды, который направляет запросы к нескольким LLM-провайдерам через один ключ.
  • Распределение трафика между несколькими API-ключами или аккаунтами, чтобы снизить число ошибок из-за лимитов запросов.
  • Предоставление существующим OpenAI-совместимым клиентам доступа к моделям Claude или Gemini без изменений кода.
  • Размещение общего шлюза с отдельными ключами для пользователей, квотами и модерацией.

Быстрый старт

  1. 1

    Создайте файл конфигурации api.yaml с base_url и API-ключом вашего провайдера

  2. 2

    Запустите uni-api с файлом конфигурации, подключив его как api.yaml или указав через CONFIG_URL, как описано в README

Что важно знать

  • Перед запуском uni-api необходимо создать файл конфигурации YAML.

В подборках

Темы

Частые вопросы

Что такое uni-api?
Самостоятельно размещаемый шлюз, который объединяет множество LLM-провайдеров за одним OpenAI-совместимым API и балансирует нагрузку. uni-api — самостоятельно размещаемый шлюз для API больших языковых моделей. Через единую точку доступа, совместимую с форматом OpenAI, он позволяет обращаться к нескольким провайдерам, включая OpenAI, Anthropic, Gemini, Vertex, Azure, AWS, xAI, Cohere, Groq, Cloudflare и OpenRouter. Провайдеры и их ключи задаются в YAML-файле конфигурации, а не через веб-консоль; модели можно переименовывать и объединять в группы, чтобы клиенты использовали простые названия.
uni-api можно использовать бесплатно? Какая у него лицензия?
uni-api распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
uni-api всё ещё поддерживается?
Активно поддерживается. Последний коммит в uni-api — 4 нояб. 2026 г..
Для чего можно использовать uni-api?
Запуск личного API-эндпоинта или эндпоинта для небольшой команды, который направляет запросы к нескольким LLM-провайдерам через один ключ. Распределение трафика между несколькими API-ключами или аккаунтами, чтобы снизить число ошибок из-за лимитов запросов. Предоставление существующим OpenAI-совместимым клиентам доступа к моделям Claude или Gemini без изменений кода. Размещение общего шлюза с отдельными ключами для пользователей, квотами и модерацией.
Как установить uni-api?
Создайте файл конфигурации api.yaml с base_url и API-ключом вашего провайдера Запустите uni-api с файлом конфигурации, подключив его как api.yaml или указав через CONFIG_URL, как описано в README
Где скачать uni-api?
Исходный код и инструкции по установке — на GitHub: https://github.com/yym68686/uni-api

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемый LLM API-шлюз для личного использования: объединяет каналы нескольких провайдеров за одной конечной точкой, поддерживает переключение при сбоях и учёт расходов.

2,7 тыс.+10 за неделю451TypeScriptAGPL-3.0Активно поддерживаетсяОбновлён 14 дней назад

Самостоятельно размещаемый LLM-шлюз, который проксирует OpenAI, Anthropic и совместимые API, поддерживая маршрутизацию, переключение на резервные сервисы, журналирование запросов и веб-панель.

7520PythonБез лицензииАктивно поддерживаетсяОбновлён 5 дней назад

Самостоятельно размещаемый шлюз, объединяющий несколько AI-ретрансляторов (New API, One API, Sub2API и другие) за одним API-ключом и эндпоинтом с интеллектуальной маршрутизацией.

3,3 тыс.+5 за неделю528TypeScriptMITОбновлён 2 месяца назад

Самостоятельно размещаемый шлюз, который предоставляет доступ к нескольким LLM-провайдерам через совместимые с OpenAI, Responses и Anthropic эндпоинты и поставляется одним исполняемым файлом.

2,3 тыс.210GoMITАктивно поддерживаетсяОбновлён в прошлом месяце

Самостоятельно разворачиваемый AI-шлюз с API, совместимыми с OpenAI, Claude и Gemini, который маршрутизирует запросы к разным провайдерам моделей и отслеживает ключи, квоты и расходы.

51,4 тыс.+467 за неделю12,5 тыс.GoAGPL-3.0Обновлён 17 часов назад