Paramètres de sécurité

Ce guide décrit les paramètres de sécurité ajustables disponibles pour l'API Gemini. Au cours de la phase de prototypage, vous pouvez ajuster les paramètres de sécurité sur quatre dimensions afin de déterminer rapidement si votre application nécessite une configuration plus ou moins restrictive. Par défaut, les paramètres de sécurité bloquent le contenu (y compris les invites) ayant une probabilité moyenne ou plus élevée d'être dangereux dans toutes les dimensions. Cette sécurité de base est conçue pour fonctionner dans la plupart des cas d'utilisation. Vous ne devez donc ajuster vos paramètres de sécurité que si cela est systématiquement requis pour votre application.

Filtres de sécurité

En plus des filtres de sécurité ajustables, l'API Gemini dispose de protections intégrées contre les principaux préjudices, tels que les contenus mettant en danger la sécurité des enfants. Ces types de préjudices sont toujours bloqués et ne peuvent pas être modifiés.

Les filtres de sécurité ajustables couvrent les catégories suivantes:

  • Harcèlement
  • Incitation à la haine
  • Contenus à caractère sexuel explicite
  • Dangereux

Ces paramètres vous permettent, en tant que développeur, de déterminer ce qui convient à votre cas d'utilisation. Par exemple, si vous créez le dialogue d'un jeu vidéo, vous pouvez accepter d'autoriser d'autres contenus considérés comme dangereux en raison de la nature du jeu. Voici d'autres exemples de cas d'utilisation qui peuvent nécessiter une certaine flexibilité dans ces paramètres de sécurité:

Cas d'utilisation Catégorie
Application de formation anti-harcèlement Incitation à la haine, contenu à caractère sexuel explicite
Scénariste Contenu à caractère sexuel explicite, Dangereux
Classificateur de toxicité Harcèlement, dangereux

Probabilité et gravité

L'API Gemini bloque le contenu en fonction de la probabilité qu'il soit non sécurisé et non selon sa gravité. Il est important de tenir compte de cet aspect, car certains contenus peuvent présenter une faible probabilité d'être dangereux, même si la gravité des risques reste élevée. Par exemple, en comparant les phrases:

  1. Le robot m'a frappé.
  2. Le robot m'a tranché.

La première phrase peut augmenter le risque de danger, mais vous pouvez considérer que la phrase 2 présente un niveau de violence plus élevé.

C'est pourquoi il est important que chaque développeur teste soigneusement le niveau de blocage nécessaire pour répondre à ses principaux cas d'utilisation tout en limitant les dommages aux utilisateurs finaux.

Paramètres de sécurité

Les paramètres de sécurité font partie de la requête que vous envoyez au service génératif. Les paramètres peuvent être ajustés pour chaque requête que vous envoyez à l'API. Le tableau suivant répertorie les catégories que vous pouvez définir et décrit le type de préjudice que chaque catégorie englobe.

Categories Descriptions
Harcèlement Commentaires négatifs ou offensants ciblant l'identité et/ou les attributs protégés.
Incitation à la haine Contenu offensant, irrespectueux ou grossier.
Contenus à caractère sexuel explicite Contient des références à des actes sexuels ou à d'autres contenus obscènes.
Dangereux Encourage, facilite ou encourage des actes nuisibles.

Ces définitions figurent également dans la documentation de référence de l'API. Les modèles Gemini ne sont compatibles qu'avec HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT et HARM_CATEGORY_DANGEROUS_CONTENT. Les autres catégories sont utilisées par les modèles PaLM 2 (anciens).

Le tableau suivant décrit les paramètres de blocage que vous pouvez ajuster pour chaque catégorie. Par exemple, si vous définissez le paramètre de blocage sur Bloquer quelques pour la catégorie Incitation à la haine, tous les contenus présentant un risque élevé d'incitation à la haine sont bloqués. Cependant, toute valeur plus faible est autorisée.

Si cette règle n'est pas configurée, le paramètre de blocage par défaut est Bloquer certains pour toutes les catégories.

