Открытый единый шлюз LLM, который предоставляет модели Anthropic, OpenAI, Gemini и других поставщиков через один endpoint и API key.
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
Создайте файл конфигурации api.yaml с base_url и API-ключом вашего провайдера
- 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-шлюз для личного использования: объединяет каналы нескольких провайдеров за одной конечной точкой, поддерживает переключение при сбоях и учёт расходов.
Самостоятельно размещаемый LLM-шлюз, который проксирует OpenAI, Anthropic и совместимые API, поддерживая маршрутизацию, переключение на резервные сервисы, журналирование запросов и веб-панель.
Самостоятельно размещаемый шлюз, объединяющий несколько AI-ретрансляторов (New API, One API, Sub2API и другие) за одним API-ключом и эндпоинтом с интеллектуальной маршрутизацией.
Самостоятельно размещаемый шлюз, который предоставляет доступ к нескольким LLM-провайдерам через совместимые с OpenAI, Responses и Anthropic эндпоинты и поставляется одним исполняемым файлом.
Самостоятельно разворачиваемый AI-шлюз с API, совместимыми с OpenAI, Claude и Gemini, который маршрутизирует запросы к разным провайдерам моделей и отслеживает ключи, квоты и расходы.