Обновлено 25 сент. 2025 г.
6 мин
# Pythonpip install litellm# Node.jsnpm install litellm# Пример: использование OpenAI + Anthropic + Mistralexport OPENAI_API_KEY=sk-...export ANTHROPIC_API_KEY=sk-ant-...export MISTRAL_API_KEY=sk-mis-...from litellm import completionresp = completion(model="gpt-4o-mini", # или "anthropic/claude-3-5-sonnet", "mistral/mistral-large"messages=.---## Потоковая передача, инструменты и режим JSON### Потоковая передача ответов```pythonfrom litellm import completionfor chunk in completion(model="gpt-4o-mini",messages=.### Использование стоимости и токеновLiteLLM может отслеживать использование токенов и оценивать стоимость запроса, модели или проекта. С помощью прокси вы можете экспортировать использование в журналы, панели мониторинга или систему выставления счетов. Это бесценно, когда вы смешиваете поставщиков с разным ценообразованием.---## Прокси LiteLLM (LLM Gateway)Если вы команда или платформа, прокси - это настоящая суперсила: центральный сервис с маршрутизацией, аутентификацией, ограничением скорости, ведением журналов и наблюдаемостью. Вы взаимодействуете с ним, используя интерфейс OpenAI API, поэтому код вашего приложения практически не меняется.### Запуск прокси```bash# простейший локальный запускlitellm --port 4000/v1/chat/completions. Направьте свой существующий клиент OpenAI на ` и все готово.config.yaml:model_list:- model_name: gpt-4o-minilitellm_params:model: openai/gpt-4o-miniapi_key: ${OPENAI_API_KEY}- model_name: claude-3-5-sonnetlitellm_params:model: anthropic/claude-3-5-sonnetapi_key: ${ANTHROPIC_API_KEY}router:strategy: simple_weightedroutes:- model: gpt-4o-miniweight: 0.6- model: claude-3-5-sonnetweight: 0.4rate_limits:requests_per_minute: 120logging:level: infosink: stdoutauth:api_keys:- key: svc-app-123litellm --config config.yaml --port 4000from openai import OpenAIclient = OpenAI(base_url=" api_key="svc-app-123")resp = client.chat.completions.create(model="gpt-4o-mini",messages=.---## Расширенная маршрутизация: Задержка, стоимость или надежностьВы можете реализовать стратегии маршрутизации, такие как:- Взвешенная круговая маршрутизация для A/B моделей- Сначала с наименьшей задержкой по региону- Маршрутизация с учетом стоимости для некритичных конечных точек- Fallback-on-error/retry между провайдерамиС политикой маршрутизатора вы можете сказать: «Предпочитайте дешевые, переходите на премиум для сложных запросов». Это обеспечивает высокую доступность и предсказуемые бюджеты.---## Guardrails, модерация и безопасностьДобавьте промежуточное программное обеспечение предварительной и постобработки для удаления PII, применения фильтров безопасности или модерации выходных данных перед возвратом клиентам. Объедините собственную модерацию провайдера (например, OpenAI, Google) с вашими собственными проверками политики в прокси. Пример: требуйте проверки схемы JSON и повторно запрашивайте при недействительности.---## Наблюдаемость и ведение журналов- Включите ведение журнала запросов/ответов с редактированием.- Экспортируйте метрики в Prometheus/Grafana или ваш APM.- Отслеживайте задержку, токены и стоимость по конечной точке и пользователю.Это превращает «модельную рулетку» в управляемый сервис с SLO и бюджетами.---## Реальные сценарии использования1) Устойчивость к множественным поставщикам- Primary: fast/cheap model; Fallback: high-accuracy model on 429/5xx.- Преимущества: лучшее время безотказной работы, контроль затрат и стабильное качество.2) Обновления модели feature flag- Используйте веса маршрутизатора для canary новой модели для 5% трафика; отслеживайте метрики; увеличивайте, когда стабильно.3) Уровни продукта- Бесплатный уровень направляется на небольшие модели; Pro tier to premium models.4) Реестры подсказок и шаблоны- Централизуйте подсказки в прокси, чтобы службы наследовали улучшения без повторного развертывания.5) Командный биллинг и бюджеты- Отслеживайте расходы по ключу API; применяйте мягкие и жесткие лимиты для каждой команды или продукта.---## Контрольный список безопасности и соответствия требованиям- Храните ключи провайдера в своем менеджере секретов; ссылайтесь через переменные окружения в config.- Включите редактирование запросов и очистку PII в журналах.- Используйте ключи API для каждой службы для прокси; регулярно меняйте их.- Установите общеорганизационные ограничения скорости и квоты.- Добавьте списки разрешений/запретов для моделей и конечных точек.---## Устранение неполадок: Быстрые исправления- “Unauthorized” через прокси: Проверьте `auth.api_keys` и что ваш клиент использует `base_url` + правильный ключ.- Модель не найдена: Убедитесь, что `model_list` содержит понятное имя, которое вы вызываете.- Тайм-ауты: Увеличьте `timeout` или перенаправьте в регион провайдера с меньшей задержкой.- Странные выходные данные: Включите схему JSON + проверку; добавьте повторные попытки и запасные варианты.- Скачки стоимости: Включите кэширование; направляйте массовый трафик на более дешевые модели; установите квоты для каждого ключа.Для более глубокого погружения и последних функций официальная документация часто обновляется и стоит добавить в закладки. Учебные пособия, такие как руководство DataCamp, отлично подходят для практических шаблонов, а видео вводного экспресс-курса может помочь вам увидеть концепции в действии.---## Объедините все вместе: Скелет эталонного приложения (Python FastAPI)```python# app.pyfrom fastapi import FastAPIfrom pydantic import BaseModelfrom litellm import completionimport osclass ChatReq(BaseModel):question: strapp = FastAPI@app.post("/ask")async def ask(req: ChatReq):resp = completion(model=os.getenv("DEFAULT_MODEL", "gpt-4o-mini"),messages=.### FAQQ1: Что такое LiteLLM и почему его следует использовать вместо прямых SDK провайдера?LiteLLM — это шлюз, совместимый с OpenAI, для 100+ LLM, предоставляющий вам один API и одну ментальную модель. Он снижает зависимость от поставщика, упрощает маршрутизацию и добавляет операционные функции, такие как кэширование, повторные попытки и отслеживание затрат.Q2: Как использовать LiteLLM с OpenAI SDK?Направьте базовый URL-адрес SDK на прокси-сервер LiteLLM и используйте свой ключ API прокси-сервера. Ваш код может оставаться прежним, пока прокси-сервер за кулисами меняет поставщиков или модели.Q3: Может ли LiteLLM передавать ответы потоком и возвращать JSON?Да. Используйте `stream=True`, чтобы получать потоки токенов, и `response_format` со схемой JSON, чтобы обеспечить структурированные выходные данные у разных поставщиков.Q4: Как контролировать затраты между различными поставщиками LLM?Включите ведение журнала использования и оценку стоимости, добавьте кэширование, установите ограничения скорости и направляйте массовый трафик на более дешевые модели через прокси. Отслеживайте с помощью панелей мониторинга для бюджетов и SLO.Q5: Подходит ли LiteLLM для производственных команд?Да. Прокси-сервер предоставляет аутентификацию, ограничения скорости, маршрутизацию, наблюдаемость и промежуточное программное обеспечение безопасности. Он разработан как LLM-шлюз, который централизует управление, сохраняя при этом совместимость вашего приложения с OpenAI.
Как освоить ChatPDF: Быстрый доступ к информации из объемных документов

Лучший альтернативный сервис X Auto-Translation для быстрой и точной автоматической перевода документов

Перевод с помощью Samsung AI недоступен в Иране? Практические решения

Инструменты для перевода на персидский: практическое руководство для быстрой и точной работы

Лучшая альтернатива Grok для глубоких исследований с цитированием

Топ-15 функций AI-генератора изображений, которые вам действительно пригодятся