Корпоративный мультимодельный шлюз

Планируют передовые модели. Исполняют открытые SOTA. Стоимость — примерно 1/7.

Модели верхнего уровня отвечают за планирование; открытые SOTA-модели выполняют рутинные 90%. Композиция снижает счёт до ~1/7 — цифры вычисляются в калькуляторе в реальном времени, а не декларируются здесь.

  • ✓Смешивайте модели: Claude Opus планирует, DeepSeek / Qwen исполняют — около 1/7 стоимости, до 90% дешевле
  • ✓Какую модель запускать, решает шлюз: что бы ни было настроено в клиенте, целевая модель — та, которую закрепили администраторы: allowlist на входе + отображение «*»
  • ✓Достаточно одного протокола: говорите на OpenAI или Anthropic и достигайте моделей всех четырёх семейств чат-протоколов (OpenAI / Anthropic / Gemini / DashScope) — смена модели не затрагивает код
  • ✓Данные остаются локально: полностью self-hosted, промпты не попадают к нам; учётные данные и PII обнаруживаются на пути запроса — журнал / маскирование / блокировка по области
from openai import OpenAI

# One line change: point your SDK at your own gateway
client = OpenAI(
    base_url="https://your-gateway.gatellm.io/v1",
    api_key="your-gateway-api-key",
)

# Existing code unchanged — the gateway routes each request
# to the right model tier (planning vs execution) per your console policy
resp = client.chat.completions.create(
    model="claude-opus-5",  # or claude-sonnet-5, gpt-6-astra, deepseek-flash...
    messages=[{"role": "user", "content": "Plan the architecture"}],
)
Почему GateLLM

Три вещи, которые шлюз делает, а одна модель — нет

Смешивайте модели, чтобы снизить стоимость, задавайте, какая модель реально работает, и держите клиентский код на одном протоколе.

Интеграция со 100+ провайдерами LLM · 30+ SDK и фреймворков

  • OpenAI
  • Anthropic
  • Google
  • DeepSeek
  • Qwen
  • ERNIE
  • Kimi
  • Zhipu
  • Mistral
  • Cohere
Ключевые возможности

Один интерфейс — любые модели в любых сочетаниях

От простой маршрутизации моделей до мультимодельной оркестрации — GateLLM предлагает полный набор корпоративных возможностей.

Мультимодельная маршрутизация

Один интерфейс для вызова всех моделей. Интеллектуальный fallback, балансировка нагрузки, автоматические повторы.

  • Единый API для 100+ провайдеров LLM
  • Интеллектуальная маршрутизация с fallback
  • Балансировка нагрузки и ограничение частоты запросов
  • Пул ключей вышестоящих провайдеров: один вызывающий закрепляется за одним ключом, при сбое — переключение на следующий
  • Ollama / vLLM / llama.cpp как openai-compatible upstream в единой плоскости управления

Композиция

Маршрутизация по уровням в зависимости от режима планирования, идентичности или формы запроса: планирование — на моделях верхнего уровня, исполнение — на открытых SOTA. Шлюз переписывает имя модели — клиентский код не меняется.

  • Определение режима планирования: планирование на top-tier, исполнение на открытых SOTA — без изменений на клиенте
  • Сопоставление моделей по идентичности: одно имя модели → разные upstream для разных групп ключей
  • Правила switch-route: перенаправление запросов с изображениями или особых запросов на нужную модель
  • Понижение уровня внутри агента: планирование закреплено / вне плана — автоматическое понижение

Мультимодельное код-ревью

Запускайте 2–3 модели параллельно на одном PR. Шлюз обеспечивает межпротокольное взаимодействие и единый учёт по одному ключу; разветвление, слияние и оценка уверенности выполняются в open-source action на стороне оркестрации.

  • Межпротокольное взаимодействие шлюза: модели не-Anthropic попадают в очереди ревью, рассчитанные только на Anthropic
  • Один ключ доступа учитывает и регулирует всё разветвление
  • Разветвление, оценка [Consensus N/M] и слияние — в gatellm-io/gatellm-code-review (на стороне оркестрации)

Управление MCP-инструментами

Объедините внешние MCP-серверы инструментов за одной конечной точкой /mcp: ACL на уровне инструментов, бюджеты контекста и аудит вызовов. Какие инструменты доступны агенту, определяется в той же плоскости разрешений, что и модели, которые ему разрешено вызывать.

  • Несколько MCP-серверов за одной конечной точкой /mcp
  • Разрешение/запрет инструментов на уровне группы ключей + фильтры по меткам
  • Встроенный BM25-поиск при росте списка инструментов
  • REST-мост: оберните любой REST API как MCP-инструмент по упрощённой спецификации, без кода
  • Вызовы MCP / нарушения / сессии полностью аудируются

Инъекция веб-поиска

Дайте каждой модели веб-поиск единообразно: шлюз извлекает и вставляет результаты, формируя нативные блоки поиска для каждого клиентского протокола — открытые модели тоже получают поисковую опору.

  • Нативные блоки поиска для каждого протокола (Anthropic / OpenAI / Responses)
  • Трёхуровневый переключатель для каждой модели, корректная деградация при сбое
  • Перехваченный поиск исключается из биллинга использования

