Skip to content

Лучшие практики безопасности

Реализовывайте меры безопасности, такие как модерация и человеческий надзор.

Использование бесплатного API модерации

Модерационный API от OpenAI предоставляется бесплатно и может помочь уменьшить частоту небезопасного контента в ваших ответах. В качестве альтернативы, вы можете разработать собственную систему фильтрации контента, адаптированную под ваш случай использования.

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

Рекомендуем применять методику «красной команды» для вашего приложения, чтобы убедиться, что оно стойкое к атакующим вводам. Тестируйте продукцию на широком диапазоне вводных данных и пользовательских поведений как из репрезентативного набора, так и от тех, кто может пытаться "сломать" приложение. Отклоняется ли оно от темы? Может ли кто-то легко изменить функцию путем встраивания инструкций, например, “игнорируй предыдущие указания и сделай это вместо этого”?

Человеческий фактор в процессе (HITL)

Где это возможно, мы рекомендуем проверки расшифровок человеком до их использования на практике. Это особенно важно в ситуациях с высоким уровнем рискованности и для создания кода. Люди должны быть осведомлены об ограничениях системы и иметь доступ ко всей необходимой информации для проверки результатов (например, если приложение составляет резюме записей, у человека должен быть легкий доступ к оригинальным записям).

Инженерия запросов

“Инженерия запросов” может помочь ограничить тематику и стиль исходящего текста. Это уменьшает вероятность того, что будет сгенерирован нежелательный контент, даже если пользователь попытается его создать. Предоставление модели дополнительного контекста (например, за счет предоставления нескольких высококачественных примеров желаемого поведения до нового ввода) может облегчить направление ответов нейросети в нужное русло.

“Знай своего клиента” (KYC)

Как правило, пользователи должны регистрироваться и входить в систему для доступа к вашему сервису. Привязка этой услуги к существующей учетной записи, например, Gmail, LinkedIn или Facebook может помочь, но может быть неуместной для всех случаев использования. Требование кредитной карты или удостоверения личности снижает риск дальше.

Ограничьте ввод пользователя и количество выходных токенов

Ограничение объема текста, который пользователь может вводить в запрос, помогает избежать встраивания запросов. Ограничение количества выходных токенов снижает вероятность неправильного использования. Сужение диапазонов входов или выходов, особенно извлеченных из надежных источников, уменьшает возможность нежелательного использования в приложении.

Разрешите пользователям сообщать о проблемах

Пользователи должны, как правило, иметь легкодоступный метод для сообщения о ненадежной функциональности или других проблемах с поведением приложения (указанный адрес электронной почты, метод подачи заявок и т.д.). Этот метод следует контролировать человеком и реагировать на него по мере необходимости.

Понимание и сообщение об ограничениях

От ошибок до создания контента с угрозами безопасности, модели языка могут быть неподходящими для всех случаев. Оценивайте API на широком диапазоне потенциальных вводов, чтобы определить случаи, когда возможна потеря точности. Учитывайте, кто ваши пользователи, и какие вводы они будут использовать, и гарантируйте, что их ожидания установлены надлежащим образом.

Безопасность и защищённость важны для нас в OpenAI.

Если в процессе разработки вы замечаете проблемы с безопасностью API или другие проблемы, свяжитесь с нами через нашу программу Coordinated Vulnerability Disclosure.

Идентификаторы конечного пользователя

Отправка идентификаторов конечного пользователя в ваших запросах может помочь OpenAI отслеживать и обнаруживать злоупотребления. Это позволяет OpenAI предоставлять вашей команде конкретную обратную связь в случае выявления нарушений.

Идентификаторы должно быть строкой, уникально идентифицирующей каждого пользователя. Мы рекомендуем хешировать имя пользователя или адрес электронной почты, чтобы избежать передачи идентификационной информации. Если вы предоставляете демонстрацию продукта незарегистрированным пользователям, вы можете отправить идентификатор сессии вместо.

Вы можете включить идентификаторы конечного пользователя в ваши запросы API с помощью параметра user, как показано в примере.

python
# Пример: предоставление идентификатора пользователя
from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[
    {"role": "user", "content": "Это тест"}
  ],
  max_tokens=5,
  user="user_123456"
)
bash
curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
  "model": "gpt-4o-mini",
  "messages": [
    {"role": "user", "content": "Это тест"}
  ],
  "max_tokens": 5,
  "user": "user123456"
}'

Создано при поддержке AITUNNEL