Impostazioni di sicurezza

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:

  1. Il robot mi ha dato un pugno.
  2. 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:

Pulsante Impostazioni di sicurezza

Inoltre, usa le manopole per regolare ogni impostazione:

Pulsante Impostazioni di sicurezza

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.