Контроль затрат

Управление бюджетами, ограничение частоты запросов, атрибуция затрат по командам, политика моделей с учётом режима. Никакой наценки на токены, BYOK с вашими собственными ключами.

  • Атрибуция затрат по проекту и функции
  • Мягкие оповещения о бюджете
  • BYOK: оплата провайдерам по стандартным тарифам
  • Политика моделей с учётом режима (plan/execute, с принудительным применением)

Управление и интеграции

От контроля доступа клиентов до интеграции с CI/CD — расширьте возможности шлюза в рабочие процессы разработки и совместной работы.

  • Контроль доступа клиентов (политика User-Agent)
  • Код-ревью в GitHub Actions через ваш собственный шлюз
  • Пакетная конфигурация: подготовка → предпросмотр полного набора конфликтов → атомарная фиксация одной транзакцией

Надстройка Office / M365

Платная надстройка

Используйте собственный модельный шлюз прямо в Excel, Word, PowerPoint и Outlook — самостоятельно размещённая надстройка, данные не покидают сеть, нулевая зависимость от pivot.

  • Финансовое моделирование в Excel / проверка договоров в Word / почта в Outlook
  • Entra SSO + ограничение по меткам Purview
  • 33 встроенных отраслевых навыка, платная надстройка

Скрипты трансформации

Изолированный движок JavaScript (QuickJS) переписывает JSON запросов и ответов на шлюзе. Редактируйте в консоли — применяется сразу, без переразвёртывания и без склеивающего кода.

  • Слоты before / after для запроса + слот для ответа: виден формат клиента до трансляции или формат upstream после неё
  • context.useModel() переключает весь маршрут — base_url, протокол и учётные данные вместе
  • Встроенная библиотека: json_path / str_* / regex_* / array_* / encoding + hash / UUID + время
  • Изоляция (без сети и файловой системы) с режимами fail-open/fail-closed и тестировщиком скриптов в консоли
Смешивание моделей

Смешивание моделей: качество, недостижимое для одной модели

Композиция — нативный паттерн шлюза; мультимодельное код-ревью — паттерн на стороне оркестрации, который шлюз делает возможным. Оба построены на слое нормализации возможностей.

Композиция: маршрутизация по уровням между моделями

Маршрутизация по режиму планирования, идентичности или форме запроса: планирование остаётся на моделях верхнего уровня, исполнение переходит на открытые SOTA. Шлюз переписывает имя модели и транслирует протоколы — клиентский код не меняется.

  • ✓Определение режима планирования: планирование на top-tier, исполнение на открытых SOTA — без изменений на клиенте
  • ✓Сопоставление моделей по идентичности: одно имя модели → разные upstream для каждой группы ключей / заголовка
  • ✓Правила switch-route: перенаправление запросов с изображениями или особых запросов на нужную модель
  • ✓Без склеивающего кода — трансляцию протоколов выполняет шлюз
  • ✓Политика с принудительным применением: администраторы закрепляют уровни моделей для режимов plan/execute, исключая использование top-tier для всего
// before-slot transform script (JavaScript) — switch execution model by plan mode.
// Mounted on the entry model in the console; runs before routing.
function transform(body, context) {
    if (context.sourceProtocol !== "Anthropic") {
        return body;
    }
    const EXEC_MODEL = "qwen3.8-max"; // a model name configured in the gateway
    const PLAN = /plan mode is active/i;
    const EXIT = /exited plan mode/i;
    // take the last marker-bearing message: later marker wins
    const messages = body.messages || [];
    for (let i = messages.length - 1; i >= 0; i--) {
        const s = JSON.stringify(messages[i].content || "");
        const inPlan = PLAN.test(s);
        const exited = EXIT.test(s);
        if (inPlan || exited) {
            // not in plan mode → switch execution to the cost-efficient model
            if (exited || !inPlan) context.useModel(EXEC_MODEL);
            return body;
        }
    }
    context.useModel(EXEC_MODEL);
    return body;
}

Мультимодельное код-ревью (на стороне оркестрации)

Шлюз делает паттерн возможным, оркестрационный слой его выполняет: claude-code-action говорит только на протоколе Anthropic, а межпротокольное взаимодействие шлюза позволяет моделям не-Anthropic, таким как qwen3.8-max и kimi-k3, попадать в очередь ревью. Один ключ доступа к шлюзу единообразно учитывает каждую модель ревью.

  • ✓Аннотации уверенности [Consensus N/M], слияние и дедупликация формируются action-ом
  • ✓Каждая модель ревью оплачивается отдельно и единообразно агрегируется шлюзом
  • ✓Порог по числу строк PR и сворачивание исторических комментариев встроены в action
[Ensemble Diagram]
Быстрый старт

Три шага до первого токена.

Перейдите от одной модели к мультимодельной оркестрации за три шага, не переписывая бизнес-код. Работает с любым SDK (OpenAI / Anthropic / Gemini / DashScope).

