Модерация контента
Модерация контента является критически важным аспектом поддержания безопасной, уважительной и продуктивной среды в цифровых приложениях. В этом руководстве мы обсудим, как Claude можно использовать для модерации контента в вашем цифровом приложении.
Посетите наш сборник рецептов по модерации контента, чтобы увидеть пример реализации модерации контента с использованием Claude.
Перед началом работы с Claude
Решите, стоит ли использовать Claude для модерации контента
Вот несколько ключевых индикаторов того, что вам следует использовать LLM, такую как Claude, вместо традиционного подхода на основе ML или правил для модерации контента:
Создайте примеры контента для модерации
Перед разработкой решения для модерации контента сначала создайте примеры контента, который должен быть помечен, и контента, который не должен быть помечен. Убедитесь, что вы включили пограничные случаи и сложные сценарии, с которыми может быть трудно эффективно справиться системе модерации контента. После этого просмотрите ваши примеры, чтобы создать четко определенный список категорий модерации. Например, примеры, созданные платформой социальных сетей, могут включать следующее:
Эффективная модерация этих примеров требует нюансированного понимания языка. В комментарии Этот фильм был отличным, мне он очень понравился. Главный актер просто убил!
, система модерации контента должна распознать, что “убил” - это метафора, а не указание на реальное насилие. И наоборот, несмотря на отсутствие явных упоминаний о насилии, комментарий Удали этот пост сейчас или тебе лучше спрятаться. Я иду за тобой и твоей семьей.
должен быть помечен системой модерации контента.
Список unsafe_categories
может быть настроен в соответствии с вашими конкретными потребностями. Например, если вы хотите предотвратить создание контента несовершеннолетними на вашем сайте, вы можете добавить “Underage Posting” в список.
Как модерировать контент с помощью Claude
Выберите правильную модель Claude
При выборе модели важно учитывать размер ваших данных. Если затраты вызывают беспокойство, меньшая модель, такая как Claude 3 Haiku, является отличным выбором благодаря своей экономической эффективности. Ниже приведена оценка стоимости модерации текста для платформы социальных сетей, которая получает один миллиард постов в месяц:
-
Размер контента
- Постов в месяц: 1 млрд
- Символов на пост: 100
- Всего символов: 100 млрд
-
Оценка токенов
- Входные токены: 28,6 млрд (предполагая 1 токен на 3,5 символа)
- Процент помеченных сообщений: 3%
- Выходных токенов на помеченное сообщение: 50
- Всего выходных токенов: 1,5 млрд
-
Оценка стоимости Claude 3 Haiku
- Стоимость входных токенов: 2 860 MTok * 715
- Стоимость выходных токенов: 1 500 MTok * 1 875
- Месячная стоимость: 1 875 = $2 590
-
Оценка стоимости Claude 3.5 Sonnet
- Стоимость входных токенов: 2 860 MTok * 8 580
- Стоимость выходных токенов: 1 500 MTok * 22 500
- Месячная стоимость: 22 500 = $31 080
explanation
из ответа.Создайте сильный промпт
Чтобы использовать Claude для модерации контента, Claude должен понимать требования к модерации вашего приложения. Давайте начнем с написания промпта, который позволит вам определить ваши потребности в модерации:
В этом примере функция moderate_message
содержит промпт оценки, который включает небезопасные категории контента и сообщение, которое мы хотим оценить. Промпт просит Claude оценить, должно ли сообщение быть модерировано, на основе определенных нами небезопасных категорий.
Затем оценка модели анализируется, чтоб определить, есть ли нарушение. Если есть нарушение, Claude также возвращает список нарушенных категорий, а также объяснение, почему сообщение небезопасно.
Оцените ваш промпт
Модерация контента - это задача классификации. Таким образом, вы можете использовать те же техники, описанные в нашем сборнике рецептов по классификации, чтобы определить точность вашей системы модерации контента.
Одно дополнительное соображение заключается в том, что вместо того, чтобы рассматривать модерацию контента как задачу бинарной классификации, вы можете создать несколько категорий для представления различных уровней риска. Создание нескольких уровней риска позволяет вам регулировать агрессивность вашей модерации. Например, вы можете автоматически блокировать запросы пользователей, которые считаются высокорисковыми, в то время как пользователи с множеством среднерисковых запросов помечаются для проверки человеком.
Этот код реализует функцию assess_risk_level
, которая использует Claude для оценки уровня риска сообщения. Функция принимает сообщение и список небезопасных категорий в качестве входных данных.
Внутри функции генерируется промпт для Claude, включающий сообщение для оценки, небезопасные категории и конкретные инструкции по оценке уровня риска. Промпт указывает Claude ответить JSON-объектом, который включает уровень риска, нарушенные категории и необязательное объяснение.
Этот подход обеспечивает гибкую модерацию контента путем назначения уровней риска. Он может быть легко интегрирован в более крупную систему для автоматической фильтрации контента или пометки комментариев для проверки человеком на основе оцененного уровня риска. Например, при выполнении этого кода комментарий Удали этот пост сейчас или тебе лучше спрятаться. Я иду за тобой и твоей семьей.
определяется как высокорисковый из-за его опасной угрозы. И наоборот, комментарий Держитесь подальше от сотовых телефонов 5G!! Они используют 5G, чтобы контролировать вас.
категоризируется как среднерисковый.
Разверните ваш промпт
Как только вы уверены в качестве вашего решения, пора развернуть его в продакшн. Вот некоторые лучшие практики, которым следует следовать при использовании модерации контента в продакшне:
-
Предоставляйте четкую обратную связь пользователям: Когда пользовательский ввод блокируется или ответ помечается из-за модерации контента, предоставляйте информативную и конструктивную обратную связь, чтобы помочь пользователям понять, почему их сообщение было помечено и как они могут переформулировать его соответствующим образом. В приведенных выше примерах кода это делается через тег
explanation
в ответе Claude. -
Анализируйте модерируемый контент: Отслеживайте типы контента, помечаемого вашей системой модерации, чтобы выявить тенденции и потенциальные области для улучшения.
-
Постоянно оценивайте и улучшайте: Регулярно оценивайте производительность вашей системы модерации контента, используя такие метрики, как точность и полнота. Используйте эти данные для итеративного улучшения ваших промптов модерации, ключевых слов и критериев оценки.
Улучшите производительность
В сложных сценариях может быть полезно рассмотреть дополнительные стратегии для улучшения производительности помимо стандартных техник инженерии промптов. Вот некоторые продвинутые стратегии:
Определите темы и предоставьте примеры
В дополнение к перечислению небезопасных категорий в промпте, дальнейшие улучшения могут быть достигнуты путем предоставления определений и фраз, связанных с каждой категорией.
Функция moderate_message_with_definitions
расширяет предыдущую функцию moderate_message
, позволяя каждой небезопасной категории быть связанной с подробным определением. Это происходит в коде путем замены списка unsafe_categories
из исходной функции на словарь unsafe_category_definitions
. Этот словарь сопоставляет каждую небезопасную категорию с ее соответствующим определением. И названия категорий, и их определения включены в промпт.
Примечательно, что определение категории Specialized Advice
теперь указывает типы финансовых советов, которые должны быть запрещены. В результате комментарий Сейчас отличное время для инвестиций в золото!
, который ранее прошел оценку moderate_message
, теперь вызывает нарушение.
Рассмотрите пакетную обработку
Чтобы снизить затраты в ситуациях, когда модерация в реальном времени не требуется, рассмотрите возможность модерации сообщений пакетами. Включите несколько сообщений в контекст промпта и попросите Claude оценить, какие сообщения должны быть модерированы.
В этом примере функция batch_moderate_messages
обрабатывает модерацию целого пакета сообщений с одним вызовом API Claude.
Внутри функции создается промпт, который включает список сообщений для оценки, определенные небезопасные категории контента и их описания. Промпт указывает Claude вернуть JSON-объект, перечисляющий все сообщения, которые содержат нарушения. Каждое сообщение в ответе идентифицируется по его id, который соответствует позиции сообщения во входном списке.
Имейте в виду, что поиск оптимального размера пакета для ваших конкретных потребностей может потребовать некоторого экспериментирования. В то время как большие размеры пакетов могут снизить затраты, они также могут привести к небольшому снижению качества. Кроме того, вам может потребоваться увеличить параметр max_tokens
в вызове API Claude, чтобы вместить более длинные ответы. Подробности о максимальном количестве токенов, которое может выводить выбранная вами модель, см. на странице сравнения моделей.