# GateLLM — Self-Hosted корпоративный LLM-шлюз

> Примерно 1/7 стоимости при той же нагрузке. Надёжный, соответствующий требованиям self-hosted LLM-шлюз (AI-шлюз), который оркеструет закрытые модели верхнего уровня вместе с открытыми SOTA-моделями — планирование на передовых моделях, исполнение на открытых SOTA.

Канонический URL: https://www.gatellm.io/ru/

## Планируют передовые модели. Исполняют открытые SOTA. Стоимость — примерно 1/7.
Модели верхнего уровня отвечают за планирование; открытые SOTA-модели выполняют рутинные 90%. Композиция снижает счёт до ~1/7 — цифры вычисляются в калькуляторе в реальном времени, а не декларируются здесь.
```
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"}],
)
```
Смешивайте модели: Claude Opus планирует, DeepSeek / Qwen исполняют — около 1/7 стоимости, до 90% дешевле

Какую модель запускать, решает шлюз: что бы ни было настроено в клиенте, целевая модель — та, которую закрепили администраторы: allowlist на входе + отображение «*»

Достаточно одного протокола: говорите на OpenAI или Anthropic и достигайте моделей всех четырёх семейств чат-протоколов (OpenAI / Anthropic / Gemini / DashScope) — смена модели не затрагивает код

Данные остаются локально: полностью self-hosted, промпты не попадают к нам; учётные данные и PII обнаруживаются на пути запроса — журнал / маскирование / блокировка по области

## Три вещи, которые шлюз делает, а одна модель — нет
Смешивайте модели, чтобы снизить стоимость, задавайте, какая модель реально работает, и держите клиентский код на одном протоколе.
### Смешивайте модели вместо самой дорогой везде
Передовые модели (Claude Opus) планируют и рассуждают; открытые SOTA-модели (DeepSeek / Qwen / GLM) выполняют рутину. При стандартном миксе счёт составляет ~1/7, при сохранении ~97% возможностей на рутинных задачах — расчёт выполняется в калькуляторе в реальном времени, а не утверждается здесь.
- Режим планирования определяется по запросу — без изменений клиента
- Уровни назначаются по группе ключей или идентичности
- Атрибуция затрат и лимиты бюджета по режимам
### Шлюз решает, какая модель реально работает
Какую бы модель ни настроил разработчик, запрос нормализуется при поступлении. Имена вне allowlist получают 403; отображение «*» переписывает всё остальное на разрешённую модель. Отображения и правила перезагружаются на лету — без раскатки на каждого разработчика.
- Allowlist группы ключей отсекает имена моделей на входе
- Отображение «*» фиксирует целевую модель
- Каждый запрос записывает фактическую целевую модель (тег SW для скриптовых переключений, MM для отображений по идентичности)
### Напишите клиент один раз — меняйте бэкенд свободно
Ваше приложение говорит на одном протоколе — OpenAI или Anthropic. Шлюз переводит между четырьмя семействами чат-протоколов (OpenAI / Anthropic / Gemini / DashScope) и нормализует стриминг, вызовы инструментов и другие различия возможностей, поэтому добавление провайдера или модели не затрагивает бизнес-код.
- Любой-в-любой между четырьмя семействами чат-протоколов
- Клиенты только на Anthropic (Claude Code, claude-code-action) могут запускать модели других провайдеров
- 15 дополнительных форматов вышестоящих протоколов помимо четырёх семейств, описанных в матрице интероперабельности

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

## Проверьте сами
Мы публикуем документы, а не просим верить нам на слово. У каждого утверждения на этой странице есть документальный след, который можно изучить ещё до разговора с нами.

### [Безопасность и соответствие требованиям](https://www.gatellm.io/ru/security.md)
Архитектура, работа с ключами и модель изоляции.

### [Анкета по безопасности](https://www.gatellm.io/trust.md)
Ответы на CAIQ / SIG / VSA, заполненные заранее.