1

Разверните шлюз

Запуск Docker в один клик или развёртывание Kubernetes Helm в приватной среде.

2

Настройте ключи

Режим BYOK: укажите существующие API-ключи провайдеров, данные остаются на вашей инфраструктуре и не сохраняются.

3

Замените endpoint

Направьте base_url OpenAI SDK на GateLLM и вызывайте все модели через единый интерфейс.

Или передайте задачу своему агенту

Вставьте это в свой агент для программирования

Установите и настройте шлюз GateLLM. Сначала загрузите исходный Markdown этого руководства по установке через curl, прочитайте его полностью, затем выполните шаги по порядку (шаги зависят друг от друга — например, группа ключей должна существовать до ключа доступа; не перескакивайте вперёд):

curl -fsSL https://docs.gatellm.io/en/quickstart/docker-single-node.md

Агенту нужна от вас одна вещь: API-ключ вышестоящего провайдера. Остальное он сгенерирует сам, настроит всё через Console API — без браузера — и завершит работу, когда первый запрос вернёт ответ модели.

Или запустите самостоятельно

docker run -d \
  --name gatellm \
  -p 7890:7890 \
  -e CONSOLE_PASSWORD=change-me-on-first-login \
  -e ENCRYPTION_KEY=REPLACE_WITH_YOUR_ENCRYPTION_KEY \
  -e CONSOLE_SECRET_KEY=REPLACE_WITH_YOUR_CONSOLE_SECRET_KEY \
  -e STORAGE_MODE=sqlite \
  -v gatellm-data:/var/lib/protoflux \
  ghcr.io/gatellm-io/gatellm:latest

Замените три значения-заполнителя перед запуском — в руководстве объясняется, что каждое из них означает и почему оставлять их как есть небезопасно.

# Just one line change: point base_url to GateLLM
from openai import OpenAI

client = OpenAI(
    base_url="https://your-gateway.gatellm.io/v1",
    api_key="your-gatellm-api-key"
)

# Existing code unchanged, call any model
response = client.chat.completions.create(
    model="claude-opus-5",  # or claude-sonnet-5, gpt-6-astra, deepseek-flash...
    messages=[{"role": "user", "content": "Hello"}]
)

Готовые к запуску примеры на GitHub — Docker Compose и фрагменты SDK для Python и TypeScript, где меняется только base_url

Один API

Используйте SDK, который у вас уже есть. Измените одну строку.

Одни и те же четыре протокола с обеих сторон. Преобразование any-to-any без склеивающего кода — для чата, изображений, речи, видео, голоса в реальном времени, эмбеддингов и rerank.

Входящие протоколы (ваш SDK)
OpenAI Chat Completions
Anthropic Messages
Gemini generateContent
DashScope
Шлюз GateLLM
Исходящие протоколы (провайдер модели)
OpenAI Chat Completions
Anthropic Messages
Gemini generateContent
DashScope
Все модальности
чатизображенияречьвидеоголос в реальном времениэмбеддингиrerank
Нативный вход: SDK OpenAI / Anthropic / Gemini / DashScope подключаются напрямую, менять нужно только base_url
Нативный выход: маршрутизация к любому провайдеру в его родном протоколе, а не повторная трансляция через унифицированную обёртку OpenAI
Преобразование any-to-any: вход A → выход B бесшовно (например, вызов из Anthropic SDK → маршрутизация на нативную модель DashScope с преобразованием в протокол DashScope)
Все модальности + embedding/rerank: чат / изображения / речь / видео / голос в реальном времени, а также унифицированные протоколы эмбеддингов и rerank
Больше, чем «OpenAI-compatible»: synthorai и другие предлагают три входных протокола, сведённых к одной поверхности OpenAI; GateLLM предлагает четыре входных + четыре выходных, any-to-any
Более широкая поверхность исходящих протоколов: помимо четырёх основных семейств протоколов — 15 форм upstream-протоколов в сумме (включая AWS Bedrock Converse / Invoke, Realtime, passthrough): корпоративные модели на Bedrock и self-hosted модели подключаются к одному шлюзу
Сессии голоса в реальном времени (/v1/realtime, openai_realtime + dashscope_realtime) учитываются по ходам в том же конвейере статистики / биллинга / логов, что и HTTP
Интеграции SDK

Работает с SDK, который у вас уже есть

Направьте любой SDK или фреймворк на шлюз одной строкой. OpenAI, Anthropic, Gemini и DashScope подключаются нативно; LangChain, LlamaIndex, CrewAI, Vercel AI SDK и ещё 30+ — через ту же замену base_url.

1

Направьте base_url на шлюз

По умолчанию https://your-gateway.gatellm.io — наличие /v1 зависит от SDK (в каждом примере указано точное значение).

2

Подставьте ключ доступа к шлюзу

Это не upstream-ключ sk-… — один и тот же ключ доступа подставляется в тот заголовок, который ожидает ваш SDK.

3

Используйте имя модели шлюза

