====== Практическое использование LiteLLM Proxy - Пошаговое руководство ======
===== Обзор системы =====
LiteLLM Proxy - это **прокси-сервер** между вашими приложениями (n8n) и OpenAI API. Он НЕ создает новые ключи OpenAI, но позволяет эффективно управлять уже существующими ключами.
==== Что может система ====
* ✅ Управление множественными OpenAI ключами через веб-интерфейс
* ✅ Автоматическая балансировка запросов между ключами
* ✅ Переключение на резервные ключи при превышении лимитов
* ✅ Детальная аналитика и мониторинг использования
* ✅ Установка бюджетов и лимитов расходов
* ✅ Кеширование ответов для экономии средств
==== Что НЕ может система ====
* ❌ Создавать новые OpenAI API ключи
* ❌ Пополнять баланс OpenAI аккаунта
* ❌ Управлять биллингом OpenAI напрямую
===== Шаг 1: Подготовка OpenAI ключей =====
==== 1.1 Создание ключей на OpenAI ====
1. Перейдите на https://platform.openai.com/api-keys
2. Нажмите "Create new secret key"
3. Дайте ключу понятное имя (например "Main-Key-1")
4. Скопируйте ключ и сохраните в надежном месте
5. Повторите для создания 2-3 ключей
**Совет:** Создайте минимум 2-3 ключа для обеспечения отказоустойчивости. Дайте им понятные имена: "Main-Key-1", "Main-Key-2", "Project-A-Key" и т.д.
==== 1.2 Пополнение баланса ====
1. В OpenAI перейдите в Settings → Billing
2. Add payment method (добавьте карту)
3. Add credits (добавьте кредиты, минимум $10)
4. Установите usage limits для контроля расходов
===== Шаг 2: Добавление ключей в LiteLLM =====
==== 2.1 Вход в веб-интерфейс ====
URL: https://api.digitizepro.tech/ui
Логин: admin
Пароль: UI_Admin_7mK2qF9xR5tG8nP1wS4vY3bC6eZ0hL9jM
==== 2.2 Добавление первой модели ====
- Перейдите в **Models** → **Add Model**
- Заполните форму:
^ Поле ^ Значение ^ Пример ^
| **Model Name** | Логическое имя | ''gpt-3.5-turbo-main-1'' |
| **LiteLLM Model** | Тип модели OpenAI | ''openai/gpt-3.5-turbo'' |
| **API Key** | Ваш OpenAI ключ | ''sk-proj-abc123...'' |
| **API Base** | Базовый URL | ''https://api.openai.com/v1'' |
- Нажмите **Save**
==== 2.3 Добавление дополнительных моделей ====
Повторите процесс для всех ваших ключей:
Модель 1: gpt-3.5-turbo-main-1 (первый ключ)
Модель 2: gpt-3.5-turbo-main-2 (второй ключ)
Модель 3: gpt-4-main-1 (первый ключ для GPT-4)
Модель 4: gpt-3.5-turbo-project-a (отдельный ключ для проекта)
===== Шаг 3: Создание групп моделей =====
==== 3.1 Создание группы для основных задач ====
- Перейдите в **Models** → **Model Groups**
- Нажмите **Create Group**
- Заполните:
^ Поле ^ Значение ^
| **Group Name** | ''main-gpt35'' |
| **Models** | Выберите ''gpt-3.5-turbo-main-1'' и ''gpt-3.5-turbo-main-2'' |
| **Routing Strategy** | ''least-busy'' |
==== 3.2 Создание групп для проектов ====
Создайте отдельные группы:
Группа: "main-gpt4"
├── gpt-4-main-1
└── gpt-4-main-2
Группа: "project-a"
├── gpt-3.5-turbo-project-a
└── gpt-4-project-a
Группа: "client-work"
├── gpt-3.5-turbo-client
└── gpt-4-client
===== Шаг 4: Настройка n8n =====
==== 4.1 Создание креденшла в n8n ====
- В n8n: **Settings** → **Credentials** → **Add Credential**
- Выберите **"OpenAI"**
- Заполните:
Credential Name: LiteLLM Main - digitizepro.tech
API Key: sk-litellm-E4j8mK9nP2qR5sT7vX0yZ3bC6eG9hL1oM4rU8wA5dF2gJ7k
Base URL: https://api.digitizepro.tech/v1
Organization: [оставьте пустым]
- **Test Connection** → **Save**
==== 4.2 Создание дополнительных креденшлов ====
Создайте отдельные креденшлы для разных проектов:
Креденшл 1: "LiteLLM Main"
├── Base URL: https://api.digitizepro.tech/v1
└── Для основных задач
Креденшл 2: "LiteLLM AI Tasks"
├── Base URL: https://ai.digitizepro.tech/v1
└── Для AI-специфичных задач
Креденшл 3: "LiteLLM Client Work"
├── Base URL: https://openai.digitizepro.tech/v1
└── Для клиентских проектов
===== Шаг 5: Использование в n8n =====
==== 5.1 Настройка OpenAI ноды ====
- Добавьте **OpenAI Chat Model** ноду
- Настройте:
^ Параметр ^ Значение ^
| **Credentials** | ''LiteLLM Main - digitizepro.tech'' |
| **Model** | ''main-gpt35'' (имя группы) или ''gpt-3.5-turbo-main-1'' (конкретная модель) |
| **Temperature** | ''0.7'' |
| **Max Tokens** | ''1000'' |
==== 5.2 Пример workflow ====
Webhook Trigger
↓
OpenAI Chat Model (креденшл: LiteLLM Main)
├── Model: main-gpt35
├── Prompt: "{{ $json.user_message }}"
└── Max Tokens: 500
↓
Response Node
===== Шаг 6: Мониторинг и управление =====
==== 6.1 Просмотр статистики ====
В веб-интерфейсе LiteLLM:
- **Dashboard** → общая статистика использования
- **Logs** → детальный журнал всех запросов
- **Analytics** → графики использования по времени
==== 6.2 Установка лимитов ====
- **Budgets** → **Create Budget**
- Настройте:
^ Параметр ^ Значение ^ Описание ^
| **Budget Name** | ''Monthly Main'' | Название бюджета |
| **Budget Limit** | ''$50'' | Месячный лимит |
| **Time Window** | ''1mo'' | Период |
| **Models** | ''main-gpt35, main-gpt4'' | Применяется к группам |
==== 6.3 Создание пользователей ====
Для разграничения доступа:
- **Users** → **Add User**
- **API Keys** → **Create Key** для каждого пользователя
- Назначьте лимиты и доступные модели
===== Шаг 7: Практические сценарии =====
==== 7.1 Сценарий: Автоматическое переключение ключей ====
**Ситуация:** Один из OpenAI ключей достиг лимита RPM
**Что происходит:**
1. n8n отправляет запрос → LiteLLM
2. LiteLLM пытается использовать gpt-3.5-turbo-main-1
3. OpenAI возвращает ошибку "Rate limit exceeded"
4. LiteLLM автоматически переключается на gpt-3.5-turbo-main-2
5. Запрос успешно выполняется
6. n8n получает ответ без ошибок
**Преимущество:** n8n работает без прерываний, вы видите переключения в логах LiteLLM
==== 7.2 Сценарий: Мониторинг расходов по проектам ====
**Настройка:**
Проект A: использует группу "project-a"
Проект B: использует группу "main-gpt35"
Клиентская работа: использует группу "client-work"
**Мониторинг:**
- В **Analytics** видите расходы по каждой группе
- Устанавливаете бюджеты для каждого проекта
- Получаете уведомления при превышении лимитов
==== 7.3 Сценарий: Кеширование для экономии ====
**Включение кеширования:**
- **Settings** → **Caching** → **Enable Redis Cache**
- TTL: 3600 секунд (1 час)
**Как работает:**
1. Первый запрос: "Переведи 'Hello' на французский"
├── LiteLLM → OpenAI API
├── Ответ: "Bonjour"
└── Сохраняется в Redis
2. Повторный запрос: "Переведи 'Hello' на французский"
├── LiteLLM находит в кеше
├── Возвращает "Bonjour"
└── OpenAI API НЕ вызывается (экономия)
===== Шаг 8: Устранение проблем =====
==== 8.1 Проблема: "Invalid API Key" ====
**Причины и решения:**
Проблема: Ошибка аутентификации
├── Проверьте правильность Master Key в n8n
├── Убедитесь что OpenAI ключи валидны
└── Проверьте баланс OpenAI аккаунта
**Диагностика:**
- В LiteLLM **Logs** найдите конкретную ошибку
- Проверьте статус ключей в **Models**
==== 8.2 Проблема: "Rate limit exceeded" ====
**Решение:**
- Добавьте больше OpenAI ключей для той же модели
- Увеличьте лимиты в OpenAI аккаунте
- Используйте кеширование для снижения количества запросов
==== 8.3 Проблема: Высокие расходы ====
**Контроль расходов:**
1. Установите бюджеты в LiteLLM
2. Включите кеширование
3. Оптимизируйте prompts в n8n
4. Используйте более дешевые модели для простых задач
===== Шаг 9: Лучшие практики =====
==== 9.1 Организация ключей ====
Рекомендуемая структура:
├── Main Pool (2-3 ключа для основной работы)
├── Project Pools (отдельные ключи для крупных проектов)
├── Development Pool (дешевые ключи для разработки)
└── Emergency Pool (резервные ключи)
==== 9.2 Мониторинг ====
**Ежедневно проверяйте:**
- Dashboard для общей статистики
- Logs для ошибок
- Budgets для контроля расходов
**Еженедельно анализируйте:**
- Analytics для трендов использования
- Cost analysis для оптимизации
==== 9.3 Безопасность ====
✅ Используйте отдельные ключи для разных проектов
✅ Устанавливайте бюджетные лимиты
✅ Регулярно ротируйте ключи
✅ Мониторьте логи на подозрительную активность
❌ Не используйте один ключ для всех задач
❌ Не игнорируйте уведомления о превышении лимитов
===== Заключение =====
LiteLLM Proxy предоставляет мощный инструмент для управления множественными OpenAI ключами. Основные преимущества:
* **Отказоустойчивость** - автоматическое переключение между ключами
* **Мониторинг** - полная видимость использования и расходов
* **Масштабируемость** - легкое добавление новых ключей и проектов
* **Экономия** - кеширование и оптимизация запросов
Следуя этому руководству, вы сможете эффективно использовать систему для любых задач - от простых чат-ботов до сложных AI workflow в n8n.