Seuil (Google AI Studio) Seuil (API) Description
Ne rien bloquer BLOCK_NONE Toujours afficher, quelle que soit la probabilité de présence de contenu non sécurisé
Bloquer quelques éléments BLOCK_ONLY_HIGH Bloquer lorsque la probabilité d'un contenu non sécurisé est élevée
Bloquer certains éléments BLOCK_MEDIUM_AND_ABOVE Bloquer lorsque la probabilité moyenne ou élevée de contenu non sécurisé est présente
Bloquer la plupart des éléments BLOCK_LOW_AND_ABOVE Bloquer si la probabilité de présenter du contenu dangereux est faible, moyenne ou élevée
HARM_BLOCK_THRESHOLD_UNSPECIFIED Le seuil n'est pas spécifié. Le blocage est effectué selon le seuil par défaut.

Vous pouvez définir ces paramètres pour chaque requête adressée au service génératif. Pour en savoir plus, consultez la documentation de référence de l'API HarmBlockThreshold.

Commentaires sur la sécurité

generateContent renvoie un GenerateContentResponse qui inclut des commentaires de sécurité.

Les commentaires sur les invites sont inclus dans promptFeedback. Si promptFeedback.blockReason est défini, le contenu de l'invite a été bloqué.

Les commentaires sur les candidats à la réponse sont inclus dans finishReason et safetyRatings. Si le contenu de la réponse a été bloqué et que la valeur finishReason était SAFETY, vous pouvez inspecter safetyRatings pour en savoir plus. La cote de sécurité inclut la catégorie et la probabilité de la classification des dommages. Le contenu bloqué n'est pas renvoyé.

La probabilité renvoyée correspond aux niveaux de confiance du bloc, comme indiqué dans le tableau suivant:

Probabilité Description
Négligeable Le contenu présente une probabilité négligeable d'être non sécurisé
FAIBLE Le contenu présente peu de risques d'être non sécurisé
MOYENNE Le contenu est susceptible d'être non sécurisé
ÉLEVÉ Le contenu est très susceptible d'être non sécurisé

Par exemple, si le contenu a été bloqué en raison d'une forte probabilité que la catégorie de harcèlement présente une forte probabilité, la catégorie de sécurité renvoyée est égale à HARASSMENT et la probabilité de préjudice est définie sur HIGH.

Paramètres de sécurité dans Google AI Studio

Vous pouvez également ajuster les paramètres de sécurité dans Google AI Studio, mais vous ne pouvez pas les désactiver. Pour ce faire, dans Run settings (Paramètres d'exécution), cliquez sur Edit safety settings (Modifier les paramètres de sécurité) :

Bouton "Paramètres de sécurité"

Utilisez les boutons pour régler chaque paramètre:

Bouton "Paramètres de sécurité"

Le message No Content (Aucun contenu) s'affiche si le contenu est bloqué. Pour en savoir plus, pointez sur Aucun contenu, puis cliquez sur Sécurité .

Exemples de code

Cette section explique comment utiliser les paramètres de sécurité dans le code à l'aide de la bibliothèque cliente Python.

Exemple de requête

Voici un extrait de code Python montrant comment définir les paramètres de sécurité dans votre appel GenerateContent. Les catégories de préjudice Harassment et Hate speech sont alors définies sur BLOCK_LOW_AND_ABOVE, ce qui bloque tout contenu présentant une probabilité faible ou plus élevée d'être du harcèlement ou de l'incitation à la haine.

from google.generativeai.types import HarmCategory, HarmBlockThreshold

model = genai.GenerativeModel(model_name='gemini-pro-vision')
response = model.generate_content(
    ['Do these look store-bought or homemade?', img],
    safety_settings={
        HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    }
)

Exemple de réponse

Vous trouverez ci-dessous un extrait de code permettant d'analyser les commentaires de sécurité de la réponse.

try:
  print(response.text)
except ValueError:
  # If the response doesn't contain text, check if the prompt was blocked.
  print(response.prompt_feedback)
  # Also check the finish reason to see if the response was blocked.
  print(response.candidates[0].finish_reason)
  # If the finish reason was SAFETY, the safety ratings have more details.
  print(response.candidates[0].safety_ratings)

Étapes suivantes

  • Pour en savoir plus sur l'API complète, consultez la documentation de référence de l'API.
  • Consultez les conseils de sécurité pour obtenir un aperçu général des considérations de sécurité lors du développement avec des LLM.
  • En savoir plus sur l'évaluation des probabilités par rapport à la gravité avec l'équipe Jigsaw
  • Apprenez-en plus sur les produits qui contribuent aux solutions de sécurité, tels que l'API Perspective.
  • Vous pouvez utiliser ces paramètres de sécurité pour créer un classificateur de toxicité. Pour commencer, consultez l'exemple de classification.