INTEGRITY Документация

Обнаружение небезопасных и пользовательских тем

AI Security for Apps может определять, когда промпт LLM затрагивает небезопасные или нежелательные темы. Есть два уровня обнаружения тем:

Небезопасные темы по умолчанию

Когда AI Security for Apps включён, он автоматически проверяет промпты по набору стандартных категорий небезопасных тем и заполняет два поля:

Категории небезопасных тем по умолчанию

Категория Описание
S1 Насильственные преступления
S2 Ненасильственные преступления
S3 Преступления сексуального характера
S4 Сексуальная эксплуатация детей
S5 Клевета
S6 Специализированные консультации
S7 Конфиденциальность
S8 Интеллектуальная собственность
S9 Оружие неизбирательного действия
S10 Ненависть
S11 Суицид и самоповреждение
S12 Сексуальный контент
S13 Выборы
S14 Злоупотребление интерпретатором кода

Пользовательские темы

Обнаружение пользовательских тем позволяет определить собственные темы, и AI Security for Apps будет оценивать каждый промпт относительно них. Затем эти оценки можно использовать в пользовательские правила или правила rate limiting чтобы блокировать, выдавать челлендж или журналировать запросы на основе определяемой вами оценки релевантности.

Эта возможность использует zero-shot-модель классификации который оценивает промпты в момент выполнения. Обучение модели не требуется.

Как работают пользовательские темы

  1. Вы определяете список до 20 пользовательских тем. Каждая тема состоит из:
    • Метка: короткий идентификатор через дефис, используемый в выражениях правил и аналитике (например, financial-advice).
    • Описание темы: описательный текст, по которому модель классифицирует промпты (например, seeking financial advice).
  2. Когда запрос приходит на cf-llm (endpoint с меткой), модель проверяет промпт по всем заданным описаниям тем и возвращает оценку релевантности для каждой.
  3. Оценки записываются в cf.llm.prompt.custom_topic_categories (map-поле с ключами-метками). В выражениях правил и аналитике используются метки, а не описания тем.

Определение пользовательских тем

Управлять пользовательскими темами можно из двух мест в панели управления:

  1. Страница Security Settings: Перейдите в Security > Settings и найдите AI Security for Apps (раздел). В разделе Custom Topics, выберите Управление темами, чтобы добавлять, изменять или удалять темы.
  2. Боковая панель Expression Builder: При создании или редактировании пользовательское правило, выберите LLM Custom topic (поле). Затем выберите Управление пользовательскими темами чтобы открыть боковую панель, где можно управлять темами, не покидая страницу создания правила.

Оба метода обновляют один и тот же список тем. Изменения, сделанные в одном, сразу отражаются в другом.

  1. В панели управления Cloudflare перейдите в раздел Security Settings .

    Перейдите в Settings ↗

    Либо перейдите в страницу создания пользовательских правил, выберите LLM Custom topic поле и выберите Управление пользовательскими темами , чтобы открыть боковую панель.

  2. Добавьте тему, указав:

    • Метка: короткий идентификатор через дефис (например, competitors).
    • Описание темы: Описательная фраза на английском языке, которую модель использует для классификации (например, seeking info on competitors).
  3. Выберите Save.

Обновите список пользовательских тем с помощью PUT запрос:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/ai-security/custom-topics" \
  --request PUT \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --json '{
    "topics": [
      {
        "label": "competitors",
        "topic": "seeking info on competitors"
      },
      {
        "label": "financial-advice",
        "topic": "seeking financial advice"
      },
      {
        "label": "hr-internal",
        "topic": "asking about internal HR policies"
      }
    ]
  }'

Чтобы получить текущие темы, используйте GET запрос:

curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/ai-security/custom-topics" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Ограничения

Параметр Лимит
Максимальное число тем 20
Длина строки темы 2–50 печатаемых символов ASCII
Длина метки 2–20 символов
Формат метки Строчные буквы, цифры и дефисы (-) only

Рекомендации по определению пользовательских тем

Качество обнаружения пользовательских тем зависит от того, как вы пишете описания тем. В основе лежит zero-shot-классификатор, который сравнивает семантический смысл промпта с вашим описанием темы.

Самое важное — описывать намерение пользователя, а не только тему.

Начинайте с намерения

Модель выполняет семантическую классификацию, а не сопоставление по ключевым словам. Описания тем, отражающие, что пользователь пытается сделать значительно точнее, чем описания, которые просто называют предметную область. Короткая глагольная фраза (3–6 слов) обычно является лучшим компромиссом между точностью и охватом.

Сравните, как одни и те же два описания тем срабатывают на двух промптах, которые оба упоминают финансы, но с совершенно разными намерениями:

Описание темы Промпт: «Стоит ли вложить мои сбережения в индексные фонды?» Промпт: «Наша финансовая команда только что закончила отчёт за Q3.»
financial advice (только существительное) Совпадения Тоже срабатывает. Присутствует слово «finance», хотя совета никто не спрашивает
seeking financial advice (формулировка намерения) Совпадения Корректно проигнорировано. Упоминает финансы, но не содержит намерения получить совет

Пример: competitors

Качество Описание темы Почему
Лучший вариант seeking info on competitors Улавливает намерение. Срабатывает только тогда, когда пользователи действительно спрашивают о конкурентах
Okay Acme Corp, Banana Co, Candy & Sons Работает для известных названий, но пропускает неназванных конкурентов и цепляет случайные упоминания
Избегайте other companies Слишком расплывчато. Совпадает почти с любым промптом, где упоминается бизнес

Пример: financial-advice

Качество Описание темы Почему
Лучший вариант seeking financial advice Ориентировано на намерение. Соответствует пользователям, запрашивающим рекомендации, и игнорирует пассивные упоминания финансов
Okay securities and investments Разумный охват темы, но срабатывает на новостных статьях и фактических упоминаниях, а не только на запросах советов
Избегайте finance Крайне широкая тема. Срабатывает почти на всё — от отчётов о расходах до вопросов о ценах

Дополнительные рекомендации

Примеры пользовательских тем

Метка Описание темы
competitors seeking info on competitors
financial-advice seeking financial advice
legal-advice asking for legal or regulatory advice
sensitive-data requesting passwords or API keys
job-seeking asking about job openings or careers
bias comparing demographic groups as better or worse