====== Практическое использование 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.