Обзор
В этом руководстве описаны настраиваемые параметры безопасности PaLM API, доступные для текстовой службы. На этапе создания прототипа вы можете настроить параметры безопасности по шести измерениям, чтобы быстро оценить, требует ли ваше приложение более или менее ограничительной конфигурации. По умолчанию настройки безопасности блокируют контент со средней и/или высокой вероятностью небезопасного контента по всем шести измерениям. Этот базовый уровень безопасности предназначен для большинства случаев использования, поэтому вам следует настраивать параметры безопасности только в том случае, если это постоянно требуется для вашего приложения.
Защитные фильтры
В дополнение к настраиваемым фильтрам безопасности API PaLM имеет встроенную защиту от основных угроз, таких как контент, который ставит под угрозу безопасность детей. Эти виды вреда всегда блокируются и не могут быть скорректированы.
Регулируемые защитные фильтры охватывают следующие категории:
- уничижительный
- Токсичный
- Сексуальный
- Жестокий
- Медицинский
- Опасный
Эти настройки позволяют вам, разработчику, определить, что подходит для вашего варианта использования. Например, если вы создаете диалог в видеоигре, вы можете счесть приемлемым разрешить больше контента, который оценивается как жестокий или опасный из-за характера игры. Вот несколько других примеров использования, которые могут потребовать некоторой гибкости в этих настройках безопасности:
Вариант использования | Категория |
---|---|
Учебное приложение по борьбе с домогательствами | Уничижительный, сексуальный, токсичный |
Медицинский экзамен, учебный приятель | Медицинский |
Сценарист | Насилие, Сексуальное, Медицинское, Опасное |
Классификатор токсичности | Токсичный, Уничижительный |
Вероятность против серьезности
PaLM API блокирует контент на основе вероятности того, что контент небезопасен, а не его серьезности. Это важно учитывать, поскольку некоторый контент может оказаться небезопасным с низкой вероятностью, хотя тяжесть вреда все равно может быть высокой. Например, сравнивая предложения:
- Робот ударил меня.
- Робот меня порезал.
Предложение 1 может привести к более высокой вероятности опасности, но вы можете считать предложение 2 более строгим с точки зрения насилия.
Учитывая это, каждому разработчику важно тщательно протестировать и рассмотреть, какой соответствующий уровень блокировки необходим для поддержки ключевых вариантов использования при минимизации вреда для конечных пользователей.
Настройки безопасности
Настройки безопасности являются частью запроса, который вы отправляете в текстовую службу. Его можно настроить для каждого запроса к API. В следующей таблице перечислены категории, которые вы можете установить, и описан тип вреда, охватываемый каждой категорией.
Категории | Описания |
---|---|
уничижительный | Негативные или вредные комментарии, направленные против личности и/или защищенных атрибутов. |
Токсичный | Грубый, неуважительный или оскорбительный контент. |
Сексуальный | Содержит ссылки на сексуальные действия или другой непристойный контент. |
Жестокий | Описывает сценарии, изображающие насилие против отдельного человека или группы, или общие описания кровавых событий. |
Опасный | Поощряет, облегчает или поощряет вредные действия. |
Медицинский | Контент, связанный с медицинской тематикой. |
Вы также можете увидеть эти определения в справочнике по API .
В следующей таблице описаны настройки блока, которые вы можете настроить для каждой категории. Например, если вы установите параметр блокировки на «Блокировать несколько» для категории «Уничижительный контент», блокируется все, что с высокой вероятностью является уничижительным содержимым. Но разрешено все, что имеет меньшую вероятность.
Если этот параметр не установлен, по умолчанию используется параметр Блокировать некоторые или Блокировать большинство в зависимости от категории политики.
Порог (Google AI Studio) | Порог (API) | Описание |
---|---|---|
Ничего не блокировать | БЛОК_НОН | Всегда показывать независимо от вероятности небезопасного контента |
Заблокировать несколько | BLOCK_ONLY_HIGH | Блокировать при высокой вероятности небезопасного контента |
Заблокировать некоторые ( по умолчанию для сексуальных, жестоких, опасных и медицинских ) | BLOCK_MEDIUM_AND_ABOVE | Блокировать при средней или высокой вероятности небезопасного контента. |
Блокировать большинство ( по умолчанию для уничижительных и токсичных материалов ) | BLOCK_LOW_AND_ABOVE | Блокировать при низкой, средней или высокой вероятности небезопасного контента. |
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Порог не указан, блокировка с использованием порога по умолчанию. |
Вы можете установить эти настройки для каждого запроса к текстовой службе. Подробности см. в справочнике по API HarmBlockThreshold
.
Обратная связь по безопасности
Если контент был заблокирован, ответ API содержит причину блокировки в поле ContentFilter.reason
. Если причина была связана с безопасностью, то ответ также содержит поле SafetyFeedback
, которое включает настройки безопасности, которые использовались для этого запроса, а также рейтинг безопасности. Рейтинг безопасности включает категорию и вероятность классификации вреда. Контент, который был заблокирован, не возвращается.
Возвращаемая вероятность соответствует уровням достоверности блоков, как показано в следующей таблице:
Вероятность | Описание |
---|---|
НЕЗНАЧИТЕЛЬНО | Контент имеет незначительную вероятность быть небезопасным |
НИЗКИЙ | Контент имеет низкую вероятность оказаться небезопасным. |
СЕРЕДИНА | Содержимое имеет среднюю вероятность быть небезопасным. |
ВЫСОКИЙ | Контент с высокой вероятностью может оказаться небезопасным. |
Например, если контент был заблокирован из-за того, что категория токсичности имеет высокую вероятность, возвращаемый рейтинг безопасности будет иметь категорию, равную TOXICITY
, а вероятность вреда будет установлена на HIGH
.
Настройки безопасности в Google AI Studio
Вы также можете установить эти настройки в Google AI Studio. В настройках «Выполнить» нажмите «Изменить настройки безопасности »:
И используйте ручки для регулировки каждой настройки:
Если контент заблокирован, появится
сообщение «Нет контента» . Чтобы просмотреть более подробную информацию, наведите указатель на надпись «Нет содержимого» и нажмите Безопасность» .Примеры кода
В этом разделе показано, как использовать настройки безопасности в коде с помощью клиентской библиотеки Python.
Пример запроса
Ниже приведен фрагмент кода Python, показывающий, как установить параметры безопасности в вызове GenerateText
. Это устанавливает категории вреда Derogatory
и Violence
на BLOCK_LOW_AND_ABOVE
, что блокирует любой контент, который имеет низкую или более высокую вероятность быть жестоким или уничижительным.
completion = genai.generate_text(
model=model,
prompt=prompt,
safety_settings=[
{
"category": safety_types.HarmCategory.HARM_CATEGORY_DEROGATORY,
"threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
},
{
"category": safety_types.HarmCategory.HARM_CATEGORY_VIOLENCE,
"threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
},
]
)
Пример ответа
Ниже показан фрагмент кода для анализа обратной связи по безопасности из ответа. Обратите внимание, что обратная связь по безопасности будет пустой, если только причиной блокировки не является одно из измерений безопасности.
# First check the content filter reason
for filter in completion.filters:
print(filter["reason"])
# If any of the reason is "safety", then the safety_feedback field will be
# populated
for feedback in completion.safety_feedback:
print(feedback["rating"])
print(feedback["setting"])s
Следующие шаги
- См. справочник по API , чтобы узнать больше о полной версии API.
- Ознакомьтесь с руководством по безопасности , чтобы получить общее представление о соображениях безопасности при разработке с использованием LLM.
- Узнайте больше об оценке вероятности и серьезности от команды Jigsaw.
- Узнайте больше о продуктах, входящих в состав решений по обеспечению безопасности, таких как Perspective API .
- Эти настройки безопасности можно использовать для создания классификатора токсичности. Чтобы начать, посмотрите пример классификации .