Model Armor analizza le immagini autonome e quelle incorporate nei documenti RTF supportati nei prompt e nelle risposte per proteggere le tue applicazioni di AI generativa dai rischi incorporati nelle immagini.
Model Armor esamina le immagini utilizzando i seguenti metodi:
- Scansione visiva: analizza i contenuti visivi all'interno delle immagini per individuare oggetti e argomenti sensibili utilizzando il filtro avanzato di Sensitive Data Protection. Per saperne di più, consulta infoType degli oggetti e infoType del contesto dell'immagine.
- Riconoscimento ottico dei caratteri (OCR): estrae il testo dalle immagini e lo confronta con i filtri configurati, tra cui le categorie di sicurezza dell'AI responsabile, il rilevamento di prompt injection e jailbreak, gli URL dannosi e gli infoType di Sensitive Data Protection.
Specifiche e limitazioni
Quando utilizzi Model Armor per filtrare le immagini, tieni presente le seguenti specifiche e limitazioni:
- Formati immagine supportati: Model Armor analizza le immagini autonome nei formati JPEG, PNG e BMP. Inoltre, estrae e analizza le immagini incorporate dai file RTF supportati.
- Limiti di dimensioni: ogni immagine autonoma deve avere dimensioni pari o inferiori a 4 MB. I file RTF devono avere una dimensione totale massima di 4 MB e contenere al massimo 5 immagini incorporate. Il superamento di uno di questi limiti comporta l'interruzione della scansione dell'intero file da parte di Model Armor. Per ulteriori informazioni, consulta Limite di sistema per le dimensioni dei file e Esamina le immagini incorporate nei documenti.
- Prompt autonomi: quando chiami i metodi
SanitizeUserPrompteSanitizeModelResponsecon immagini autonome, Model Armor filtra una singola immagine per richiesta. La scansione di più immagini autonome in una singola richiesta non è supportata. Inoltre, Model Armor non supporta prompt autonomi che combinano testo e immagini in un'unica richiesta. Tuttavia, puoi esaminare documenti in formato RTF contenenti sia testo che immagini attivando entrambe le modalità di testo e immagine. - Anonimizzazione: quando configuri un modello di anonimizzazione di Sensitive Data Protection, Model Armor oscura il testo o le immagini autonome, non entrambi. L'anonimizzazione non è supportata per i documenti RTF quando è selezionata la modalità immagine (
MODALITY_IMAGE). Per ulteriori informazioni, consulta Oscura i dati sensibili nelle immagini autonome e Esamina le immagini incorporate nei documenti. - Streaming: i metodi di streaming di Model Armor supportano solo l'input testuale e non supportano immagini o file.
- Integrazioni supportate: puoi filtrare le immagini chiamando l'API REST di Model Armor direttamente o tramite l'integrazione di Gemini Enterprise. Tutte le altre integrazioni di Model Armor scansionano e sanitizzano solo il testo. Per ulteriori informazioni, consulta Modalità supportate.
- Disponibilità regionale: lo screening delle immagini è supportato solo in specifiche
multi-regioni. Se invii un prompt contenente un'immagine a un endpoint in cui Model Armor non supporta lo screening delle immagini, il campo
invocationResultnella risposta indicaFAILURE. Per un elenco delle località che supportano lo screening delle immagini, consulta Funzionalità supportate per regione.
Calcolo dei token e prezzi per le immagini
Model Armor utilizza un modello di prezzi unificato basato su token in cui i token di immagine vengono fatturati alla stessa tariffa dei token di testo.
Non ti viene addebitato alcun costo quando Model Armor rifiuta o salta un input prima dell'elaborazione del filtro, ad esempio input vuoti o file e immagini che superano le dimensioni dei file o i limiti delle immagini incorporate. Tuttavia, se un input supera la convalida iniziale, ti vengono addebitati i token calcolati anche nei seguenti casi:
- Tutti i rilevatori vengono ignorati: alcuni o tutti i filtri configurati (rilevatori) vengono ignorati e restituiscono
EXECUTION_SKIPPED(ad esempio, quando un payload di immagini entro il limite di 4 MB non può essere analizzato dai rilevatori o quando un filtro viene ignorato per una modalità). - File non immagine con il tipo di dati byte
IMAGE: un file non immagine (ad esempio un documento ZIP, CSV o Microsoft Word) viene inviato conbyteDataTypeimpostato suIMAGE(fino a 4 MB). Model Armor fattura la richiesta utilizzando il calcolo dei token delle immagini autonomo, anche se i filtri restituisconoEXECUTION_SKIPPED.
Model Armor calcola i token per immagini e documenti in base al tipo di input e alle modalità configurate:
Immagini autonome: Model Armor converte ogni immagine elaborata (fino a 4 MB) in token utilizzando un conteggio di base di 5000 token per immagine, più 1000 token per megabyte (MB) di dimensioni dell'immagine. Quando calcola i token basati sulle dimensioni, Model Armor arrotonda le dimensioni dell'immagine al MB intero successivo:
Token per immagine = 5000 + (1000 × dimensione dell'immagine in MB, arrotondata per eccesso al MB intero successivo)
Il testo estratto da un'immagine tramite OCR è incluso nel calcolo dei token dell'immagine e non comporta addebiti separati per i token di testo.
Documenti RTF: il calcolo dei token dipende dalle modalità configurate nel tuo template:
- Modalità testo (
MODALITY_TEXT): Model Armor calcola i token dal testo estratto dal documento (circa 4 caratteri per token). Le immagini incorporate non vengono estratte né fatturate. - Modalità immagine (
MODALITY_IMAGE): Model Armor calcola i token singolarmente per ogni immagine incorporata elaborata utilizzando la formula dei token immagine. Il testo del documento non viene fatturato. - Modalità di testo e immagine (
MODALITY_TEXTeMODALITY_IMAGE): Model Armor calcola il numero totale di token come somma dei token del testo del documento estratto e dei token per ogni immagine incorporata elaborata.
- Modalità testo (
La tabella seguente mostra esempi di come Model Armor calcola i token per le immagini elaborate:
| Dimensioni dell'immagine | Dimensione arrotondata per il calcolo | Calcolo dei token | Token totali |
|---|---|---|---|
| 500 kB | 1 MB | 5000 + (1 × 1000) | 6000 token |
| 1,9 MB | 2 MB | 5000 + (2 × 1000) | 7000 token |
| 4 MB | 4 MB | 5000 + (4 × 1000) | 9000 token |
Prima di iniziare
Prima di esaminare le immagini, completa i seguenti prerequisiti:
Crea o aggiorna un template con la modalità immagine abilitata
Quando crei o aggiorni un template, seleziona la modalità per includere MODALITY_IMAGE (Immagine o Tutto nella console Google Cloud oppure "modalities": ["MODALITY_IMAGE", "MODALITY_TEXT"] in templateMetadata quando utilizzi l'API REST). Se non specifichi una modalità, lasci il campo modalities vuoto o specifichi solo MODALITY_TEXT, Model Armor analizza solo il testo e restituisce EXECUTION_SKIPPED per i filtri che analizzano la modalità saltata.
Ottieni le autorizzazioni richieste
Assicurati di disporre dei ruoli di Identity and Access Management necessari per eseguire la sanitizzazione di prompt e risposte (ad esempio roles/modelarmor.user) e, se utilizzi la modalità avanzata di Sensitive Data Protection tra i progetti, concedi i ruoli DLP necessari all'agente di servizio Model Armor. Per le istruzioni, consulta
Ottieni le autorizzazioni richieste.
Sanifica immagini autonome
Per esaminare un'immagine autonoma in un prompt dell'utente o in una risposta del modello, imposta il campo byteDataType su IMAGE e fornisci l'immagine con codifica base64 in un formato supportato (JPEG, PNG o BMP) nel campo byteData.
Utilizza il seguente comando per eseguire la sanitizzazione di un prompt che contiene un'immagine:
curl -X POST \ -d "$(jq -n \ --arg data "$(base64 -w 0 -i IMAGE)" \ '{userPromptData: {byteItem: {byteDataType: "IMAGE", byteData: $data}}}')" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID:sanitizeUserPrompt"
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che contiene il template.LOCATION: la posizione del template.TEMPLATE_ID: l'ID di un template configurato per la scansione di immagini (MODALITY_IMAGE).IMAGE: il percorso del file immagine in un formato supportato.
La risposta è simile alla seguente:
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "pi_and_jailbreak": { "piAndJailbreakFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "confidenceLevel": "HIGH" } }, "sdp": { "sdpFilterResult": { "inspectResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND" } } } } } }
Oscura i dati sensibili nelle immagini autonome
Quando utilizzi la modalità avanzata di Sensitive Data Protection, Model Armor oscura i risultati sensibili nelle immagini autonome se configuri il modello Model Armor con un modello di ispezione di Sensitive Data Protection e un modello di anonimizzazione di Sensitive Data Protection. Assicurati di configurare l'oscuramento delle immagini nel template di anonimizzazione. Per saperne di più sulla configurazione di Sensitive Data Protection in Model Armor, consulta Configura le impostazioni di Sensitive Data Protection. Per informazioni sulle limitazioni dell'anonimizzazione, consulta Specifiche e limitazioni e Immagini incorporate nei documenti.
L'esempio seguente mostra la configurazione del filtro con l'oscuramento di Sensitive Data Protection abilitato:
{ "filterConfig": { "sdpSettings": { "advancedConfig": { "inspectTemplate": "projects/PROJECT_ID/locations/LOCATION/inspectTemplates/INSPECT_TEMPLATE_ID", "deidentifyTemplate": "projects/PROJECT_ID/locations/LOCATION/deidentifyTemplates/DEIDENTIFY_TEMPLATE_ID" } } } }
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che contiene i template di Sensitive Data Protection.LOCATION: la posizione dei template.INSPECT_TEMPLATE_ID: l'ID del template di ispezione.DEIDENTIFY_TEMPLATE_ID: l'ID del template di anonimizzazione.
Quando esegui la sanitizzazione di un'immagine autonoma utilizzando un template con l'oscuramento delle immagini abilitato, la risposta include l'immagine oscurata e le coordinate del riquadro di delimitazione per ogni risultato:
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "sdp": { "sdpFilterResult": { "redactResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "redactedImage": "[REDACTED_IMAGE]", "findings": [ { "infoType": "EMAIL_ADDRESS", "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageFindingLocation": { "boundingBoxes": { "top": 16, "left": 121, "width": 620, "height": 90 } } } ] } } ] } } } } } }
Controlla le immagini incorporate nei documenti
Quando attivi la modalità immagine (MODALITY_IMAGE) nel tuo template e
esegui la sanitizzazione di un documento RTF (PDF, WORD_DOCUMENT, EXCEL_DOCUMENT o
POWERPOINT_DOCUMENT), Model Armor estrae e
analizza automaticamente fino a 5 immagini incorporate nel documento. Se attivi sia MODALITY_TEXT che MODALITY_IMAGE, Model Armor esamina sia il testo del documento che le immagini incorporate.
Indipendentemente dal fatto che tu attivi solo MODALITY_IMAGE o sia MODALITY_IMAGE che MODALITY_TEXT, Model Armor salta la scansione dell'intero documento, inclusi sia il testo che le immagini incorporate, senza scansione parziale. Restituisce EXECUTION_SKIPPED per tutti i filtri configurati, inclusa l'ispezione, e un filterMatchState complessivo di NO_MATCH_FOUND nei seguenti casi:
- Il documento supera il limite di dimensioni del file di 4 MB o il limite di 5 immagini.
- È configurato un template di anonimizzazione di Sensitive Data Protection. Per ispezionare i documenti RTF quando la modalità immagine è abilitata, configura solo un template di ispezione senza un template di anonimizzazione.
Per esempi di codice che mostrano come inviare prompt basati su file utilizzando REST e le librerie client, consulta Prompt basati su file.
Ispezione parziale dei file
Model Armor restituisce un risultato parziale (invocationResult:
PARTIAL) solo a livello di filtro (rilevatore) per l'intero file, anziché per immagine:
- Errore per immagine (intero file saltato): se alcune immagini incorporate in un file vengono scansionate correttamente, ma una o più altre immagini nel file non vengono estratte o scansionate, Model Armor salta l'intero file. Restituisce
executionState: EXECUTION_SKIPPEDper tutti i filtri configurati e unfilterMatchStatecomplessivo diNO_MATCH_FOUND. - Errore a livello di rilevatore (risultato parziale): se alcuni filtri configurati vengono applicati correttamente al file, mentre uno o più altri filtri vengono ignorati per l'intero file (ad esempio, a causa di un timeout del rilevatore), Model Armor restituisce un risultato parziale con i seguenti campi:
- Risultato della chiamata: il campo
invocationResultè impostato suPARTIAL(anziché suSUCCESS), a indicare che uno o più filtri configurati sono stati saltati per il file, mentre altri filtri hanno completato l'ispezione. - Stato di esecuzione del filtro: filtri che sono stati ignorati per il report sui file
executionState: EXECUTION_SKIPPED. Filtri che hanno completato l'ispezione nel report sui fileexecutionState: EXECUTION_SUCCESS. - Stato della corrispondenza: il campo
filterMatchStateriflette i risultati dei filtri che hanno completato l'ispezione. Se un filtro completato rileva una violazione,filterMatchStateviene impostato suMATCH_FOUND. Se i filtri completati non rilevano violazioni,filterMatchStateviene impostato suNO_MATCH_FOUND.
- Risultato della chiamata: il campo
Considerazioni sulla sicurezza con l'ispezione parziale
Dal punto di vista della sicurezza, un valore invocationResult di PARTIAL indica che uno o più filtri configurati non hanno potuto valutare il file. Potenziali minacce alla sicurezza o violazioni delle norme prese di mira dai filtri ignorati potrebbero essere ancora presenti nel file.
Per impostazione predefinita, se i filtri che hanno completato l'ispezione non rilevano violazioni delle norme, filterMatchState è NO_MATCH_FOUND. Se la tua applicazione richiede che tutti i filtri configurati completino l'ispezione prima di consentire ai prompt di raggiungere un modello di AI, controlla il campo invocationResult nella risposta. Se il valore è PARTIAL, configura la logica dell'applicazione per gestire la richiesta in base alla tolleranza al rischio della tua organizzazione, ad esempio rifiutando il prompt o indirizzandolo per una revisione secondaria.
Esempio di risposta parziale dell'ispezione
L'esempio seguente mostra una risposta in cui il filtro per il materiale pedopornografico è stato ignorato per il file, mentre altri filtri configurati hanno completato l'ispezione. Model Armor restituisce un invocationResult di
PARTIAL, uno stato EXECUTION_SKIPPED per il filtro CSAM e
EXECUTION_SUCCESS per i filtri rimanenti:
{ "sanitizationResult": { "filterMatchState": "NO_MATCH_FOUND", "invocationResult": "PARTIAL", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SKIPPED", "matchState": "NO_MATCH_FOUND" } }, "pi_and_jailbreak": { "piAndJailbreakFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "sdp": { "sdpFilterResult": { "inspectResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } } } } } }
Passaggi successivi
- Crea e gestisci i template di Model Armor.
- Sanifica prompt e risposte.
- Verifica la disponibilità delle funzionalità per regione.
- Esamina quote e limiti di sistema.