Модели и цены

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

Управление провайдерами

Entity Enricher поддерживает широкий спектр провайдеров LLM. Каждый провайдер может иметь несколько моделей с индивидуальной ценой, возможностями и конфигурацией.

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

Поддерживаемые провайдеры

AnthropicOpenAIGoogleGoogle VertexMistralDeepSeekGroqTogether AIFireworks AICoherexAIMoonshotZ.AINVIDIA NIMOllamaAzure OpenAI

Типы провайдеров

СтандартныйБольшинство провайдеров (Anthropic, OpenAI, Mistral и т. д.) используют стандартные API-эндпоинты с аутентификацией по bearer-токену. Стандартный провайдер также может указывать на пользовательский OpenAI-совместимый эндпоинт — см. «Пользовательские и корпоративные эндпоинты» ниже.
AzureAzure OpenAI использует пользовательские конечные точки развёртывания с настройкой версии API.
OllamaЛокально развёрнутые экземпляры Ollama с настраиваемыми URL-адресами эндпоинтов и автоматическим обнаружением моделей.

Пользовательские и корпоративные конечные точки

Многие команды направляют трафик LLM через корпоративный ИИ-шлюз, региональную конечную точку или провайдера, который не встроен, — например, корпоративный прокси LiteLLM, Cloudflare AI Gateway или Alibaba DashScope (для моделей Qwen). Вы добавляете их как отдельного провайдера Standard (OpenAI-compatible) с пользовательским базовым URL.

Добавление провайдера-шлюза

  1. Создайте провайдера с именем, которое не совпадает ни с одним из встроенных (например, acme-openai-gw). Встроенные имена, такие как openai или anthropic, зарезервированы.
  2. Выберите тип Standard (OpenAI-compatible) и заполните Пользовательский эндпоинт API (базовый URL) — например, https://gateway.example.com/v1. Это поле обязательно для любого провайдера, для которого в Entity Enricher нет встроенного клиента.
  3. Добавьте ключ шлюза как ключ организации для этого провайдера (API Keys → AI Provider Keys), чтобы оплата и ротация выполнялись на уровне организации.
  4. Добавьте модели, которые обслуживает шлюз. Идентификатор модели отправляется дословно, поэтому он должен точно совпадать с тем, что ожидает шлюз.

Полезно знать

  • Встроенные провайдеры скрывают поле endpoint. Anthropic, OpenAI, Mistral и другие распознанные провайдеры уже знают свой endpoint, поэтому настраивать нечего. Если пользовательский провайдер позже станет встроенным, его сохранённый endpoint останется видимым, чтобы вы могли его очистить.
  • Только публичный HTTPS. Конечные точки должны быть публичными URL-адресами https://. Loopback и частные диапазоны (localhost, 10.x, 192.168.x) отклоняются для предотвращения SSRF — сервер с собственным размещением должен быть доступен через интернет. Для локального Ollama используйте специальный туннель Ollama.
  • Формат обмена, совместимый с OpenAI. Запросы к пользовательскому провайдеру маршрутизируются через OpenAI-совместимый API, поэтому конечная точка должна поддерживать протокол OpenAI /v1 (chat completions, /models).
  • Проверка подключения обращается к {endpoint}/models, чтобы проверить ключ и базовый URL перед запуском обогащения.

Бюджеты лимитов и параллелизм (по ключу)

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

  • Считывается у провайдера. Mistral, OpenAI, Azure, Groq, xAI, Anthropic и Cohere сообщают лимиты ключа в каждом ответе: первый вызов модели узнаёт их, а последующие вызовы их соблюдают.
  • Определяется опытным путём, если провайдер молчит. Google, DeepSeek, Moonshot, Z.AI, Together и Alibaba не сообщают ничего: после отказа система выводит бюджет в 80% от отправленного за последнюю минуту, а затем медленно его наращивает. Владельцы также могут задать правило вручную на странице «Ключи API».
  • Ограничения — на каждый ключ и модель. У каждого ключа организации и у общего глобального ключа есть свои бюджеты, отдельно для каждой модели: на Mistral один и тот же ключ может допускать 15 запросов в минуту на одной модели и 1000 — на другой.
  • Параллелизм подстраивается. Число одновременно выполняемых вызовов выводится из этого бюджета и наблюдаемой задержки. Настройка провайдера Максимум одновременных вызовов на ключ нужна только для целей, которые никогда не отвечают 429, но захлёбываются от параллельных вызовов, — например, для Ollama на ноутбуке.
  • Видно по каждому ключу. Действие Лимиты запросов у ключа показывает его правила, источник каждого из них и текущее потребление за минуту. Проверка возможностей также записывает заявленные провайдером лимиты в столбцы TPM и RPM таблицы моделей.

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

