Questa guida descrive le impostazioni di sicurezza regolabili disponibili per l'API Gemini. Durante la fase di prototipazione, puoi regolare le impostazioni di sicurezza su quattro dimensioni per valutare rapidamente se la tua applicazione richiede una configurazione più o meno restrittiva. Per impostazione predefinita, le impostazioni di sicurezza bloccano i contenuti (inclusi i messaggi) con una probabilità media o maggiore di essere non sicuri in qualsiasi dimensione. Questa sicurezza di base è progettata per funzionare per la maggior parte dei casi d'uso, quindi dovresti modificare le impostazioni di sicurezza solo se è costantemente necessario per la tua applicazione.
Filtri di sicurezza
Oltre ai filtri di sicurezza regolabili, l'API Gemini dispone di protezioni integrate contro i danni principali, ad esempio i contenuti che mettono in pericolo la sicurezza dei bambini. Questi tipi di danni sono sempre bloccati e non possono essere modificati.
I filtri di sicurezza regolabili coprono le seguenti categorie:
- Molestie
- Incitamento all'odio
- Contenuti sessualmente espliciti
- Categorie pericolose
Queste impostazioni consentono agli sviluppatori di determinare ciò che è appropriato per il tuo caso d'uso. Ad esempio, se stai realizzando i dialoghi per un videogioco, potresti ritenere accettabile consentire la pubblicazione di un numero maggiore di contenuti classificati come pericolosi a causa della natura del gioco. Ecco alcuni altri casi d'uso di esempio che potrebbero richiedere una certa flessibilità in queste impostazioni di sicurezza:
Caso d'uso | Categoria |
---|---|
App di formazione contro le molestie | Incitamento all'odio, contenuti sessualmente espliciti |
Sceneggiatore | Sessualmente esplicita, pericolosa |
Classificatore di tossicità | Molestie, contenuti pericolosi |
Probabilità rispetto alla gravità
L'API Gemini blocca i contenuti in base alla probabilità che i contenuti siano non sicuri e non alla gravità. È un aspetto importante da considerare perché alcuni contenuti possono avere una bassa probabilità di essere non sicuri, anche se la gravità del danno potrebbe essere ancora elevata. Ad esempio, confrontando le seguenti frasi:
- Il robot mi ha dato un pugno.
- Il robot mi ha tagliato fuori.
La frase 1 potrebbe comportare una maggiore probabilità di non essere sicura, ma potresti considerare la frase 2 come una gravità maggiore in termini di violenza.
Pertanto, è importante che ogni sviluppatore esegua con attenzione e verifichi il livello appropriato di blocco necessario per supportare i casi d'uso principali e ridurre al minimo i danni per gli utenti finali.
Impostazioni di sicurezza
Le impostazioni di sicurezza fanno parte della richiesta che invii al servizio generativo. Le impostazioni possono essere regolate per ogni richiesta inviata all'API. La tabella riportata di seguito elenca le categorie che puoi impostare e descrive il tipo di danno insito in ogni categoria.
Categorie | Descriptions |
---|---|
Molestie | Commenti negativi o dannosi che hanno come target l'identità e/o attributi protetti. |
Incitamento all'odio | Contenuti scurrili, irrispettosi o volgari. |
Contenuti sessualmente espliciti | Riferimenti ad atti sessuali o ad altri contenuti osceni. |
Categorie pericolose | Promuovono, favoriscono o incoraggiano azioni dannose. |
Queste definizioni sono disponibili anche nel riferimento API. I modelli Gemini supportano solo HARM_CATEGORY_HARASSMENT
,
HARM_CATEGORY_HATE_SPEECH
, HARM_CATEGORY_SEXUALLY_EXPLICIT
e
HARM_CATEGORY_DANGEROUS_CONTENT
. Le altre categorie sono utilizzate
dai modelli PaLM 2 (legacy).
La tabella seguente descrive le impostazioni dei blocchi che puoi modificare per ogni categoria. Ad esempio, se imposti l'impostazione di blocco su Blocca pochi per la categoria Incitamento all'odio, tutti i contenuti con un'alta probabilità di essere contenuti di incitamento all'odio vengono bloccati. Ma tutto con una probabilità più bassa è consentito.
Se non viene configurato, l'impostazione di blocco predefinita è Blocca alcune per tutte le categorie.
Soglia (Google AI Studio) | Soglia (API) | Descrizione |
---|---|---|
Nessun blocco | BLOCK_NONE | Mostra sempre indipendentemente dalla probabilità di contenuti non sicuri |
Blocco ridotto | BLOCK_ONLY_HIGH | Blocca quando l'alta probabilità di contenuti non sicuri |
Blocco limitato | BLOCK_MEDIUM_AND_ABOVE | Blocca quando la probabilità media o elevata di contenuti non sicuri |
Blocco esteso | BLOCK_LOW_AND_ABOVE | Blocca quando la probabilità di contenuti non sicuri è bassa, media o alta |
HARM_BLOCK_THRESHOLD_UNSPECIFIED | La soglia non è specificata. Blocca utilizzando la soglia predefinita |
Puoi configurare queste impostazioni per ogni richiesta che effettui al servizio generativo.
Per maggiori dettagli, consulta il riferimento API HarmBlockThreshold
.
Feedback sulla sicurezza
generateContent
restituisce GenerateContentResponse
che include un feedback sulla sicurezza.
Il feedback dei prompt è incluso in
promptFeedback
.
Se è impostato promptFeedback.blockReason
, i contenuti della richiesta sono stati bloccati.
Il feedback dei candidati alla risposta è incluso in
finishReason
e
safetyRatings
. Se
i contenuti della risposta sono stati bloccati e il valore finishReason
era SAFETY
, puoi
controllare safetyRatings
per ulteriori dettagli. La valutazione di sicurezza include la
categoria e la probabilità della classificazione del danno. I contenuti bloccati non vengono restituiti.
La probabilità restituita corrisponde ai livelli di confidenza del blocco come mostrato nella seguente tabella:
Probability | Descrizione |
---|---|
NEGLIGIBILE | I contenuti hanno una probabilità trascurabile di non essere sicuri |
BASSO | I contenuti hanno una bassa probabilità di non essere sicuri |
MEDIO | I contenuti hanno una probabilità media di non essere sicuri |
ALTO | È molto probabile che i contenuti non siano sicuri |
Ad esempio, se i contenuti sono stati bloccati perché la categoria delle molestie ha un'alta probabilità, la valutazione di sicurezza restituita avrà una categoria uguale a HARASSMENT
e la probabilità di danno impostata su HIGH
.
Impostazioni di sicurezza in Google AI Studio
Puoi anche regolare le impostazioni di sicurezza in Google AI Studio, ma non puoi disattivarle. Per farlo, nelle Impostazioni di esecuzione, fai clic su Modifica impostazioni di sicurezza:
Inoltre, usa le manopole per regolare ogni impostazione:
Se i contenuti sono bloccati, viene visualizzato il messaggio
Nessun contenuto. Per visualizzare ulteriori dettagli, tieni premuto il puntatore del mouse su Nessun contenuto e fai clic su Sicurezza.Esempi di codice
Questa sezione mostra come utilizzare le impostazioni di sicurezza nel codice mediante la libreria client Python.
Esempio di richiesta
Di seguito è riportato uno snippet di codice Python che mostra come configurare le impostazioni di sicurezza nella chiamata GenerateContent
. Imposta le categorie di danni Harassment
e Hate speech
su BLOCK_LOW_AND_ABOVE
che bloccano tutti i contenuti con una probabilità bassa o maggiore di essere molestie o incitamento all'odio.
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,
}
)
Esempio di risposta
Di seguito è riportato uno snippet di codice per l'analisi del feedback sulla sicurezza della risposta.
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)
Passaggi successivi
- Per saperne di più sull'API completa, consulta il riferimento API.
- Consulta le indicazioni sulla sicurezza per una visione generale delle considerazioni sulla sicurezza durante lo sviluppo con gli LLM.
- Scopri di più sulla valutazione della probabilità rispetto alla gravità dal team Jigsaw
- Scopri di più sui prodotti che contribuiscono alle soluzioni di sicurezza come l'API Perspective.
- Puoi utilizzare queste impostazioni di sicurezza per creare un classificatore di tossicità. Per iniziare, consulta l'esempio di classificazione.