То, которое вы задали в консоли, — а не официальное имя производителя.

Authorization: Bearer <key>
OpenAI · DashScope · универсально
Префикс Bearer без учёта регистра
x-api-key: <key>
Anthropic SDK
Authorization также принимается
x-goog-api-key: <key>
Gemini SDK
Authorization также принимается

Официальные SDK производителей

SDK OpenAI / Anthropic / Google подключаются нативно — меняется только base_url

OpenAI SDKAnthropic SDKGoogle GenAI SDKOpenAI-compatible third parties

Нативный DashScope

Текст, изображения, асинхронное видео, эмбеддинги и rerank через одну конечную точку

DashScope SDK

Унифицированные SDK и шлюзы

Vercel AI SDK, LiteLLM, Portkey, Semantic Kernel, Spring AI

Vercel AI SDKLiteLLMPortkeyBraintrust / LangbaseSemantic KernelSpring AI

Фреймворки оркестрации

LangChain, LlamaIndex, CrewAI, AutoGen, DSPy, Haystack

LangChainLangGraphLlamaIndexCrewAIAutoGen / AG2DSPyHaystackLlama Stack

SDK для агентов

OpenAI Agents, Claude Agent, Pydantic AI, ADK, Mastra

OpenAI Agents SDKClaude Agent SDKPydantic AIGoogle ADKMastraMicrosoft Agent FrameworkMCP SDK

Реальное время и аудио

Голос по WebSocket в реальном времени + openai_audio ASR / TTS

Realtime WebSocketopenai_audio (ASR / TTS)

Локальные / self-hosted

Ollama, vLLM, llama.cpp как upstream — любой клиентский SDK сохраняется

OllamavLLMllama.cpp serverSGLangText Generation Inference (TGI)LM Studio

Направьте любого AI-агента для программирования на шлюз

Все настройки агентов для программирования → ↗
Claude CodeCodex CLIGemini CLIOpenClawopencodeCrushFactory DroidGooseAiderQwen CodeOpenHandsKimi Code CLIPlandexSWE-agentGrok BuildMistral VibeMiMo CodeForgeCodeCodebuffClineRoo CodeKilo CodeContinueZedCursorWindsurfGitHub Copilot (BYOK)WarpAmazon Q Developer CLIDevin
OpenAI Agents SDK по умолчанию использует /v1/responses

Он вызывает Responses API, а не Chat Completions. Если upstream — openai (Chat), явно переключитесь через OpenAIChatCompletionsModel; если openai_response, строковое имя модели работает как есть.

LlamaIndex проверяет имя модели по белому списку

Класс OpenAI принимает только известные ему семейства и отклоняет пользовательские имена шлюза — используйте OpenAILike (Python) или явно объявите информацию о модели.

CrewAI под капотом управляется LiteLLM

base_url здесь не параметр фреймворка, а переменная окружения OPENAI_API_BASE, а к имени модели нужен префикс openai/.

Наличие /v1 в base_url зависит от SDK

OpenAI SDK принимает /v1; Anthropic SDK принимает корень (он сам добавляет /v1/messages); createAnthropic из Vercel AI SDK принимает /v1 (он добавляет /messages). Ошибка добавляет или удаляет сегмент пути.

# base_url convention differs by SDK — match the one you're using
from openai import OpenAI
OpenAI(base_url="https://your-gateway.gatellm.io/v1")        # OpenAI SDK: /v1

import anthropic
anthropic.Anthropic(base_url="https://your-gateway.gatellm.io")  # Anthropic SDK: root (appends /v1/messages)

# Vercel AI SDK createAnthropic: baseURL ".../v1" (appends /messages) — the reverse
# LangChain ChatOpenAI: base_url="https://your-gateway.gatellm.io/v1"
Архитектура и безопасность

Нормализация возможностей: как становится возможным смешивание разных производителей

Смешивание моделей разных производителей опирается на слой нормализации возможностей, который унифицирует семь точек связывания, так что смена модели больше не требует переписывания склеивающего кода.

Нормализация вызова инструментов

У OpenAI / Anthropic / Gemini / китайских моделей разные схемы вызова инструментов. Мы унифицируем их на уровне фундамента: код пишется один раз, вызываются все модели.

Совместимость структурированного вывода

Каждый провайдер использует свои протоколы (строгая JSON-схема, json_mode, tool_use). Мы приводим их к единому интерфейсу.

Унификация кеширования промптов

cache_control у Anthropic, автоматическое кеширование OpenAI, контекст Gemini — механизмы разные. Мы предлагаем единую стратегию кеширования.

Адаптация токенов рассуждения

Форматы вывода o1 / Claude thinking / DeepSeek R1 различаются. Мы адаптируемся к протоколу токенов рассуждения каждого провайдера.

Поддержка мультимодальных форматов

Протоколы vision / аудио / загрузки файлов различаются у провайдеров. Мы унифицируем форматы мультимодального ввода.

Абстракция модели биллинга

Структура тарифов у каждого провайдера своя. Мы абстрагируем её в единый интерфейс учёта затрат.

