Раздел в стадии наполнения. Готовятся описания всех решений.
Обновления версий 0.9.97 - 1.1.16 модуля SenDev: 152-ФЗ Персональные данные не описаны в документации. Информацию уточняйте у разработчика
В течение недели выйдет полная обновленная документация

Лимиты и бюджет в SenDev: AI Core

Страница «Лимиты» позволяет ограничить использование внешних AI-провайдеров. Ограничения проверяются перед отправкой запроса и помогают защититься от неконтролируемого количества вызовов, расхода токенов или превышения заданной стоимости.

Лимиты можно задавать для всего AI Core или сужать до конкретного модуля, сценария и пользователя.

[Скриншот 1: список лимитов и форма добавления ограничения]

Когда нужны лимиты

Настройка особенно полезна, если:

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

Как работают ограничения

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

Это означает, что общие и частные правила работают совместно. Например, можно установить:

  • общий месячный предел на все запросы;
  • дополнительный дневной предел для конкретного сценария;
  • отдельный лимит для конкретного пользователя.

Запрос должен соответствовать всем применимым ограничениям.

Глобальное включение контроля

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

Для рабочего сайта, где лимиты заведены намеренно, убедитесь, что глобальная опция контроля включена.

Список лимитов

В таблице отображаются основные параметры:

  • ID — номер правила;
  • Область — к каким запросам относится ограничение;
  • Период — сутки или месяц;
  • Запросы — предел количества успешных вызовов;
  • Токены — предел потреблённых токенов;
  • Стоимость — допустимая сумма;
  • Активен — участвует ли правило в проверке;
  • Действие — удаление правила.

Поля формы лимита

Модуль

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

Если поле оставить пустым, правило относится ко всем модулям. Такой вариант подходит для общего бюджета AI Core.

Если необходимо контролировать только один продукт, укажите его идентификатор так, как он записывается в журнале AI Core.

Сценарий

Сужает область до конкретного AI-сценария. Если поле пустое, ограничение действует на все сценарии выбранного модуля.

Это удобно, если один сценарий особенно дорогой: например, массовая генерация изображений или длинная обработка документов.

USER_ID

Позволяет назначить правило одному пользователю 1С-Битрикс. Если оставить поле пустым, правило распространяется на всех пользователей в указанной области.

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

Период

Доступны:

  • Сутки — использование считается с начала текущего дня;
  • Месяц — использование считается с начала текущего месяца.

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

Запросов

Максимальное количество успешных запросов за выбранный период. Значение 0 означает отсутствие ограничения по этому показателю.

Например, если указано 100 запросов в сутки, следующий подходящий запрос после достижения лимита будет заблокирован, даже если лимит по стоимости ещё не исчерпан.

Токенов

Максимальный суммарный расход токенов за период. Значение 0 означает, что токены не ограничиваются этим правилом.

Показатель наиболее полезен для текстовых моделей, которые возвращают сведения об использовании токенов.

Стоимость

Максимальная суммарная стоимость запросов за период. Значение 0 означает отсутствие ограничения по стоимости.

Стоимость AI Core рассчитывает по данным журнала и ценам, заданным в профилях моделей. Поэтому это ориентировочный локальный контроль. Если цены в профиле не заполнены или устарели, лимит по стоимости не сможет отражать фактический счёт провайдера точно.

Валюта

Используется вместе с ограничением стоимости. Валюта правила должна соответствовать валюте, в которой AI Core записывает стоимость подходящих запросов.

Если используются провайдеры с разными валютами, лучше создавать отдельные правила, а не пытаться объединить несопоставимые суммы.

Активен

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

Что означает нулевое значение

Ноль означает «без ограничения» по соответствующему показателю.

Например:

  • Запросов = 50, Токенов = 0, Стоимость = 0 — ограничивается только количество запросов;
  • Запросов = 0, Токенов = 500000, Стоимость = 0 — ограничиваются только токены;
  • Запросов = 0, Токенов = 0, Стоимость = 25 — ограничивается только стоимость;
  • все значения 0 — правило практически ничего не ограничивает.

Как AI Core считает использование

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

Из этого следует важное правило: не очищайте журнал без необходимости в середине периода, если по нему должны работать лимиты. Удаление истории может повлиять на локальный расчёт уже использованного объёма.

Примеры настройки

Общий месячный лимит

Оставьте поля «Модуль», «Сценарий» и USER_ID пустыми, выберите «Месяц» и задайте нужный показатель. Такое правило действует на все подходящие запросы AI Core.

Ограничение конкретного модуля

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

Ограничение дорогого сценария

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

Лимит сотрудника

Укажите USER_ID и, при необходимости, модуль. Это ограничит действия конкретного пользователя, не блокируя остальных.

Сочетание общего и частного лимита

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

[Скриншот 2: пример общего лимита и отдельного лимита сценария]

Почему рабочий провайдер может неожиданно перестать отвечать

Если в «Песочнице» или другом модуле запрос блокируется до обращения к провайдеру, проверьте активные правила.

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

Как отличить лимит AI Core от квоты провайдера

  • Лимит AI Core проверяется до внешнего вызова и связан с правилами на этой странице.
  • Квота провайдера контролируется самим внешним сервисом и возвращается как его ошибка.

При сомнении проверьте сообщение в журнале и состояние лимитов.

Удаление правила

Удаление полностью убирает ограничение. Если правило может понадобиться снова, лучше сначала деактивировать его.

После удаления проверьте, нет ли другого более общего или более частного правила, которое продолжает блокировать тот же запрос.

Рекомендации для начала работы

  1. Сначала заполните цены моделей в рабочих профилях, если хотите контролировать стоимость.
  2. Включите глобальный контроль лимитов.
  3. Создайте общий месячный лимит.
  4. Для дорогих сценариев добавьте отдельные дневные ограничения.
  5. Проверьте поведение на тестовом сценарии.
  6. Регулярно сравнивайте локальные расчёты с фактическими данными провайдера.

[Скриншот 3: таблица активных правил с периодами и показателями]

Что важно учитывать

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

Итог

Раздел «Лимиты» позволяет управлять расходом централизованно, независимо от конкретного функционального модуля. Начните с одного понятного общего правила, затем добавляйте частные ограничения только там, где они действительно нужны. Это проще контролировать и легче диагностировать.