### [Список субпроцессоров](https://www.gatellm.io/subprocessors.md)
Каждая третья сторона, которая может получить доступ к вашим данным.

### [Реагирование на инциденты и поддержка](https://www.gatellm.io/sla.md)
Целевые сроки реагирования и обязательства поддержки.

## Один интерфейс — любые модели в любых сочетаниях
От простой маршрутизации моделей до мультимодельной оркестрации — 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

## Три шага до первого токена.
Перейдите от одной модели к мультимодельной оркестрации за три шага, не переписывая бизнес-код. Работает с любым SDK (OpenAI / Anthropic / Gemini / DashScope).
### Разверните шлюз
Запуск Docker в один клик или развёртывание Kubernetes Helm в приватной среде.
### Настройте ключи
Режим BYOK: укажите существующие API-ключи провайдеров, данные остаются на вашей инфраструктуре и не сохраняются.
### Замените endpoint
Направьте base_url OpenAI SDK на GateLLM и вызывайте все модели через единый интерфейс.
```
# 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"}]
)
```
## Или передайте задачу своему агенту

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

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

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

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

```bash
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
```

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

## Используйте SDK, который у вас уже есть. Измените одну строку.
Одни и те же четыре протокола с обеих сторон. Преобразование any-to-any без склеивающего кода — для чата, изображений, речи, видео, голоса в реальном времени, эмбеддингов и rerank.
### Все модальности
- чат
- изображения
- речь
- видео
- голос в реальном времени
- эмбеддинги
- 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 или фреймворк на шлюз одной строкой. OpenAI, Anthropic, Gemini и DashScope подключаются нативно; LangChain, LlamaIndex, CrewAI, Vercel AI SDK и ещё 30+ — через ту же замену base_url.
### Направьте base_url на шлюз
По умолчанию https://your-gateway.gatellm.io — наличие /v1 зависит от SDK (в каждом примере указано точное значение).
### Подставьте ключ доступа к шлюзу
Это не upstream-ключ sk-… — один и тот же ключ доступа подставляется в тот заголовок, который ожидает ваш SDK.
### Используйте имя модели шлюза
То, которое вы задали в консоли, — а не официальное имя производителя.
```
# 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"
```
### `Authorization: Bearer <key>`
- SDK / фреймворк: OpenAI · DashScope · универсально
- Префикс Bearer без учёта регистра

### `x-api-key: <key>`
- SDK / фреймворк: Anthropic SDK
- Authorization также принимается

### `x-goog-api-key: <key>`
- SDK / фреймворк: Gemini SDK
- Authorization также принимается

### Официальные SDK производителей
SDK OpenAI / Anthropic / Google подключаются нативно — меняется только base_url

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

### Унифицированные SDK и шлюзы
Vercel AI SDK, LiteLLM, Portkey, Semantic Kernel, Spring AI

### Фреймворки оркестрации
LangChain, LlamaIndex, CrewAI, AutoGen, DSPy, Haystack

### SDK для агентов
OpenAI Agents, Claude Agent, Pydantic AI, ADK, Mastra

### Реальное время и аудио
Голос по WebSocket в реальном времени + openai_audio ASR / TTS

### Локальные / self-hosted
Ollama, vLLM, llama.cpp как upstream — любой клиентский SDK сохраняется

### Имя модели должно совпадать с конфигурацией шлюза
Не официальное имя производителя и не ID модели в upstream, а то имя, которое вы задали в консоли. Неверное имя → 404 model_not_found.

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

### Поля транслируются и ограничиваются между протоколами
max_tokens может стать max_output_tokens с нижней границей (например, ≥16), если upstream — модель протокола Responses; слишком маленькое значение → 400.

### Блоки размышлений оборачиваются шлюзом
Содержимое и подписи thinking от Claude / Gemini передаются как есть или удаляются — берите элемент content-массива с type == "text", не предполагайте, что content[0] — текст.

