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:
- Le robot m'a frappé.
- 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é) :
Utilisez les boutons pour régler chaque paramètre:
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.