Обновление содержания: 2026-10-24LiteLLM может использоваться как единый корпоративный AI-шлюз: приложения подключаются к LiteLLM, а LiteLLM обращается к Crazyrouter. Настройку проектов, отделов, виртуальных ключей, бюджетов и политики аудита необходимо выполнять в собственной инсталляции LiteLLM — они не включаются автоматически только из-за использования Crazyrouter API Key.
Архитектура подключения и подготовка
Подготовьте Python 3.11, отдельный ключ Crazyrouter для вывода, и модели, доступные по этому ключу. Этот документ протестирован на LiteLLM 1.106.2, что не гарантирует актуальность версии. В качестве примера используются четыре модели:claude-opus-5-5, gpt-6-astra, glm-5.3, deepseek-v4.1-flash; замените на доступные вам модели.
1. Установка и переменные среды
В новом рабочем каталоге выполните следующие команды. Переменные среды действуют только для текущего терминала; если шлюз уже настроен, не генерируйте главные ключи повторно, используйте текущий безопасный. При деплойменте контейнера нужно передавать переменные внутрь контейнера. На Windows, если виртуальное окружение не активируется — запустите.venv\Scripts напрямую с python.exe и litellm.exe.
2. Экспорт конфигурации и запуск
Используйте авторизованныйGET /v1/litellm/config для получения списка моделей и актуальных цен для текущего ключа. Ответ — это обёрнутый объект: сохраняйте только config как конфигурацию LiteLLM, не вставляйте весь ответ целиком. Сохраните скрипт как export_config.py, используйте формат JSON (также корректный YAML), сохраняйте цены model_info с ссылкой на переменные среды, не записывайте реальные ключи.
export_config.py
Скрипт не позволит перезаписать существующий файл; при обновлении сначала создайте резервную копию и сравните конфигурации, затем объедините с актуальной настройкой шлюза и перезапустите её явно.
4100 — пример порта, если он занят, измените его и в команде запуска, и в адресе проверки. Команда слушает только на localhost, не обновляет или перезапускает ваши сервисы.3. Проверка локального шлюза
Оставьте терминал прокси активным, в другом терминале с тем же окружением безопасно установите тот жеLITELLM_MASTER_KEY, не генерируя новый ключ. Сохраните скрипт ниже как verify_proxy.py. Данная административная smoke-тестовая проверка приведёт к обычному расходу модели; для ежедневных задач используйте ограниченные виртуальные ключи.
verify_proxy.py
[DONE] и итоговое usage; тесты инструментов должны проверять параметры и корректную передачу результатов tool. HTTP 200, текст размышления или JSON/Markdown в ограждении не считаются успешным прохождением.
4. Протокол Claude Native (по необходимости)
По умолчанию экспорт используетopenai/<model>, api_base для https://api.crazyrouter.com/v1. Для поддержки nativные свойства Claude, такие как кеширование или thinking, экспортируйте отдельно с помощью provider=anthropic&models=claude-opus-5-5, используйте anthropic/<model> и базовый адрес https://api.crazyrouter.com, не добавляйте /v1 или /chat/completions.
model_info из native-экспорта с основной конфигурацией. Если адаптер OpenAI зарегистрирован одновременно, используйте отдельный model_name, например claude-native, для native-экспорта; вызывайте их через это алиас, чтобы исключить смешивание маршрутизации одноимённых моделей.
Совместимость и обработка ошибок
- Сохраняйте
drop_params: false, не скрывайте неподдерживаемые параметры. - Проверено: Claude
json_schema;json_objectчётко не поддерживается и не преобразуется в гарантированный другой формат вывода. - На протестированном пути Claude, жёстко указанные tools /
requiredявно отклоняются: HTTP400, прямой код ошибкиunsupported_forced_tool_choice. Для выбора tool в режиме auto измените клиентский запрос на использованиеtool_choice: "auto"; шлюз не будет автоматически пытаться вызвать tool по принуждению. - При отказе клиент получит фиксированное пояснение на английском, без передачи внутренней конфигурации или ключей. OpenAI-адаптер LiteLLM 1.106.2 сохраняет английское сообщение, но упаковует код ошибки как
"400"; сравнивайте не по оригинальному коду ошибки. - TTL для
5m/1hвcache_controlдля Claude можно передавать напрямую; режим 5m на создание и чтение проверен, режим 1h протестирован только на cold write, не гарантирует кэширование или чтение спустя час. - Способности модели, её доступность, визуальные функции, длинный контекст, отказоустойчивость и корпоративные бюджеты необходимо протестировать отдельно — выводы по имени модели или этой инструкции не допустимы.
Команды, бюджеты и безопасность в продакшене
- Создавайте команды и ограниченные виртуальные ключи LiteLLM для проектов/отделов, задавайте права на модели, бюджеты и лимиты скорости. Не делитесь главным ключом.
- Соблюдайте рекомендации LiteLLM по настройке базы данных, аутентификации, правам доступа и постоянству. Локальный запуск без БД проверяет только вывод; бюджет не применяется. Функции и правила авторизации определяются текущей версией.
- Тестируйте отдельные сценарии: отказ в доступе к чужим моделям, исчерпание бюджета, отзыв ключа, лимитирование и аудит. Защищайте логи с подсказками и персональными данными, явно ограничивайте срок хранения.
- Внешние подключения должны быть через HTTPS и контроль доступа; не открывайте демо или админ API напрямую.
- Экспортированная цена — это снимок. После изменения цен или скидок экспортируйте, импортируйте и перезапустите конфигурацию, автоматическая публикация не предусмотрена. Расчёты стоимости LiteLLM не равны итоговому счёту Crazyrouter, сверяйте данные регулярно.