### 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/.

### AutoGen требует явного model_info
Неизвестные имена моделей вызывают ошибку в списке по умолчанию — объявите model_info явно, чтобы обойти проверку.

### Google GenAI SDK указывает на корень
base_url задаётся через http_options.base_url (без /v1), а ключ подставляется в заголовок x-goog-api-key.

## Направьте любого AI-агента для программирования на шлюз
```
# Every agent is one base_url + one access key away
export ANTHROPIC_BASE_URL="https://your-gateway.gatellm.io"   # Anthropic agents: root (no /v1)
export ANTHROPIC_API_KEY="<gateway access key>"

export OPENAI_API_BASE="https://your-gateway.gatellm.io/v1"   # OpenAI-compatible agents: /v1
export OPENAI_API_KEY="<gateway access key>"

# Codex CLI (~/.codex/config.toml) speaks the Responses protocol
# [model_providers.gatellm]
# base_url = "https://your-gateway.gatellm.io/v1"
# wire_api = "responses"
```
### Терминальные агенты
Claude Code, Codex CLI, Gemini CLI, OpenClaw, opencode, Crush, Droid, Goose, Aider, Qwen Code, OpenHands, Kimi Code, Plandex, SWE-agent, Grok Build, Mistral Vibe, MiMo Code, ForgeCode, Codebuff

### IDE и расширения
Cline, Roo Code, Kilo Code, Continue, Zed, Cursor, Windsurf, GitHub Copilot (BYOK)

### Управляемые платформы
Warp (только ключи BYOK), Amazon Q Developer CLI, Devin — endpoint фиксирован или не переопределяется

### Harness фиксирует свой ID модели
Claude Code отправляет настроенное по умолчанию значение (например, claude-opus-5 или claude-sonnet-5), а не имя в вашем шлюзе. Либо назовите модель шлюза точно так, как её запрашивает harness, либо задайте его переменную окружения модели (например, ANTHROPIC_MODEL) равной имени в шлюзе. Несовпадение → 404 model_not_found на первом сообщении.

### Harness с протоколом Anthropic принимают корень, а не /v1
Базовый URL для клиентов в стиле Anthropic указывает на корень шлюза (без /v1) — клиент сам добавляет /v1/messages. Если добавить /v1, сегмент пути удвоится.

### Пользовательским провайдерам Codex нужен wire_api="responses"
Codex CLI требует wire_api = "responses" для блока [model_providers.*]. Шлюз нативно реализует /v1/responses — направьте на него base_url и задайте env_key с ключом доступа к шлюзу.

### Harness на базе LiteLLM ожидают префикс openai/ у модели
Aider, OpenHands и SWE-agent работают через LiteLLM: задайте OPENAI_API_BASE равным шлюзу и добавьте модели префикс openai/ (например, openai/gateway-model-name), чтобы LiteLLM маршрутизировал её как OpenAI-compatible endpoint.

### По умолчанию используется OAuth подписки, а не ваш ключ
Codex, Gemini CLI и Qwen Code по умолчанию используют OAuth / вход по подписке производителя. Чтобы направить трафик через шлюз, нужно переключиться на аутентификацию по API-ключу (явно задать ключ и базовый URL) — иначе агент полностью обходит шлюз.

### IDE выводят поддержку инструментов и зрения из ID модели
Cline / Roo / Kilo и другие определяют поддержку вызова инструментов и работы с изображениями по имени модели. Пользовательское имя шлюза может отключить вызов функций — если вызовы инструментов не работают, проверьте правила определения возможностей клиента или назовите модель так, чтобы она совпадала с известным семейством.

### Долгий инференс добавляет :keep-alive и _gateway_warning
Во время долгого инференса upstream шлюз выдаёт строки-комментарии SSE :keep-alive (безвредны — пропускайте строки, начинающиеся с :), а при разрыве посреди потока вставляет поле _gateway_warning вместо ошибки, чтобы такие harness, как Claude Code, не прерывали весь диалог.

