Карточка проекта — звёзды, техстек, ссылка на исходники — в каталоге REDDYX: BerriAI/litellm.
ПРОБЛЕМА: ЗООПАРК API У КАЖДОГО ВЕНДОРА
Написали интеграцию под OpenAI — а через полгода нужно добавить Anthropic для одних задач и локальную модель для чувствительных данных. Без единого слоя абстракции это означает три разных SDK, три разных формата ошибок и код, полный if provider == "...". LiteLLM убирает эту развилку: один вызов, один формат ответа, провайдер выбирается строкой параметра.
ЧТО ДАЁТ LITELLM
- Единый формат вызова — OpenAI-совместимый интерфейс поверх 100+ провайдеров (OpenAI, Anthropic, Google, Bedrock, Ollama и другие).
- Proxy Server — отдельный сервис, который встаёт перед всеми провайдерами: приложения ходят в один endpoint, не зная, куда запрос уйдёт реально.
- Роутинг и балансировка — распределение нагрузки между несколькими ключами или провайдерами по стратегии (round-robin, по цене, по задержке).
- Fallback — при отказе или rate limit у основного провайдера запрос автоматически уходит к резервному, приложение не замечает сбоя.
- Учёт стоимости и лимиты — трекинг расходов по ключам/командам и жёсткие бюджетные лимиты на уровне прокси.
БЫСТРЫЙ СТАРТ: SDK
pip install litellm
from litellm import completion
# один и тот же вызов для разных провайдеров
response = completion(
model="gpt-4.1", # или "claude-sonnet-4", "ollama/llama3"
messages=[{"role": "user", "content": "Привет!"}]
)
print(response.choices[0].message.content)
PROXY SERVER С FALLBACK: КОНФИГ
# config.yaml
model_list:
- model_name: main-model
litellm_params:
model: gpt-4.1
api_key: os.environ/OPENAI_API_KEY
- model_name: main-model
litellm_params:
model: claude-sonnet-4
api_key: os.environ/ANTHROPIC_API_KEY
router_settings:
fallbacks: [{"main-model": ["main-model"]}]
num_retries: 2
Запуск: litellm --config config.yaml. Приложение обращается к прокси по адресу http://localhost:4000 так же, как к обычному OpenAI API — вся логика переключения провайдеров скрыта внутри.
LITELLM ПРОТИВ ПРЯМЫХ SDK ПРОВАЙДЕРОВ
| Критерий | LiteLLM | Прямые SDK каждого вендора |
|---|---|---|
| Смена провайдера | Строка параметра | Переписать интеграцию |
| Fallback при отказе | Встроен | Пишете сами |
| Учёт расходов по командам | Из коробки в proxy | Нужен свой слой |
| Скорость интеграции нового провайдера | Минуты | Часы на SDK и обработку ошибок |
Частые вопросы
Добавляет ли LiteLLM задержку к запросам?
Прокси добавляет минимальный overhead — по сути один дополнительный HTTP-хоп. На фоне сетевой задержки до самого LLM-провайдера это почти не заметно.
Нужно ли менять существующий код под OpenAI SDK?
Часто нет — proxy server имитирует OpenAI API, так что достаточно поменять base_url в уже существующем клиенте на адрес LiteLLM.
Подходит ли для локальных моделей через Ollama?
Да, Ollama — один из поддерживаемых провайдеров, можно комбинировать локальные и облачные модели в одном роутинге с fallback между ними.
Разбираем свежие open-source инструменты каждый день — от дата-пайплайнов до security-сканеров. Если хотите первыми видеть, что реально работает в 2026 — подписывайтесь на Telegram-канал REDDYX AI — новые репозитории каждые 30-60 минут.
