Документация Запланировать пилот

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. В панели управления Cloudflare перейдите в раздел Security Настройки страницу.

    Перейдите в Настройки ↗

    Либо перейдите в страница создания пользовательских правил, выберите 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 символов
Формат метки Строчные буквы, цифры и дефисы (-) только

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

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

Важнее всего описать намерение пользователя, а не просто тему.

Действуйте с чётким намерением

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

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

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

Пример: competitors

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

Пример: financial-advice

Качество описание темы Почему
Лучший вариант seeking financial advice Учитывает намерение. Срабатывает на запросы пользователей с просьбой о помощи, игнорирует случайные упоминания финансов
Хорошо 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

Запросите бесплатный пилот

Запланировать пилот