### Автоматический режим Claude Code: решите, кто выносит вердикт о безопасности
В автоматическом режиме Claude Code ожидает вердикт со стороны сервера (поле safeguards в запросе) перед потенциально опасным действием. Если upstream — официальный Anthropic, вердикт формируется внутри того же запроса, и шлюз передаёт его без изменений. Если upstream — третья сторона, которая игнорирует это поле, вердикт выносит шлюз — и заводская настройка по умолчанию (allow_all) разрешает любое действие, что мягче, чем не вмешиваться вовсе. Верните маршрут upstream, записав "anthropic_server_safeguards": "upstream" в extra_config этого upstream; настройка в консоли доступна только администраторам.

## Нормализация возможностей: как становится возможным смешивание разных производителей
Смешивание моделей разных производителей опирается на слой нормализации возможностей, который унифицирует семь точек связывания, так что смена модели больше не требует переписывания склеивающего кода.
### Нормализация вызова инструментов
У 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 27001

GDPR

## Почему стоимость ~1/7?
Возьмём предприятие с 1 млрд токенов в день: одна и та же нагрузка — сравним счёт для вариантов «top-tier от начала до конца» и «top-tier планирует, открытые модели исполняют».
## Три источника экономии:
- BYOK без наценки на токены — вы платите провайдерам по стандартным тарифам, GateLLM не берёт посредническую долю (агрегаторы обычно добавляют платформенные и платёжные сборы сверх прайс-листа);
- Композиция — открытые SOTA-модели (GLM / Qwen / DeepSeek) выполняют основную часть работы (классификация, извлечение, перевод), а закрытые модели верхнего уровня (например, Claude Opus) используются только для планирования и сложных рассуждений;
- Кеширование промптов — частые вызовы попадают в кеш, цена за единицу снижается на 50%–90%.
Цифры — иллюстративные модели на основе публичных тарифов; фактическая экономия зависит от бизнес-сценариев и пропорций смешивания. Плата за лицензию Pro $400/мес (2 ГБ, один экземпляр) включена в тариф GateLLM.

## Расход, который виден; стоимость, которую можно разнести; бюджеты, которые можно удержать
Token Ops показывает, кто что использует; Token FinOps превращает токены в выставляемые и ограничиваемые деньги. Одна плоскость управления делает расходы на ИИ такими же управляемыми, как расходы на облако.
### Наблюдаемость расхода и стоимости
Разбирайте каждый вызов по модели, ключу доступа и группе ключей; входные, выходные токены и попадания в кеш учитываются отдельно с гранулярностью в 1 минуту.
- Группировка по модели / ключу / группе ключей
- Вход, выход и попадания в кеш учитываются отдельно
- Временные ряды за 24 ч / 7 дн. / 30 дн. / произвольный период
### Допуск клиентов и журнал аудита
До шлюза доходят только одобренные вами клиенты — разрешайте, ограничивайте или блокируйте по User-Agent. Каждый вызов оставляет запись, пригодную для аудита управления endpoint и подтверждения соответствия.
- Контроль доступа клиентов (политика User-Agent)
- Записи вызовов с хранением логов (Pro и выше)
- Интеграция с аудитом / DLP (Enterprise)
### Management API (программное управление)
Управляйте шлюзом через API: создавайте и отзывайте API-ключи, задавайте квоты и бюджеты, запрашивайте расход и стоимость, экспортируйте журналы аудита — встраивайте это в свои внутренние системы эксплуатации и биллинга.
- Создание и отзыв API-ключей через API
- Квоты и бюджеты через API
- API запросов расхода и стоимости
- Экспорт журналов аудита
### Собственный прайс-лист и снимки цен
Введите вручную согласованную приватную цену — она становится авторитетной, и системные обновления её не перезаписывают. У каждой цены есть окно действия: назначайте снижение цены заранее, а правки никогда не переписывают историческую стоимость.
- Закреплённая приватная цена перекрывает автоматическую и не перезаписывается
- Снимки вступают в силу по временному окну
- Заполнение истории / предварительное назначение снижения цен
- Режимы биллинга: за токены · за вызов · за секунду
### Распределение и возврат затрат по тегам
Помечайте ключи и группы ключей тегами, затем агрегируйте расход и стоимость по тегам, чтобы отнести затраты на токены к нужному центру затрат. Экспорт в Excel разбивает реестр по модели × ключу для внутреннего showback или chargeback.
- Произвольные теги на ключах / группах ключей
- Агрегация расхода и стоимости по тегу
- Экспорт в Excel с 6 листами (включая ключ × модель)
- Готово для внутреннего showback / chargeback
### Квоты и лимиты стоимости
Задайте суточные и месячные лимиты расходов для каждого ключа — они оцениваются независимо по календарным дню и месяцу UTC и блокируются в момент срабатывания любого из них. Квоты наследуются ключ → группа → глобально, а между группами берётся самая широкая.
- Суточные / месячные лимиты, оцениваются независимо
- Наследование ключ → группа → глобально
- 429 quota_exceeded, Retry-After для суточного лимита

