← Документация WAF / detections / ai-security-for-apps
Подсчёт токенов
AI Security for Apps (ранее Firewall for AI) показывает приблизительное количество токенов для каждого входящего промпта LLM. Это позволяет отслеживать размер промптов, ограничивать слишком длинные запросы и контролировать расход токенов на всех ваших конечных точках AI.
Как работает подсчёт токенов
Когда AI Security for Apps обрабатывает запрос к cf-llm конечной точки с этой меткой, вычисляется приблизительное количество токенов для содержимого промпта. Результат доступен в LLM Token count (cf.llm.prompt.token_count) поле, на которое можно ссылаться в выражениях правил и которое можно просматривать в аналитике.
Сценарии использования
Блокировать промпты чрезмерного размера
Задайте жёсткое пороговое значение, чтобы блокировать промпты, которые превышают заданное примерное количество токенов. Это не позволит неожиданно большим входным данным попасть в вашу модель.
-
Когда входящие запросы соответствуют:
Введите следующее выражение в редакторе:
(cf.llm.prompt.token_count gt 4000) -
Действие: Block
Ограничение скорости для больших промптов
Создайте правило ограничения частоты запросов который ограничивает количество больших промптов, которые один клиент может отправить в течение заданного интервала времени. Это помогает предотвратить злоупотребления, когда злоумышленники отправляют чрезмерно длинные промпты, чтобы исчерпать ресурсы модели.
Введите следующее выражение правила в редакторе:
(cf.llm.prompt.token_count gt 2000)
Задайте скорость, например 10 запросов в минуту на IP-адрес, с действием Block или Managed Challenge.
Комбинируйте количество токенов с другими обнаружениями
Нацеливайтесь на большие промпты с признаками prompt injection: это распространённый паттерн, при котором злоумышленники дополняют попытки инъекции длинным контекстом.
Пример выражения правила:
(cf.llm.prompt.token_count gt 3000 and cf.llm.prompt.injection_score lt 50)
Важные замечания
- Только оценка. Количество токенов является приблизительной оценкой. Фактический расход токенов в вашей модели может отличаться в зависимости от ее токенизатора.
- Только входные токены. Количество токенов отражает входящий запрос. Оно не учитывает токены вывода или ответа.
- Только извлечённый промпт. Количество токенов рассчитывается на основе текста запроса, извлеченного из тела запроса. Cloudflare извлекает текст запроса с помощью набора известных путей JSON для основных провайдеров LLM. Если текст запроса извлечь не удается, Cloudflare в качестве запасного варианта использует все тело запроса. В таких случаях количество токенов будет отражать все тело запроса.