Возможности модели

Каждая model отслеживает свои возможности, которые отображаются в виде значков в селекторе model:

ВозможностьОписание
ЗрениеМожет обрабатывать изображения и визуальные данные
Вызовы инструментовПоддерживает вызов функций / использование инструментов
АудиовходМожет обрабатывать аудиоданные
Ввод PDFМожет обрабатывать документы PDF
Кэширование промптовПоддерживает кэширование промптов для снижения затрат
РассуждениеВозможности расширенного мышления / цепочки рассуждений
ЭмбеддингиПревращает текст в вектор вместо ответа — именно этим разрешаются семантические ID. Модели эмбеддингов образуют отдельное семейство со своим размером вектора и никогда не появляются в выборе модели для обогащения

Как доверить выбор модели платформе

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

1. Закреплённая модель по умолчанию вашей организации

Владельцы могут закрепить предпочитаемую модель для каждой задачи в разделе Настройки → Организация → Выбор модели. Если она задана для текущей задачи, приоритет остаётся за ней.

2. Иначе — лучшая по измерениям модель

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

3. С отбором по требованиям задачи

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

  1. 1Качество, скорость и стоимость по оценкам ваших собственных бенчмарков
  2. 2Оставьте «Авто» или закрепите одну модель для этой задачи
  3. 3Для каждой задачи показано, во что сейчас разворачивается «Авто», и её оценка
Веса задаются для каждой задачи, поэтому генерация схемы может делать ставку на качество, а обогащение — на стоимость. Модель, у которой вместо оценок стоят прочерки, здесь ни разу не измерялась, и Auto её никогда не выбирает.

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

Автоматическая синхронизация цен

Системный администратор

Поддерживайте актуальность цен на модели, синхронизируя их из внешних реестров. Процесс синхронизации автоматически обнаруживает новые модели, изменения цен и удалённые модели.

Реестр LiteLLM

Источник цен по умолчанию. Загружает данные из поддерживаемого сообществом реестра LiteLLM на GitHub с реальными именами моделей API, ценами, длинами контекста и возможностями.

Охватывает ~30 провайдеров. Не включает отображаемые имена, бенчмарки и скорость генерации.

PricePerToken

Альтернативный источник с pricepertoken.com. Включает отображаемые имена, бенчмарки (оценки по программированию и математике) и скорость генерации (токенов в секунду).

Охватывает ~20 провайдеров. Предоставляет более подробные метаданные, чем LiteLLM.

Z.AI

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

Заменяет записи Z.AI, ранее импортированные из LiteLLM и PricePerToken.

Процесс синхронизации

  1. Предпросмотр (dry-run) — Посмотрите, что изменится, перед применением. Просмотр новых моделей, обновлений цен и деактиваций.
  2. Сопоставление в рамках источника — Каждый источник влияет только на модели из этого источника. Ручные модели никогда не затрагиваются.
  3. Стабильные ключи синхронизации — Модели сопоставляются по стабильному идентификатору, а не по имени. Вы можете переименовывать модели, не нарушая синхронизацию.
  4. Транзакционное применение — Все изменения применяются в рамках одной транзакции базы данных для обеспечения согласованности.
  5. Автосоздание провайдера — Если синхронизированная модель принадлежит неизвестному провайдеру, провайдер создаётся автоматически.

Проверки работоспособности модели

Заблаговременно проверяйте доступность моделей, запуская минимальный prompt проверки работоспособности. Это позволяет выявлять неработающие модели до того, как пользователи столкнутся с ошибками во время enrichment.

ПройденМодель успешно отвечает. Если ранее она была автоматически деактивирована, она снова активируется.
Не найденоМодель возвращает ошибку «не найдено». Она автоматически деактивируется, чтобы предотвратить будущие сбои.
Другая ошибкаОшибки аутентификации, тайм-ауты и превышения лимитов запросов регистрируются, но не приводят к деактивации.

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

Автодеактивация

Когда вызов обогащения завершается ошибкой «model not found», модель автоматически деактивируется, чтобы предотвратить повторные сбои. Это происходит в реальном времени во время обычных операций обогащения.

Причина деактивацииКем заданоАвтоматически реактивировано?
Модель не найденаОшибки обогащения, проверки работоспособности или проверка возможностей, на которую не отвечает ни один маршрутДа (через синхронизацию цен или валидацию)
Нет структурированного выводаПроверка возможностей: ни инструментального, ни встроенного канала ни на одном доступном маршрутеДа, только по результатам последующей проверки возможностей
Удалено при синхронизацииСинхронизация тарифов (model исчезла)Да (если модель снова появляется в реестре)
ВручнуюПереключатель администратора в интерфейсеНет (только ручная повторная активация)