## GateLLM vs LiteLLM
Сравнение с проверкой по источникам. Только GateLLM поставляет ряд механизмов, которых у LiteLLM нет; обе системы разделяют устоявшуюся базовую функциональность; некоторые вещи различаются по своей сути. Решайте по двум верхним уровням, а не по маркетинговому шуму.
### Это умеет только GateLLM
Механизмы, которых у LiteLLM нет — однострочное «как это работает» под каждой возможностью.
| Возможность | GateLLM | LiteLLM |
| --- | --- | --- |
| Условное переключение моделей | ✓ | ✗ |
| Смешивание моделей / SDK между протоколами | ✓ | ✗ |
| Фиксация конфигурации одной транзакцией | ✓ | ✗ |
| Жёсткий шлюз квоты стоимости | ✓ | ✗ |
| Безопасный для сбоев биллинг | ✓ | ✗ |
| Пул upstream-ключей и липкая привязка | ✓ | ✗ |
| Три режима биллинга + мультивалютность | ✓ | ✗ |
| Вход в upstream через SSO-учётные данные | ✓ | ✗ |
| Реестр метаданных возможностей | ✓ | ✗ |
| Ветка релизов LTS | ✓ | ✗ |

- **Условное переключение моделей**: Декларативные правила 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 минорные линии.

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

### Отличается по сути
Не лучше и не хуже — другие механизмы и упаковка, которые стоит взвесить напрямую.
| Возможность | GateLLM | LiteLLM |
| --- | --- | --- |
| Среда выполнения | Единый бинарник на Rust · без пауз GC | Процесс Python + стек зависимостей |
| Поверхность трансляции протоколов | 15 форм протоколов; четыре семейства чат-протоколов (OpenAI / Anthropic / Gemini / DashScope) транслируются any-to-any, остальные — по матрице совместимости | Обёртка с центром на OpenAI + совместимые endpoint |
| Нативные точки входа протоколов | /v1/messages + count_tokens, Gemini generateContent, CRUD /v1beta/cachedContents, /v1/realtime, /mcp — один шлюз нативно обслуживает каждый SDK | OpenAI-compatible endpoint (плюс совместимые варианты) |
| Глубина кеширования промптов | Автоинъекция точек останова кеша в вызовах протокола OpenAI + межпротокольное сопоставление + дедупликация Google cachedContent | Пробрасывает cache_control и нормализует usage |
| Приватность логов по умолчанию | Логи запросов выключены по умолчанию · сохранённые тела логов редактируются на каждой исходящей поверхности, необработанный просмотр только для администратора и аудируется · хранение по умолчанию 7 дней | Логирование запросов и ответов включено; редактирование через guardrails |
| Режим конфигурации | Полностью в консоли — без YAML, изменения применяются на лету | С центром на config.yaml |
| Упаковка Enterprise SSO и SCIM | OIDC + SAML 2.0 + SCIM включены в фиксированную лицензию на экземпляр, без оплаты за место | OSS ограничивает SSO 5 пользователями; SCIM требует тарифа Enterprise с оплатой по использованию |
| Лицензирование | Фиксированно за экземпляр / память, без мест, без наценки на токены | Бесплатный OSS; Enterprise — оплата по использованию |
| SLA поддержки | Приоритетная поддержка включена в фиксированную лицензию | Стандартный тариф не даёт обязательств по времени реагирования; SLA 24/7 — платная надстройка (Sev0 1 ч / Sev1 6 ч) |
| Поверхность endpoint | Основные endpoint чата / realtime / MCP | Добавляет /batches, /files, /fine_tuning, /vector_stores, /videos, /containers |
| Сторонняя экосистема | Встроенные логи / Prometheus / OTel — исходящие данные по стандартным протоколам, без привязки к одному производителю; обнаружение секретов и PII встроено в шлюз, сторонний движок не нужен | Менеджеры секретов AWS KMS / Vault / CyberArk; guardrails PII Presidio; наблюдаемость Langfuse / Langsmith / Arize |

