I modelli di AI generativa di Google, come Gemini 2.5 Flash, sono progettati per dare la priorità alla sicurezza. Tuttavia, possono comunque generare risposte dannose, soprattutto quando vengono richieste esplicitamente. Per migliorare ulteriormente la sicurezza e ridurre al minimo l'uso improprio, puoi configurare i filtri dei contenuti per bloccare le risposte potenzialmente dannose.
Questa pagina descrive ciascuno dei tipi di filtri per la sicurezza e i contenuti e illustra i concetti chiave relativi alla sicurezza. Per i filtri dei contenuti configurabili, viene mostrato come configurare le soglie di blocco di ogni categoria di danni per controllare la frequenza con cui vengono bloccati prompt e risposte.
I filtri di sicurezza e dei contenuti fungono da barriera, impedendo output dannosi, ma non influenzano direttamente il comportamento del modello. Per saperne di più sulla controllabilità del modello, consulta Istruzioni di sistema per la sicurezza.
Prompt non sicuri
L'API Gemini in Vertex AI fornisce uno dei seguenti codici enum
per spiegare perché un prompt è stato rifiutato:
Enum | Tipo di filtro | Descrizione |
---|---|---|
PROHIBITED_CONTENT |
Filtro di sicurezza non configurabile | Il prompt è stato bloccato perché è stato segnalato per la presenza di contenuti vietati, in genere CSAM. |
BLOCKED_REASON_UNSPECIFIED |
N/D | Il motivo del blocco del prompt non è specificato. |
OTHER |
N/D | Questo enum si riferisce a tutti gli altri motivi di blocco di un prompt. Tieni presente che l'API Gemini in Vertex AI non supporta tutte le lingue. Per un elenco delle lingue supportate, consulta Lingue supportate da Gemini. |
Per scoprire di più, consulta BlockedReason.
Di seguito è riportato un esempio di output dell'API Gemini in Vertex AI quando un prompt viene
bloccato perché contiene PROHIBITED_CONTENT
:
{
"promptFeedback": {
"blockReason": "PROHIBITED_CONTENT"
},
"usageMetadata": {
"promptTokenCount": 7,
"totalTokenCount": 7
}
}
Risposte non sicure
I seguenti filtri possono rilevare e bloccare risposte potenzialmente non sicure:
- Filtri di sicurezza non configurabili, che bloccano il materiale pedopornografico e le informazioni che consentono l'identificazione personale (PII).
- Filtri per i contenuti configurabili, che bloccano i contenuti non sicuri in base a un elenco di categorie di danni e alle soglie di blocco configurate dall'utente. Puoi configurare le soglie di blocco per ciascuno di questi danni in base a ciò che è appropriato per il tuo caso d'uso e la tua attività. Per scoprire di più, vedi Filtri dei contenuti configurabili.
- Filtri delle citazioni, che forniscono citazioni per il materiale di origine. Per scoprire di più, vedi Filtro delle citazioni.
Un LLM genera risposte in unità di testo chiamate token. Un modello smette
di generare token perché raggiunge un punto di interruzione naturale o
perché uno dei filtri blocca la risposta. L'API Gemini in Vertex AI
fornisce uno dei seguenti codici enum
per spiegare perché è stata interrotta la generazione di token:
Enum | Tipo di filtro | Descrizione |
---|---|---|
STOP |
N/D | Questo enum indica che il modello ha raggiunto un punto di interruzione naturale o la sequenza di interruzione fornita. |
MAX_TOKENS |
N/D | La generazione di token è stata interrotta perché il modello ha raggiunto il numero massimo di token specificato nella richiesta. |
SAFETY |
Filtro dei contenuti configurabile | La generazione di token è stata interrotta perché la risposta è stata segnalata per contenuti dannosi. |
RECITATION |
Filtro citazioni | La generazione del token è stata interrotta a causa di una potenziale citazione. |
SPII |
Filtro di sicurezza non configurabile | La generazione del token è stata interrotta perché la risposta è stata segnalata per contenuti contenenti informazioni sensibili che consentono l'identificazione personale (SPII). |
PROHIBITED_CONTENT |
Filtro di sicurezza non configurabile | La generazione di token è stata interrotta perché la risposta è stata segnalata per la presenza di contenuti vietati, in genere CSAM. |
FINISH_REASON_UNSPECIFIED |
N/D | Il motivo del completamento non è specificato. |
OTHER |
N/D | Questo enum si riferisce a tutti gli altri motivi che impediscono la generazione di token. Tieni presente che la generazione di token non è supportata per tutte le lingue. Per un elenco delle lingue supportate, consulta Lingue supportate da Gemini. |
Per saperne di più, vedi FinishReason.
Se un filtro blocca la risposta, il campo Candidate.content
della risposta viene annullato. Non fornisce alcun feedback al modello.
Filtri dei contenuti configurabili
I filtri per i contenuti valutano i contenuti in base a un elenco di danni. Per ogni categoria di danno, i filtri dei contenuti assegnano un punteggio in base alla probabilità che i contenuti siano dannosi e un altro punteggio in base alla gravità dei contenuti dannosi.
I filtri dei contenuti configurabili non hanno il controllo delle versioni indipendente dalle versioni del modello. Google non aggiornerà il filtro dei contenuti configurabile per una versione di un modello rilasciata in precedenza. Tuttavia, potrebbe aggiornare il filtro dei contenuti configurabile per una versione futura di un modello.
Categorie di danni
I filtri per i contenuti valutano i contenuti in base alle seguenti categorie di danni:
Categoria di danno | Definizione |
---|---|
Incitamento all'odio | Commenti negativi o dannosi rivolti all'identità e/o agli attributi protetti. |
Molestie | Commenti minacciosi, intimidatori, prepotenti o illeciti rivolti a un altro individuo. |
Contenuti sessualmente espliciti | Contiene riferimenti ad atti sessuali o ad altri contenuti osceni. |
Contenuti pericolosi | Promuovono o consentono l'accesso a beni, servizi e attività dannosi. |
Confronto tra i punteggi di probabilità e gravità
Il punteggio di sicurezza probabilità riflette la probabilità che una risposta del modello
sia associata al danno in questione. Ha un
punteggio di affidabilità associato compreso tra 0.0
e 1.0
, arrotondato a una cifra decimale.
Il punteggio di confidenza è suddiviso in quattro livelli di confidenza:
NEGLIGIBLE
, LOW
, MEDIUM
e HIGH
.
Il punteggio di gravità riflette l'entità del potenziale danno di una risposta del modello. Ha un punteggio di gravità associato compreso tra
0.0
e 1.0
, arrotondato a una cifra decimale. Il punteggio di gravità è discretizzato
in quattro livelli: NEGLIGIBLE
, LOW
, MEDIUM
e HIGH
.
I contenuti possono avere un punteggio di probabilità basso e un punteggio di gravità alto oppure un punteggio di probabilità alto e un punteggio di gravità basso.
Come configurare i filtri dei contenuti
Puoi utilizzare l'API Gemini in Vertex AI o la console Google Cloud per configurare i filtri dei contenuti.
API Gemini in Vertex AI
L'API Gemini in Vertex AI fornisce due metodi di "blocco dei contenuti dannosi":
- GRAVITÀ: questo metodo utilizza sia i punteggi di probabilità sia quelli di gravità.
- PROBABILITÀ: questo metodo utilizza solo il punteggio di probabilità.
Il metodo predefinito è SEVERITY
. Per i modelli precedenti a gemini-1.5-flash
e
gemini-1.5-pro
, il metodo predefinito è
PROBABILITY
. Per saperne di più, consulta il
riferimento API HarmBlockMethod
.
L'API Gemini in Vertex AI fornisce le seguenti soglie di "blocco dei contenuti dannosi":
BLOCK_LOW_AND_ABOVE
: blocca quando il punteggio di probabilità o il punteggio di gravità èLOW
,MEDIUM
oHIGH
.BLOCK_MEDIUM_AND_ABOVE
: blocco quando il punteggio di probabilità o il punteggio di gravità èMEDIUM
oHIGH
.BLOCK_ONLY_HIGH
: blocca quando il punteggio di probabilità o il punteggio di gravità èHIGH
.HARM_BLOCK_THRESHOLD_UNSPECIFIED
: blocca l'utilizzo della soglia predefinita.OFF
: nessun blocco delle risposte automatiche e nessun metadato restituito. Pergemini-2.5-flash
e i modelli successivi,OFF
è il valore predefinito.BLOCK_NONE
: l'impostazioneBLOCK_NONE
rimuove il blocco delle risposte automatiche. Puoi invece configurare le tue linee guida per i contenuti con i punteggi restituiti. Si tratta di un campo con limitazioni che non è disponibile per tutti gli utenti nelle versioni del modello GA.
Ad esempio, il seguente codice Python mostra come impostare la soglia di blocco
del danno su BLOCK_ONLY_HIGH
per la categoria di contenuti pericolosi:
generative_models.SafetySetting(
category=generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
threshold=generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
),
In questo modo verrà bloccata la maggior parte dei contenuti classificati come pericolosi.
Per saperne di più, consulta il riferimento API HarmBlockThreshold
.
Per esempi end-to-end in Python, Node.js, Java, Go, C# e REST, consulta Esempi di configurazione del filtro dei contenuti.
Google Cloud console
La Google Cloud console ti consente di configurare una soglia per ogni attributo dei contenuti. Il filtro dei contenuti utilizza solo i punteggi di probabilità. Non è disponibile alcuna opzione per utilizzare i punteggi di gravità.
La console Google Cloud fornisce i seguenti valori di soglia:
- Off (impostazione predefinita): nessun blocco delle risposte automatiche.
- Blocco ridotto: blocca quando il punteggio di probabilità è
HIGH
. - Blocca alcuni: blocca quando il punteggio di probabilità è
MEDIUM
oHIGH
. - Blocco esteso: blocca quando il punteggio di probabilità è
LOW
,MEDIUM
oHIGH
.
Ad esempio, se imposti l'impostazione di blocco su Blocca alcuni per la
categoria Contenuti pericolosi, tutto ciò che ha un'alta probabilità di
essere contenuti pericolosi viene bloccato. Qualsiasi valore con una probabilità inferiore è
consentito. La soglia predefinita è Block some
.
Per impostare le soglie, segui questi passaggi:
Nella sezione Vertex AI della Google Cloud console, vai alla pagina Vertex AI Studio.
In Crea un nuovo prompt, fai clic su uno dei pulsanti per aprire la pagina di progettazione del prompt.
Fai clic su Impostazioni di sicurezza.
Si apre la finestra di dialogo Impostazioni di sicurezza.
Per ogni categoria di contenuti dannosi, configura il valore di soglia desiderato.
Fai clic su Salva.
Esempio di output quando una risposta viene bloccata dal filtro dei contenuti configurabile
Di seguito è riportato un esempio di output dell'API Gemini in Vertex AI quando una risposta viene bloccata dal filtro dei contenuti configurabile perché contiene contenuti pericolosi:
{
"candidates": [{
"finishReason": "SAFETY",
"safetyRatings": [{
"category": "HARM_CATEGORY_HATE_SPEECH",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.11027937,
"severity": "HARM_SEVERITY_LOW",
"severityScore": 0.28487435
}, {
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"probability": "HIGH",
"blocked": true,
"probabilityScore": 0.95422274,
"severity": "HARM_SEVERITY_MEDIUM",
"severityScore": 0.43398145
}, {
"category": "HARM_CATEGORY_HARASSMENT",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.11085559,
"severity": "HARM_SEVERITY_NEGLIGIBLE",
"severityScore": 0.19027223
}, {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.22901751,
"severity": "HARM_SEVERITY_NEGLIGIBLE",
"severityScore": 0.09089675
}]
}],
"usageMetadata": {
"promptTokenCount": 38,
"totalTokenCount": 38
}
}
Esempi di configurazione del filtro dei contenuti
Gli esempi seguenti mostrano come configurare il filtro dei contenuti utilizzando l'API Gemini in Vertex AI:
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: La regione in cui elaborare la richiesta. Le opzioni
disponibili includono:
Fai clic per espandere un elenco parziale delle regioni disponibili
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: il tuo ID progetto
- MODEL_ID: l'ID modello del modello multimodale
che vuoi utilizzare, ad esempio
gemini-2.5-flash
. - ROLE:
Il ruolo in una conversazione associato ai contenuti. La specifica di un ruolo è obbligatoria anche nei casi d'uso
a singolo turno.
I valori accettabili includono:
USER
: specifica i contenuti inviati da te.MODEL
: specifica la risposta del modello.
- TEXT: Le istruzioni di testo da includere nel prompt.
- SAFETY_CATEGORY:
La categoria di sicurezza per cui configurare una soglia. I valori accettabili includono:
Fai clic per espandere le categorie di sicurezza
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD:
la soglia per bloccare le risposte che potrebbero appartenere alla categoria di sicurezza specificata in base alla probabilità. I valori accettabili includono:
Fai clic per espandere le soglie di blocco
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(valore predefinito)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
blocca la maggior parte dei contenuti, mentreBLOCK_ONLY_HIGH
blocca la minor parte.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON della richiesta:
{ "contents": { "role": "ROLE", "parts": { "text": "TEXT" } }, "safetySettings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente.
Comando curl di esempio
LOCATION="us-central1"
MODEL_ID="gemini-2.5-flash"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent -d \
$'{
"contents": {
"role": "user",
"parts": { "text": "Hello!" }
},
"safety_settings": [
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_ONLY_HIGH"
}
]
}'
Filtro citazioni
Le funzionalità di codice generativo di Vertex AI sono pensate per produrre contenuti originali. Per progettazione, Gemini limita la probabilità che i contenuti esistenti vengano replicati in dettaglio. Se una funzionalità di Gemini riporta una citazione estesa da una pagina web, Gemini cita la pagina.
A volte gli stessi contenuti possono essere presenti su più pagine web. Gemini tenta di indirizzarti a una fonte molto conosciuta. Nel caso di citazioni di repository di codice, la citazione potrebbe anche fare riferimento a una licenza open source applicabile. Il rispetto di eventuali requisiti di licenza è una tua responsabilità.
Per informazioni sui metadati del filtro delle citazioni, consulta il riferimento API Citazioni.
Filtro per l'integrità civica
Il filtro per l'integrità civica rileva e blocca i prompt che menzionano o riguardano
elezioni politiche e candidati. Questo filtro è disattivato per impostazione predefinita. Per attivarlo, imposta la soglia di blocco per CIVIC_INTEGRITY
su uno dei seguenti valori. Non fa differenza quale valore specifichi.
BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
BLOCK_ONLY_HIGH
Il seguente codice Python mostra come attivare il filtro per l'integrità civica:
generative_models.SafetySetting(
category=generative_models.HarmCategory.CIVIC_INTEGRITY,
threshold=generative_models.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
),
Per maggiori dettagli sul filtro per l'integrità civica, contatta il tuo Google Cloud rappresentante.
Best practice
Sebbene i filtri dei contenuti contribuiscano a prevenire la visualizzazione di contenuti non sicuri, a volte potrebbero bloccare contenuti innocui o non rilevare contenuti dannosi. I modelli avanzati come Gemini 2.5 Flash sono progettati per generare risposte sicure anche senza filtri. Prova diverse impostazioni dei filtri per trovare il giusto equilibrio tra sicurezza e contenuti appropriati.
Passaggi successivi
- Scopri di più sulle istruzioni di sistema per la sicurezza.
- Scopri di più sul monitoraggio degli abusi.
- Scopri di più sull'AI responsabile.
- Scopri come elaborare le risposte bloccate.