Нормализация семантики ошибок

Коды и тела ошибок у каждого производителя свои. Мы приводим их к единому формату, а z-request-id связывает каждый запрос сквозным образом.

Поток данных: остаётся на вашей инфраструктуре, не сохраняется

В режиме BYOK API-ключи хранятся только в памяти шлюза и никогда не сохраняются и не передаются. Запросы проходят через шлюз напрямую к официальным API провайдеров — данные не покидают вашу приватную сеть.

Соответствие контролам SOC 2Соответствие контролам ISO 27001GDPR
Сравнение стоимости

Почему стоимость ~1/7?

Возьмём предприятие с 1 млрд токенов в день: одна и та же нагрузка — сравним счёт для вариантов «top-tier от начала до конца» и «top-tier планирует, открытые модели исполняют».

Top-tier от начала до конца (базовый вариант)
$113K/мес

Claude Opus 5 планирует и исполняет, всё на top-tier

Оркестрация GateLLM
$16K/мес

~90% исполнения на открытых SOTA, ключевые 10% планирования на top-tier

Стоимость в месяц
14% от базового варианта
Экономия в месяц
$97K
Сохранённые возможности
Сохранённые возможности 97%

Три источника экономии:

  1. 1.BYOK без наценки на токены — вы платите провайдерам по стандартным тарифам, GateLLM не берёт посредническую долю (агрегаторы обычно добавляют платформенные и платёжные сборы сверх прайс-листа);
  2. 2.Композиция — открытые SOTA-модели (GLM / Qwen / DeepSeek) выполняют основную часть работы (классификация, извлечение, перевод), а закрытые модели верхнего уровня (например, Claude Opus) используются только для планирования и сложных рассуждений;
  3. 3.Кеширование промптов — частые вызовы попадают в кеш, цена за единицу снижается на 50%–90%.

Цифры — иллюстративные модели на основе публичных тарифов; фактическая экономия зависит от бизнес-сценариев и пропорций смешивания. Плата за лицензию Pro $400/мес (2 ГБ, один экземпляр) включена в тариф GateLLM.

Token Ops · Token FinOps

Расход, который виден; стоимость, которую можно разнести; бюджеты, которые можно удержать

Token Ops показывает, кто что использует; Token FinOps превращает токены в выставляемые и ограничиваемые деньги. Одна плоскость управления делает расходы на ИИ такими же управляемыми, как расходы на облако.

Token Ops

Наблюдаемость расхода и стоимости

Разбирайте каждый вызов по модели, ключу доступа и группе ключей; входные, выходные токены и попадания в кеш учитываются отдельно с гранулярностью в 1 минуту.

  • Группировка по модели / ключу / группе ключей
  • Вход, выход и попадания в кеш учитываются отдельно
  • Временные ряды за 24 ч / 7 дн. / 30 дн. / произвольный период
Token Ops

Допуск клиентов и журнал аудита

До шлюза доходят только одобренные вами клиенты — разрешайте, ограничивайте или блокируйте по User-Agent. Каждый вызов оставляет запись, пригодную для аудита управления endpoint и подтверждения соответствия.

  • Контроль доступа клиентов (политика User-Agent)
  • Записи вызовов с хранением логов (Pro и выше)
  • Интеграция с аудитом / DLP (Enterprise)
Token Ops

Management API (программное управление)

Enterprise

Управляйте шлюзом через API: создавайте и отзывайте API-ключи, задавайте квоты и бюджеты, запрашивайте расход и стоимость, экспортируйте журналы аудита — встраивайте это в свои внутренние системы эксплуатации и биллинга.

  • Создание и отзыв API-ключей через API
  • Квоты и бюджеты через API
  • API запросов расхода и стоимости
  • Экспорт журналов аудита
Token FinOps

Собственный прайс-лист и снимки цен

Введите вручную согласованную приватную цену — она становится авторитетной, и системные обновления её не перезаписывают. У каждой цены есть окно действия: назначайте снижение цены заранее, а правки никогда не переписывают историческую стоимость.

  • Закреплённая приватная цена перекрывает автоматическую и не перезаписывается
  • Снимки вступают в силу по временному окну
  • Заполнение истории / предварительное назначение снижения цен
  • Режимы биллинга: за токены · за вызов · за секунду
Token FinOps

Распределение и возврат затрат по тегам

Помечайте ключи и группы ключей тегами, затем агрегируйте расход и стоимость по тегам, чтобы отнести затраты на токены к нужному центру затрат. Экспорт в Excel разбивает реестр по модели × ключу для внутреннего showback или chargeback.

  • Произвольные теги на ключах / группах ключей
  • Агрегация расхода и стоимости по тегу
  • Экспорт в Excel с 6 листами (включая ключ × модель)
  • Готово для внутреннего showback / chargeback
Token FinOps

Квоты и лимиты стоимости