Проверено по официальной документации каждого продукта по состоянию на 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
- Белый список сопоставляется по значению, а не по пути: одобрение тестового ключа не освобождает незаметно целое поле
### Тела логов: сохраняются как получены, редактируются на каждом выходе
Сохранение логов запросов в поставляемом образе выключено. Включите его — и тела сохраняются как получены, а затем редактируются на каждой исходящей поверхности: Console API редактирует по умолчанию, вывод SSE и терминала редактируется всегда, а сбой редактирования закрывает ответ, вместо того чтобы пропустить данные через него.
- Показ необработанного содержимого — явное действие: роль администратора плюс явный флаг раскрытия, с аудитом и подсчётом
- Редактирование охватывает чувствительные ключи тела, чувствительные параметры запроса и URL, заголовки статических и пользовательских схем аутентификации, а также значения bearer-токенов с частичным раскрытием
- Находка хранит замаскированный фрагмент с ограниченным окружающим контекстом, но никогда — совпавший текст; находки живут в том же окне хранения логов, по умолчанию 7 дней
Выключено по умолчанию — намеренно
Встроенный набор правил поставляется отключённым, и действие каждого встроенного правила — log. Это безопасный поэтапный запуск, а не пробел: посмотрите, что произошло бы на вашем реальном трафике, настройте белый список под свои ложные срабатывания, затем включите mask или block там, где это важно. Политика ограничивается глобально, группой ключей доступа или отдельным ключом доступа, а правила перезагружаются на лету.
#### log
Наблюдение. Находки попадают в консоль с замаскированными фрагментами; сам запрос не изменяется.
#### mask
Принудительное применение с обратимостью. Upstream видит заполнители; ваш клиент по-прежнему получает реальное значение.
#### block
Отказ. Запрос отклоняется с категорией правила и 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.
- GDPR
- CCPA
- DPA
- SSO
- SCIM
- Журнал аудита
### Счёт, который не выйдет из-под контроля
BYOK: платите провайдерам по стандартным тарифам — без наценки на токены и без платы за место. Жёсткие квоты для каждого ключа и проекта не дают runaway-скрипту выйти за пределы бюджета.
- Без наценки на токены
- Плата за место: 0
- Кеш промптов
- Жёсткие квоты
- Возврат в течение 30 дней
### Ваши промпты никогда не попадают к нам
Полностью self-hosted — ваши промпты и ответы вообще не попадают в наши системы. Ключи BYOK живут только в памяти шлюза; запросы идут напрямую к API провайдеров, не покидая вашу сеть.
- Данные остаются на вашей инфраструктуре
- Ключи не сохраняются
- TLS 1.3
- Допуск клиентов
- Самостоятельный выбор моделей