Используйте собственный ключ (BYOK)

Организации могут настроить собственные API-ключи LLM-провайдеров для независимого биллинга и учёта использования. Система использует двухуровневое разрешение ключей с выбором по принципу LRU:

1-й
Пул ключей организации

Ключи для каждой организации, настраиваемые на странице API-ключей. Поддерживает несколько ключей на провайдера с ротацией LRU. Зашифровано с помощью Fernet.

2-й
Пул глобальных ключей

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

Каждое обогащение фиксирует, какой ключ был использован, поэтому вы можете отслеживать расходы по каждому ключу. Ключи поддерживают проверку работоспособности и счётчики использования. В пуле следующим выбирается включённый ключ с самой давней отметкой последнего использования; ключ выходит из ротации только тогда, когда вы отключаете его вручную, поэтому ошибка провайдера никогда не выводит ключ из работы незаметно. О том, как управлять ключами, читайте в руководстве API Keys.

Импорт и экспорт

Экспортируйте всю конфигурацию провайдеров и моделей в формате JSON для резервного копирования или переноса на другой экземпляр. Импорт всегда выполняется как upsert: существующие провайдеры и модели сопоставляются по имени и обновляются на месте, а новые добавляются — ничего не удаляется.

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

Публичный каталог моделей

Страница моделей открывает глобальный каталог для всех: цены вендоров, измеренные возможности и оценки, полученные каждой моделью в сценариях бенчмарка, которые опубликованы как глобальные источники оценок. Она читает два статических файла JSON, которые перезаписывает ночное обновление моделей и которые вы можете скачать и использовать повторно. Модель, которую провайдер больше не обслуживает (деактивированная как «model not found»), не показывается; все остальные модели каталога перечислены.

Файлы

  • /data/models.json — таблица: по одной записи на провайдера × модель, со справочниками провайдеров, сценариев и характеристик.
  • /data/benchmarks.json — все результаты публичных бенчмарков, сгруппированные по ключу модели.

Оба файла отдаются с ETag и часовым публичным кэшем, со сжатием gzip, если клиент его поддерживает. Поле version увеличивается при любом изменении, к которому потребителю придётся адаптироваться.

Поля models.json

generated_at, counts, default_weightsКогда был записан файл, сколько в нём моделей, провайдеров и сценариев и в какой пропорции (в процентах) качество / скорость / стоимость формируют каждую общую оценку.
providers[], scenarios[], specs{}Справочные таблицы: модели ссылаются на провайдера и сценарии по индексу; specs — это публичные оценки бенчмарков для весов (intelligence, coding, math и остальные в extra) с ключом по каноническому ключу, поэтому реселлеры одной модели используют их совместно.
models[].key, model, display_name, canonical_keyСоставной ключ, который принимает API (provider::model), исходный id модели, её название и межпровайдерский идентификатор.
models[].pricingПрайсовые цены вендора в USD за миллион токенов: input, output, cache_read, cache_write, cache_write_1h, reasoning_output, а также web_search_per_query с его единицей измерения. Без комиссии тарифного плана.
models[].capabilities[]Действующие флаги: vision, pdf_input, audio_input, audio_output, video_input, tool_calls, tool_choice, response_schema, strict_structured_output, reasoning, reasoning_effort, web_search, prompt_caching, embeddings, requires_streaming. Отсутствующий флаг означает false или отсутствие измерения.
models[].context_length, max_input_tokens, max_output_tokens, deprecation_date, latencyЛимиты, дата вывода модели из эксплуатации у поставщика (если объявлена) и собранные показатели задержки (токенов в секунду, время до первого токена).
models[].enrichment_capable, disabled_tasks[]Есть ли у модели канал структурированного вывода в принципе и задачи, для которых приложение его никогда не предлагает (классификация и арбитраж требуют вызовов инструментов; генерация схемы и примеров подчиняется условию генерации схем).
models[].scores{task}По типу задачи (enrichment, schema_generation, sample_generation): среднее качество, скорость и стоимость по публичным сценариям этой задачи, общая оценка при весах по умолчанию и индексы сценариев. Скорость и стоимость указаны относительно других моделей на том же сценарии.

Как рассчитываются оценки качества, скорости и стоимости, описано в разделе Оценка бенчмарков.

Дальнейшие шаги