Задайте суточные и месячные лимиты расходов для каждого ключа — они оцениваются независимо по календарным дню и месяцу UTC и блокируются в момент срабатывания любого из них. Квоты наследуются ключ → группа → глобально, а между группами берётся самая широкая.

  • Суточные / месячные лимиты, оцениваются независимо
  • Наследование ключ → группа → глобально
  • 429 quota_exceeded, Retry-After для суточного лимита
Сравнение с конкурентами

GateLLM vs LiteLLM

Сравнение с проверкой по источникам. Только GateLLM поставляет ряд механизмов, которых у LiteLLM нет; обе системы разделяют устоявшуюся базовую функциональность; некоторые вещи различаются по своей сути. Решайте по двум верхним уровням, а не по маркетинговому шуму.

Это умеет только GateLLM

Механизмы, которых у LiteLLM нет — однострочное «как это работает» под каждой возможностью.

ВозможностьGateLLMLiteLLM
Условное переключение моделейДекларативные правила switch-route + встроенное определение режима планирования + скрипты context.useModel() — без изменений на клиенте. В LiteLLM нужны пользовательские Python-колбэки.ДаНет
Смешивание моделей / SDK между протоколамиНативные точки входа any-to-any — вызывайте GPT из Anthropic SDK, DeepSeek из Gemini SDK. LiteLLM ориентирован на OpenAI; обратные пути идут через прослойки.ДаНет
Фиксация конфигурации одной транзакциейПодготовка → предпросмотр полного набора конфликтов → атомарная фиксация; при любом конфликте откатывается вся партия.ДаНет
Жёсткий шлюз квоты стоимостиСуточный / месячный циклы возвращают 429 quota_exceeded в момент превышения расхода. LiteLLM отправляет только оповещения о бюджете.ДаНет
Безопасный для сбоев биллингПредварительное списание → расчёт → возврат с реестром незавершённых операций — корректно при падении процесса.ДаНет
Пул upstream-ключей и липкая привязкаВзвешенное хеширование FNV-1a закрепляет каждого вызывающего за одним ключом и переключается на следующий непробованный ключ; ключи с weight=0 — в резерве.ДаНет
Три режима биллинга + мультивалютностьЗа токены / за вызов / за длительность, USD/CNY/EUR/JPY/GBP, пользовательские измерения. LiteLLM ведёт учёт только по токенам.ДаНет
Вход в upstream через SSO-учётные данныеПодключает производителей без статических ключей (например, Kiro). LiteLLM принимает только статические API-ключи.ДаНет
Реестр метаданных возможностейУправляет автоинъекцией и деградацией; изменение возможностей новой модели не требует правки кода.ДаНет
Ветка релизов LTSВетка N-1 + LTS (см. /lifecycle). LiteLLM поддерживает только последние 4 минорные линии.ДаНет

Оба делают это хорошо

Устоявшаяся база — этот уровень покрывает любой из шлюзов. Решение принимается на уровнях выше и ниже.

ВозможностьGateLLMLiteLLM
Маршрутизация API · fallback · балансировка нагрузкиДаДа
BYOK без наценки на токеныДаДа
Полностью self-hosted, данные остаются на вашей инфраструктуреДаДа
Нормализация вызова инструментов между производителямиДаДа
Нормализация структурированного вывода (JSON Schema)ДаДа
Адаптация токенов рассуждения / thinkingДаДа
Кеширование промптов между моделямиДаДа
Инъекция веб-поискаДаДа
MCP-шлюз (агрегация инструментов)ДаДа
Визуальная консоль для настройкиДаДа
Журналы аудита и учёт расхода / стоимостиДаДа

Проверено по официальной документации каждого продукта по состоянию на 2026-09-04 (docs.litellm.ai / docs.gatellm.io). Часть возможностей LiteLLM требует лицензии Enterprise; детали могут меняться — сверяйтесь с источниками перед закупкой.

Защита данных на пути запроса

Секреты и PII обнаруживаются на входе — что делать дальше, решаете вы.

Детерминированный движок правил проверяет каждый запрос к модели на наличие форматов учётных данных и PII и фиксирует найденное, не записывая сам секрет. Встроенные правила поставляются выключенными и в режиме наблюдения; вы включаете их и выбираете log, mask или block для каждой области. Ни одна модель не участвует в пути обнаружения.

Только путь запроса

Детерминированное обнаружение, без модели в пути

Детерминизм по построению: сначала литеральные проверки, затем regex-правила, требующие контекстных слов, затем проверки контрольных сумм — Луна для номеров карт, mod-97 для IBAN, контрольная сумма национального ID, блоки приватных ключей PEM и OpenSSH, IPv4.

  • Форматы учётных данных: API-ключи провайдеров моделей, облачные ключи доступа, токены GitHub и GitLab, JWT, приватные ключи PEM и OpenSSH, токены Slack
  • Классы PII: мобильные номера материкового Китая, национальные ID резидентов, номера банковских карт, IBAN, адреса электронной почты, адреса IPv4
  • В многоходовых диалогах сканируется только новое — цепочка хешей-курсоров не даёт длинной сессии повторно сканировать уже проверенный текст
Поддержка потоковой передачи

Маскирование, сквозь которое видит клиент; блокировка, которая ничего не раскрывает