## Полностью self-hosted · Один экземпляр 2 ГБ · Без наценки на токены
BYOK (bring your own keys) — вы платите провайдерам по стандартным тарифам. Мы лицензируем один экземпляр на 2 ГБ, никогда — по местам или с наценкой на токены. Больший объём памяти или несколько экземпляров — через Enterprise.
Ядро написано на Rust. На уровне пересылки шлюза каждый 1 ГБ памяти обеспечивает примерно 100 млн токенов в минуту (TPM) и ~500 запросов в минуту (RPM), что с запасом обслуживает ~100 типичных пользователей. Это справочные значения: фактическая пропускная способность ограничена лимитами ваших провайдеров и сложностью запросов и не является обязательством по SLA.
Включено во все тарифы: BYOK без наценки на токены · маршрутизация к 100+ провайдерам · контроль доступа клиентов · кеширование промптов · квоты стоимости
### Free
$0
Полностью self-hosted · Одна лицензия
Один экземпляр 512 МБ, без хранения логов — подходит для оценки и POC, но не для продакшн-трафика.
- Маршрутизация к 100+ LLM · Fallback · Балансировка нагрузки
- Смешивание моделей разных производителей · понижение уровня в агенте (планирование закреплено / вне плана — автоматическое понижение)
- Контроль доступа клиентов (политика User-Agent)
- Кеширование промптов
- BYOK (свои ключи, без наценки)
- Лимит памяти 512 МБ · SQLite · один экземпляр
- Код-ревью в GitHub Actions через ваш собственный шлюз
- Без хранения логов
### Pro
$400
Фиксированный лимит 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 (программное управление ключами · квотами · запросами расхода · экспортом аудита)
Нужно больше ёмкости или особая конфигурация?
## Сравнение возможностей

| Возможность | Free | Pro | Enterprise |
| --- | --- | --- | --- |
| Мультимодельная маршрутизация · 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-шлюз?

SaaS-шлюз добавляет лишний переход за пределы вашей сети. GateLLM размещён self-hosted внутри вашего VPC; дополнительный переход к API производителя — это локальное межпроцессное взаимодействие: накладные расходы менее миллисекунды, влияние на время до первого токена при потоковой передаче пренебрежимо.
### Что произойдёт, если провайдер откажет или упрётся в лимит частоты?

Прямая работа с одним провайдером — единая точка отказа. GateLLM поддерживает fallback между провайдерами: когда основной возвращает 5xx или истекает таймаут, трафик переключается на резервного провайдера без изменений кода. Кроме того, шлюз объединяет несколько ключей на один upstream: детерминированный хеш липко закрепляет каждого вызывающего за одним ключом, а при отказе ключа шлюз повторяет запрос следующим непробованным ключом.
### Мне вообще нужен шлюз?

Честный критерий: один провайдер, одна команда, нет требований соответствия, управляемые месячные расходы — вызывайте API напрямую, шлюз вам не нужен. Шлюз начинает окупаться, когда нужны отказоустойчивость между провайдерами, атрибуция затрат по командам, соответствие требованиям / локальность данных или видимость выходящих из-под контроля расходов в реальном времени.
### Как GateLLM зарабатывает в режиме BYOK?

Мы лицензируем один экземпляр с 2 ГБ памяти (Pro $400/мес, при годовой оплате скидка 20% — $3 840/год), без наценки на токены и без платы за место. Вы платите провайдерам по стандартным тарифам, GateLLM не берёт посредническую долю.
### Покинут ли мои API-ключи и данные мою сеть?

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

С SaaS-агрегатором остаётся только верить его слову. GateLLM работает по BYOK и self-hosted: вы используете собственные ключи, и запросы идут от вашего шлюза напрямую к API-эндпоинту производителя — идентичность модели гарантирует сам API производителя, заменяемого звена между ними нет.

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

