Ограничение использования маркера API для крупной языковой модели
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Standard v2 | Премия
Политика llm-token-limit
предотвращает пики использования API больших языковых моделей (LLM) на основе ключа путем ограничения потребления маркеров LLM до указанного числа в минуту. При превышении использования маркера вызывающий объект получает 429 Too Many Requests
код состояния ответа.
Используя метрики использования маркеров, возвращаемые из конечной точки LLM, политика может точно отслеживать и применять ограничения в режиме реального времени. Политика также включает предварительное вычисление маркеров запроса с помощью Управление API, минимизируя ненужные запросы к серверной части LLM, если ограничение уже превышено.
Примечание.
В настоящее время эта политика находится в предварительной версии.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
Поддерживаемые модели
Используйте политику с API LLM, добавленными в Azure Управление API, которые доступны через API вывода модели ИИ Azure.
Правило политики
<llm-token-limit counter-key="key value"
tokens-per-minute="number"
estimate-prompt-tokens="true | false"
retry-after-header-name="custom header name, replaces default 'Retry-After'"
retry-after-variable-name="policy expression variable name"
remaining-tokens-header-name="header name"
remaining-tokens-variable-name="policy expression variable name"
tokens-consumed-header-name="header name"
tokens-consumed-variable-name="policy expression variable name" />
Атрибуты
Атрибут | Description | Обязательное поле | По умолчанию. |
---|---|---|---|
counter-key | Ключ, используемый для политики ограничения маркеров. Для каждого значения ключа используется один счетчик для всех областей, для которых настроена политика. Допустимы выражения политики. | Да | Н/П |
токены в минуту | Максимальное количество маркеров, потребляемых запросом и завершением в минуту. | Да | Н/П |
estimate-prompt-token | Логическое значение, определяющее, следует ли оценить количество маркеров, необходимых для запроса: - true : оцените количество токенов на основе схемы запроса в API; может снизить производительность. - false : не оцените маркеры запроса. Если задано значение false , остальные маркеры counter-key вычисляются с помощью фактического использования маркеров из ответа модели. Это может привести к отправке запросов в модель, превышающую ограничение маркера. В таком случае это будет обнаружено в ответе, и все успешные запросы будут заблокированы политикой до тех пор, пока ограничение маркера не будет освобождено снова. |
Да | Н/П |
retry-after-header-name | Имя пользовательского заголовка ответа, значение которого является рекомендуемой интервалом повтора в секундах после превышения указанного tokens-per-minute значения. Выражения политики не допускаются. |
No | Retry-After |
retry-after-variable-name | Имя переменной, которая сохраняет рекомендуемый интервал повторных попыток в секундах после превышения указанного tokens-per-minute значения. Выражения политики не допускаются. |
No | Н/П |
остальные токены-заголовок-name | Имя заголовка ответа, значение которого после каждого выполнения политики — это количество оставшихся маркеров, разрешенных для интервала времени. Выражения политики не допускаются. | No | Н/П |
остальные токены-переменные-name | Имя переменной, которая после каждого выполнения политики сохраняет количество оставшихся маркеров, разрешенных для интервала времени. Выражения политики не допускаются. | No | Н/П |
token-consumed-header-name | Имя заголовка ответа, значение которого — количество маркеров, потребляемых как запросом, так и завершением. Заголовок добавляется в ответ только после получения ответа от серверной части. Выражения политики не допускаются. | No | Н/П |
token-consumed-variable-name | Имя переменной, инициализированной с предполагаемым количеством маркеров в запросе в разделе конвейера, backend если estimate-prompt-tokens значение равно true нулю. Переменная обновляется с указанным числом при получении ответа в outbound разделе. |
No | Н/П |
Использование
- Разделы политики: inbound.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, локальная, рабочая область
Примечания об использовании
- Эту политику можно использовать несколько раз для определения политики.
estimate-prompt-tokens
Если задано значениеfalse
, значения в разделе использования ответа от API LLM используются для определения использования маркеров.- Некоторые конечные точки LLM поддерживают потоковую передачу ответов. Если
stream
задано значениеtrue
в запросе API для включения потоковой передачи, маркеры запроса всегда оцениваются независимо от значения атрибутаestimate-prompt-tokens
. - Управление API использует один счетчик для каждого
counter-key
значения, указанного в политике. Счетчик обновляется во всех областях, в которых политика настроена с этим значением ключа. Если вы хотите настроить отдельные счетчики в разных областях (например, определенный API или продукт), укажите разные значения ключей в разных областях. Например, добавьте строку, которая определяет область к значению выражения.
Пример
В следующем примере ограничение маркера в 5000 в минуту определяется IP-адресом вызывающего объекта. Политика не оценивает количество маркеров, необходимых для запроса. После каждого выполнения политики остальные маркеры, разрешенные для этого ВЫЗЫВАющего IP-адреса в период времени, хранятся в переменной remainingTokens
.
<policies>
<inbound>
<base />
<llm-token-limit
counter-key="@(context.Request.IpAddress)"
tokens-per-minute="5000" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Связанные политики
- Ограничение скорости и квоты
- политика azure-openai-token-limit
- политика метрики llm-emit-token-metric
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Создание политик с помощью Microsoft Copilot в Azure