В режиме mask upstream-модель получает нумерованные заполнители, а ваш клиент — восстановленные реальные значения, включая восстановление в каждом кадре SSE при потоковой передаче. В режиме block отказ содержит категорию правила и ID запроса, но никогда — совпавший текст.

  • Upstream видит заполнители; сторона, владеющая данными, получает свои значения обратно
  • Длинные вставки не являются исключением — слишком большие строки выгружаются на диск и сканируются обратно окнами фиксированного размера, поэтому память остаётся постоянной независимо от размера payload
  • Белый список сопоставляется по значению, а не по пути: одобрение тестового ключа не освобождает незаметно целое поле
Fail-closed

Тела логов: сохраняются как получены, редактируются на каждом выходе

Сохранение логов запросов в поставляемом образе выключено. Включите его — и тела сохраняются как получены, а затем редактируются на каждой исходящей поверхности: Console API редактирует по умолчанию, вывод SSE и терминала редактируется всегда, а сбой редактирования закрывает ответ, вместо того чтобы пропустить данные через него.

  • Показ необработанного содержимого — явное действие: роль администратора плюс явный флаг раскрытия, с аудитом и подсчётом
  • Редактирование охватывает чувствительные ключи тела, чувствительные параметры запроса и URL, заголовки статических и пользовательских схем аутентификации, а также значения bearer-токенов с частичным раскрытием
  • Находка хранит замаскированный фрагмент с ограниченным окружающим контекстом, но никогда — совпавший текст; находки живут в том же окне хранения логов, по умолчанию 7 дней

Выключено по умолчанию — намеренно

Встроенный набор правил поставляется отключённым, и действие каждого встроенного правила — log. Это безопасный поэтапный запуск, а не пробел: посмотрите, что произошло бы на вашем реальном трафике, настройте белый список под свои ложные срабатывания, затем включите mask или block там, где это важно. Политика ограничивается глобально, группой ключей доступа или отдельным ключом доступа, а правила перезагружаются на лету.

  1. 1log

    Наблюдение. Находки попадают в консоль с замаскированными фрагментами; сам запрос не изменяется.

  2. 2mask

    Принудительное применение с обратимостью. Upstream видит заполнители; ваш клиент по-прежнему получает реальное значение.

  3. 3block

    Отказ. Запрос отклоняется с категорией правила и ID запроса — но никогда с совпавшим текстом.

Что это есть и чем это не является

Что это есть

  • Работает внутри вашего собственного процесса шлюза, на пути запроса к модели, с областью глобально / группа ключей доступа / ключ доступа
  • Отдельная страница консоли: представление находок для ролей admin и monitor, представление правил для admin, переключатель включения/выключения с предварительной проверкой бюджета памяти, горячая перезагрузка и записи аудита
  • Endpoint предпросмотра сухого прогона, чтобы правило можно было проверить на образце до включения
  • Каждая находка прослеживается до имени правила, категории, серьёзности, предпринятого действия, числа совпадений, модели и имени ключа доступа

Чем это не является

  • Нет обнаружения в содержимом ответа — ветка ответа только восстанавливает заполнители
  • Нет ML, нет обнаружения jailbreak или prompt-injection и нет moderation API: правила детерминированы
  • Нет офлайн-перепроверки — содержимое, не просканированное во время запроса, не сканируется позже
  • Это не DLP-система: нет покрытия endpoint, электронной почты и других исходящих каналов
  • Нет детекторов паспорта, SSN, имени или адреса, а известные остаточные пробелы документированы — медиа в base64 пропускаются, а заполнитель, разделённый между двумя кадрами потока, проходит без изменений
Гарантии для закупки

Что вы действительно получаете.

Три вещи, которые важны для закупки, решены до обсуждения цены: DPA, который юристы могут подписать; счёт, который не выйдет из-под контроля; и промпты, которые никогда не попадают к нам.

DPA, который ваши юристы могут подписать

Готовность к GDPR и CCPA, с DPA, который ваши юристы действительно могут подписать. Self-hosted — данные никогда не покидают ваш периметр — с включёнными Enterprise SSO (OIDC / SAML 2.0) и выделением через SCIM 2.0.

GDPRCCPADPASSOSCIMЖурнал аудита
Посмотреть DPA →

Счёт, который не выйдет из-под контроля

BYOK: платите провайдерам по стандартным тарифам — без наценки на токены и без платы за место. Жёсткие квоты для каждого ключа и проекта не дают runaway-скрипту выйти за пределы бюджета.

Без наценки на токеныПлата за место: 0Кеш промптовЖёсткие квотыВозврат в течение 30 дней

Ваши промпты никогда не попадают к нам

Полностью self-hosted — ваши промпты и ответы вообще не попадают в наши системы. Ключи BYOK живут только в памяти шлюза; запросы идут напрямую к API провайдеров, не покидая вашу сеть.

Данные остаются на вашей инфраструктуреКлючи не сохраняютсяTLS 1.3Допуск клиентовСамостоятельный выбор моделей
Тарифы

