LiteLLM — это open-source слой, который даёт единый интерфейс в формате OpenAI к 100+ LLM-провайдерам: библиотека Python (completion()) и self-hosted Proxy / AI Gateway с virtual keys, учётом spend и Admin UI. Фокус-ключ: litellm. Канон: docs.litellm.ai. Соседи: Ollama API, Open WebUI, ИИ-автоматизация.
Новичку важно не путать два режима: SDK в коде и Proxy как сервис. Ниже — сравнение и первый маршрут без выдуманных тарифов в рублях.
SDK vs Proxy: что брать
| Режим | Как ставят | Кто вызывает | Порт / точка | Когда нужен |
|---|---|---|---|---|
| Python SDK | uv add litellm |
ваш скрипт / агент | нет сервера | один проект, смена провайдера в коде |
| Proxy (Gateway) | CLI / Docker + config.yaml | любой OpenAI-клиент | по умолчанию 0.0.0.0:4000 |
команда, бюджеты, единый endpoint |
| Прямой OpenAI SDK | openai | ваш код | api.openai.com | только один облачный провайдер |
| Ollama без шлюза | Ollama app | curl / SDK Ollama | localhost:11434 |
локально, без мульти-провайдера |
Источник: docs.litellm.ai Getting Started (uv add litellm; Proxy на :4000; 100+ LLM; Router retry/fallback; virtual keys). Сверка: 2026-10-06. Цены провайдеров в ₽ не фиксируем.
Первый вызов через SDK
Официальный путь: установить пакет, задать ключ провайдера в окружении, вызвать completion() с префиксом модели (openai/…, anthropic/…, ollama/…). Ответ всегда в формате OpenAI Chat Completions.
uv add litellm
# пример OpenAI (ключ в OPENAI_API_KEY)
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
response = completion(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Привет, коротко кто ты?"}],
)
print(response.choices[0].message.content)
# локальный Ollama (ключ не нужен, сервис должен быть запущен)
response = completion(
model="ollama/llama3",
messages=[{"role": "user", "content": "Привет"}],
api_base="http://localhost:11434",
)
Имена конкретных облачных моделей берите из кабинета провайдера и актуальной доки LiteLLM: в документации встречаются плейсхолдеры под текущие линейки. Не копируйте устаревший id модели из старых гайдов.
Proxy: OpenAI-клиент на localhost:4000
- Поднимите gateway (CLI
litellm --model …или Docker сconfig.yamlпо Quickstart). - Укажите upstream-ключи в env / конфиге.
- В клиенте поставьте
base_url="http://0.0.0.0:4000"(или ваш хост) — любой код под OpenAI работает без переписывания провайдеров. - Для команд включите virtual keys и бюджеты в Admin UI, когда появится несколько людей/сервисов.
import openai
client = openai.OpenAI(api_key="anything", base_url="http://0.0.0.0:4000")
response = client.chat.completions.create(
model="your-model-name",
messages=[{"role": "user", "content": "Напиши короткий чеклист"}],
)
print(response.choices[0].message.content)
Типичные ошибки
- Ждать «один ключ LiteLLM вместо всех провайдеров» — gateway не отменяет оплату upstream.
- Путать LiteLLM Proxy с самим vLLM/Ollama: это маршрутизатор, не движок инференса.
- Стучаться в :4000, пока proxy не запущен; или в Ollama :11434 без
ollama serve. - Фиксировать рублевые тарифы OpenAI/Anthropic в статье — смотрите биллинг провайдера.
- Ставить Proxy «на всякий случай» для одного скрипта — сначала SDK.
FAQ: LiteLLM
Что такое LiteLLM простыми словами?
LiteLLM — open-source библиотека и LLM Gateway: один OpenAI-подобный интерфейс к 100+ провайдерам (OpenAI, Anthropic, Vertex, Bedrock, Ollama и др.). Есть Python SDK (completion) и Proxy Server с virtual keys. Канон: docs.litellm.ai.
Чем LiteLLM отличается от прямого вызова OpenAI SDK?
OpenAI SDK говорит с одним провайдером. LiteLLM даёт единый completion()/proxy для многих бэкендов, единый формат ответа, retry/fallback через Router и опционально spend tracking на gateway.
Как установить LiteLLM?
Для SDK: uv add litellm (или pip). Для полного AI Gateway с Admin UI — Quickstart через контейнер по docs.litellm.ai. CLI-прокси: litellm —model …, по умолчанию порт 4000.
Нужен ли отдельный ключ на каждый провайдер?
Да: ключи провайдеров (OPENAI_API_KEY, ANTHROPIC_API_KEY и т.д.) задаёте в окружении. Proxy может выдавать свои virtual keys командам — это уже слой gateway, не замена ключей upstream.
Можно ли подключить локальный Ollama через LiteLLM?
Да. В SDK: model=’ollama/llama3′ и api_base=’http://localhost:11434′. Ответ всё равно в формате OpenAI Chat Completions.
Когда брать Proxy, а когда только SDK?
SDK — если один Python-проект. Proxy (LLM Gateway) — если команде нужен общий OpenAI-compatible endpoint, бюджеты на ключи, логи и Admin UI без правок в каждом клиенте.
Вывод
LiteLLM — способ не переучивать API под каждого вендора: SDK для кода, Proxy для команды на :4000. Старт: uv add litellm, один completion(), потом при необходимости gateway. Когда нужна система обучения под интеграции — форматы на странице обучения.
Хотите нейросети под свои задачи, а не «для всех»?
Когда базовых гайдов уже мало, помогает разбор под вашу работу. Наставничество, курсы и подписка Артёма Денисова — все форматы на странице обучения. Соседи по стеку — Ollama API и ИИ-автоматизация.