## Связанные страницы
- [Тарифы](https://www.gatellm.io/ru/pricing.md)
- [Калькулятор стоимости LLM](https://www.gatellm.io/ru/calculator.md)
- [О нас](https://www.gatellm.io/ru/about.md)
- [Заказать демо](https://www.gatellm.io/ru/demo.md)
- [FAQ](https://www.gatellm.io/ru/faq.md)
- [Сравнить AI-шлюзы](https://www.gatellm.io/ru/compare.md)
- [Сравнить LiteLLM](https://www.gatellm.io/ru/compare/litellm.md)
- [Сравнить OpenRouter](https://www.gatellm.io/ru/compare/openrouter.md)
- [Сравнить Alibaba Cloud AI Gateway](https://www.gatellm.io/ru/compare/alibaba-cloud.md)
- [Сравнить Azure API Management](https://www.gatellm.io/ru/compare/azure-apim.md)
- [Сравнить Apigee](https://www.gatellm.io/ru/compare/apigee.md)
- [Сравнить Cloudflare AI Gateway](https://www.gatellm.io/ru/compare/cloudflare.md)
- [Сравнить Kong AI Gateway](https://www.gatellm.io/ru/compare/kong.md)
- [Сравнить Portkey](https://www.gatellm.io/ru/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/ru/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/ru/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/ru/compare/litellm-vs-portkey.md)
- [Сценарии использования](https://www.gatellm.io/ru/use-cases.md)
- [Снижение затрат на LLM](https://www.gatellm.io/ru/use-cases/reduce-cost.md)
- [Высокая доступность](https://www.gatellm.io/ru/use-cases/high-availability.md)
- [Мультитенантная изоляция](https://www.gatellm.io/ru/use-cases/multi-tenant.md)
- [Комплаенс и аудит](https://www.gatellm.io/ru/use-cases/compliance-audit.md)
- [Диагностика по симптомам](https://www.gatellm.io/ru/use-cases/troubleshooting.md)
- [Смешанный стек моделей от разных поставщиков](https://www.gatellm.io/ru/use-cases/mixed-model-stack.md)
- [ИИ в собственном контуре внутри Office](https://www.gatellm.io/ru/use-cases/self-hosted-office-ai.md)
- [Видимость и атрибуция использования токенов](https://www.gatellm.io/ru/use-cases/token-ops.md)
- [Token FinOps: распределение и контроль затрат на ИИ](https://www.gatellm.io/ru/use-cases/token-finops.md)
- [Управление инструментами MCP](https://www.gatellm.io/ru/use-cases/mcp-tool-governance.md)
- [Веб-поиск для всех моделей](https://www.gatellm.io/ru/use-cases/web-search-grounding.md)
- [Ротация и резерв нескольких ключей](https://www.gatellm.io/ru/use-cases/multi-key-pooling.md)
- [Контроль доступа подключённых клиентов](https://www.gatellm.io/ru/use-cases/client-admission-control.md)
- [Принудительная политика использования моделей](https://www.gatellm.io/ru/use-cases/enforce-model-policy.md)
- [Без выбора модели на клиенте](https://www.gatellm.io/ru/use-cases/automatic-model-tiering.md)
- [Один протокол — любая модель](https://www.gatellm.io/ru/use-cases/one-protocol-any-model.md)
- [Надстройка Office / Microsoft 365](https://www.gatellm.io/ru/office-addin.md)
- [Глоссарий](https://www.gatellm.io/ru/glossary.md)
- [Каталог моделей](https://www.gatellm.io/ru/models.md)
- [Интеграции SDK и фреймворков](https://www.gatellm.io/ru/integrations.md)
- [ИИ-агенты для кодирования и harness](https://www.gatellm.io/ru/coding-agents.md)
- [Безопасность и комплаенс](https://www.gatellm.io/ru/security.md)