Полностью self-hosted · Один экземпляр 2 ГБ · Без наценки на токены

BYOK (bring your own keys) — вы платите провайдерам по стандартным тарифам. Мы лицензируем один экземпляр на 2 ГБ, никогда — по местам или с наценкой на токены. Больший объём памяти или несколько экземпляров — через Enterprise.

Включено во все тарифы: BYOK без наценки на токены · маршрутизация к 100+ провайдерам · контроль доступа клиентов · кеширование промптов · квоты стоимости

Free

$0

Полностью self-hosted · Одна лицензия

Один экземпляр 512 МБ, без хранения логов — подходит для оценки и POC, но не для продакшн-трафика.

  • ✓Маршрутизация к 100+ LLM · Fallback · Балансировка нагрузки
  • ✓Смешивание моделей разных производителей · понижение уровня в агенте (планирование закреплено / вне плана — автоматическое понижение)
  • ✓Контроль доступа клиентов (политика User-Agent)
  • ✓Кеширование промптов
  • ✓BYOK (свои ключи, без наценки)
  • ✓Лимит памяти 512 МБ · SQLite · один экземпляр
  • ✓Код-ревью в GitHub Actions через ваш собственный шлюз
  • ✓Без хранения логов
Рекомендуем

Pro

$400

/ мес · один экземпляр 2 ГБ (фиксированный лимит) · бесплатный период: 21 дн.

Фиксированный лимит 2 ГБ, без надстроек. Для нескольких узлов, соответствия требованиям (Audit/DLP) или Management API переходите на Enterprise.

  • ✓Все возможности Free
  • ✓2 ГБ памяти · один экземпляр (фиксированный лимит, без увеличения)
  • ✓Хранение логов
  • ✓Enterprise SSO (OIDC: Azure AD / Okta / универсальный, плюс SAML 2.0 + SCIM)
  • ✓PostgreSQL · 2 ГБ памяти
  • ✓Поддержка по электронной почте / тикетам

100% возврат в течение 30 дней, если не подошло

Enterprise

от $400/ГБ

По объёму памяти · Годовая оплата · Возврат в течение 30 дней

  • ✓Все возможности Pro
  • ✓Оплата по ёмкости (узлы × память, фиксированно $400/ГБ/мес)
  • ✓Развёртывание на нескольких узлах / в кластере
  • ✓Код-ревью в GitHub Actions через ваш собственный шлюз
  • ✓Надстройка Microsoft 365 (Excel/Word/PPT/Outlook, платная надстройка)
  • ✓Расширенное хранение логов
  • ✓Приоритетное время реакции поддержки
  • ✓Соответствие требованиям (Audit / DLP)
  • ✓Management API (программное управление ключами · квотами · запросами расхода · экспортом аудита)

Нужно больше ёмкости или особая конфигурация? Свяжитесь с нами →

Сравнение возможностей

ВозможностьFreeProEnterprise
Мультимодельная маршрутизация · Fallback · Балансировка нагрузки✓✓✓
Смешивание моделей разных производителей (планирование/исполнение по производителю)✓✓✓
Понижение уровня модели в агенте (планирование закреплено / вне плана — автоматическое понижение)✓✓✓
Кеширование промптов✓✓✓
BYOK (свои ключи, без наценки)✓✓✓
Уровень памяти512 МБ2 ГБ (фиксированно)Настраиваемый
Хранилище / база данныхSQLite (один экземпляр)PostgreSQL · 2 ГБPostgreSQL + кластер Redis
Масштаб развёртывания1 экземпляр1 экземпляр · 2 ГБНесколько узлов / кластер
Пропускная способность на ГБ (справочно)—2 ГБ ≈ 200 млн TPM / 1 000 RPM≈ 100 млн TPM / 500 RPM на ГБ
Хранение логовНетЕстьРасширенное хранение
SSO (OIDC / SAML 2.0)—✓✓
Автоматическое выделение SCIM 2.0—✓✓
Соответствие требованиям (Audit / DLP)——✓
Management API (программное управление ключами · квотами · расходом · аудитом)——✓
Собственный прайс-лист / снимки цен (включая приватные цены)✓✓✓
Квоты стоимости (суточные / месячные, наследование трёх уровней)✓✓✓
Реакция поддержкиСообществоПочта / тикетыПриоритетная реакция
Политика моделей с учётом режима (plan/execute, с принудительным применением)✓✓✓
Контроль доступа клиентов (политика User-Agent)✓✓✓
Код-ревью в GitHub Actions (через ваш шлюз)✓✓✓
Надстройка Microsoft 365 (Excel/Word/PPT/Outlook, self-hosted)—НадстройкаНадстройка
Ограничение по меткам чувствительности Purview (addin.access / file.upload)——✓
Частые вопросы

FAQ

Начните создавать мультимодельные AI-приложения

Полностью self-hosted · Один экземпляр 2 ГБ · Без наценки на токены.

Один API, все модальности · Полностью self-hosted · Данные остаются на вашей инфраструктуре · Без наценки на токены