Оновлено 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 може відслідковувати використання токенів та оцінювати вартість кожного запиту, моделі або проєкту. За допомогою проксі можна експортувати статистику у логи, дашборди або білінгові системи. Це надзвичайно корисно при використанні кількох провайдерів з різною ціноутворенням.---## Proxy 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 тестування моделей- Найнижча латентність за регіонами- Маршрутизація з урахуванням вартості для не критичних кінцевих точок- Перехід на інший провайдер у разі помилки або повторна спробаЗа допомогою політики маршрутизації можна налаштувати «обирати дешевше, але при складних промптах перейти на преміум». Це забезпечує високу доступність і прогнозовані бюджети.---## Захист, модерація та безпекаДодайте проміжне ПЗ для обробки даних до і після, щоб видаляти PII, застосовувати фільтри безпеки або модерацію перед поверненням клієнтам. Поєднуйте вбудовану модерацію провайдерів (наприклад OpenAI, Google) з перевірками своєї політики у проксі. Приклад: вимагайте валідацію JSON-схеми і повторний запит при невірному форматі.---## Спостережуваність і логування- Увімкніть логування запитів/відповідей з приховуванням конфіденційних даних.- Експортуйте метрики в Prometheus/Grafana або вашу APM-систему.- Відстежуйте латентність, токени і вартість за кінцевими точками і користувачами.Це перетворює «рулетку моделей» на керований сервіс з SLO і бюджетами.---## Патерни реального використання1) Мультивендорна стійкість- Основна модель: швидка/дешева; запасна: точна на 429/5xx помилки.- Переваги: кращий аптайм, контроль вартості і стабільна якість.2) Оновлення моделей за допомогою фіч-флагів- Використовуйте ваги маршрутизатора для канарейного запуску нової моделі на 5% трафіку; спостерігайте метрики; збільшуйте охоплення при стабільності.3) Продуктові рівні- Безкоштовний рівень спрямовує до малих моделей; Pro — до преміальних.4) Реєстри промптів і шаблони- Централізуйте промпти у проксі, щоб сервіси автоматично отримували оновлення без перепублікації.5) Командний білінг і бюджети- Відстежуйте витрати за API-ключами; застосовуйте м’які та жорсткі ліміти для команд або продуктів.---## Контрольний список з безпеки та відповідності- Зберігайте ключі провайдерів у секретному менеджері; посилайтесь на них через змінні середовища у конфігурації.- Увімкніть приховування даних і очищення PII у логах.- Використовуйте окремі API-ключі для проксі; регулярно їх змінюйте.- Встановіть ліміти та квоти для всієї організації.- Додайте allowlist/denylist для моделей та кінцевих точок.---## Вирішення проблем: швидкі рішення- "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=.### Питання та відповідіQ1: Що таке 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 API.
Як опанувати ChatPDF: швидший доступ до інформації в об’ємних документах

Найкраща альтернатива X Auto-Translation для швидкого та точного перекладу документів

Переклад Samsung AI недоступний в Ірані? Практичні обхідні шляхи

Інструменти перекладу перської мови: практичний посібник для швидшої та точнішої роботи

Найкраща альтернатива Grok для глибоких досліджень із посиланнями

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