Model Armor prüft eigenständige Bilder und Bilder, die in unterstützten RTF-Dokumenten in Prompts und Antworten eingebettet sind, um Ihre Anwendungen mit generativer KI vor Risiken zu schützen, die in Bildern eingebettet sind.
Model Armor prüft Bilder mit den folgenden Methoden:
- Visuelles Scannen: Visuelle Inhalte in Bildern werden mit dem erweiterten Sensitive Data Protection-Filter auf sensible Objekte und Themen geprüft. Weitere Informationen finden Sie unter Objekt-infoTypes und Bildkontext-infoTypes.
- Optische Zeichenerkennung (OCR): Extrahiert Text aus Bildern und prüft diesen Text anhand konfigurierter Filter, einschließlich Sicherheitskategorien für verantwortungsbewusste KI, Prompt Injection- und Jailbreak-Erkennung, schädlichen URLs und Sensitive Data Protection-InfoTypes.
Spezifikationen und Einschränkungen
Beachten Sie die folgenden Spezifikationen und Einschränkungen, wenn Sie Model Armor zum Prüfen von Bildern verwenden:
- Unterstützte Bildformate: Model Armor prüft eigenständige Bilder in den Formaten JPEG, PNG und BMP. Außerdem werden eingebettete Bilder aus unterstützten RTF-Dateien extrahiert und geprüft.
- Größenbeschränkungen: Jedes eigenständige Bild darf maximal 4 MB groß sein. RTF-Dateien dürfen maximal 4 MB groß sein und höchstens 5 eingebettete Bilder enthalten. Wenn eines dieser Limits überschritten wird, überspringt Model Armor das Scannen der gesamten Datei. Weitere Informationen finden Sie unter Systemlimit für Dateigröße und In Dokumente eingebettete Bilder prüfen.
- Eigenständige Prompts: Wenn Sie die Methoden
SanitizeUserPromptundSanitizeModelResponsemit eigenständigen Bildern aufrufen, prüft Model Armor ein einzelnes Bild pro Anfrage. Die Prüfung mehrerer eigenständiger Bilder in einer einzelnen Anfrage wird nicht unterstützt. Außerdem unterstützt Model Armor keine eigenständigen Prompts, die Text und Bilder in einer einzigen Anfrage kombinieren. Sie können jedoch RTF-Dokumente, die sowohl Text als auch Bilder enthalten, prüfen, indem Sie sowohl Text- als auch Bildmodalitäten aktivieren. - De-Identifikation: Wenn Sie eine De-Identifikationsvorlage für Sensitive Data Protection konfigurieren, entfernt Model Armor entweder Text oder eigenständige Bilder, aber nicht beides. Die De-Identifikation wird für RTF-Dokumente nicht unterstützt, wenn die Bildmodalität (
MODALITY_IMAGE) ausgewählt ist. Weitere Informationen finden Sie unter Sensible Daten in eigenständigen Bildern entfernen und Eingebettete Bilder in Dokumenten prüfen. - Streaming: Die Streaming-Methoden von Model Armor unterstützen nur Texteingaben, keine Bilder oder Dateien.
- Unterstützte Integrationen: Sie können Bilder prüfen, indem Sie die Model Armor REST API direkt oder über die Gemini Enterprise-Integration aufrufen. Alle anderen Model Armor-Integrationen scannen und bereinigen nur Text. Weitere Informationen finden Sie unter Unterstützte Modalitäten.
- Regionale Verfügbarkeit: Die Bildprüfung wird nur in bestimmten Multiregionen unterstützt. Wenn Sie einen Prompt mit einem Bild an einen Endpunkt senden, an dem Model Armor die Bildprüfung nicht unterstützt, wird im Feld
invocationResultin der AntwortFAILUREangezeigt. Eine Liste der Standorte, die die Bildprüfung unterstützen, finden Sie unter Unterstützte Funktionen nach Region.
Tokenberechnung und Preise für Bilder
Model Armor verwendet ein einheitliches tokenbasiertes Preismodell, bei dem Bild-Tokens zum gleichen Preis wie Text-Tokens abgerechnet werden.
Ihnen werden keine Kosten in Rechnung gestellt, wenn Model Armor eine Eingabe vor der Filterverarbeitung ablehnt oder überspringt, z. B. leere Eingaben oder Dateien und Bilder, die die Limits für die Dateigröße oder eingebettete Bilder überschreiten. Wenn eine Eingabe jedoch die erste Validierung besteht, werden Ihnen die berechneten Tokens auch in den folgenden Fällen in Rechnung gestellt:
- Alle Detektoren werden übersprungen: Einige oder alle konfigurierten Filter (Detektoren) werden übersprungen und geben
EXECUTION_SKIPPEDzurück (z. B. wenn eine Bildnutzlast innerhalb des Limits von 4 MB nicht von Detektoren geparst werden kann oder wenn ein Filter für eine Modalität übersprungen wird). - Nicht-Bilddateien, die mit dem Byte-Datentyp
IMAGEumschlossen sind: Eine Nicht-Bilddatei (z. B. eine ZIP-, CSV- oder Microsoft Word-Datei) wird mitbyteDataTypegesendet, wobeiIMAGEfestgelegt ist (bis zu 4 MB). Model Armor rechnet die Anfrage mit der eigenständigen Bildtokenberechnung ab, obwohl die FilterEXECUTION_SKIPPEDzurückgeben.
Model Armor berechnet Tokens für Bilder und Dokumente basierend auf dem Eingabetyp und den konfigurierten Modalitäten:
Eigenständige Bilder: Model Armor wandelt jedes verarbeitete Bild (bis zu 4 MB) in Tokens um. Dabei wird eine Basisanzahl von 5.000 Tokens pro Bild verwendet, plus 1.000 Tokens pro Megabyte (MB) Bildgröße. Bei der Berechnung größenbasierter Tokens rundet Model Armor die Bildgröße auf das nächste ganze MB auf:
Tokens pro Bild = 5.000 + (1.000 × Bildgröße in MB, aufgerundet auf das nächste ganze MB)
Text, der per OCR aus einem Bild extrahiert wird, wird bei der Berechnung der Bild-Tokens berücksichtigt und verursacht keine separaten Kosten für Text-Tokens.
RTF-Dokumente: Die Tokenberechnung hängt von den in Ihrer Vorlage konfigurierten Modalitäten ab:
- Textmodalität (
MODALITY_TEXT): Model Armor berechnet Tokens aus dem aus dem Dokument extrahierten Text (etwa 4 Zeichen pro Token). Eingebettete Bilder werden nicht extrahiert oder in Rechnung gestellt. - Bildmodalität (
MODALITY_IMAGE): Model Armor berechnet Tokens für jedes verarbeitete eingebettete Bild einzeln mithilfe der Formel für Bild-Tokens. Dokumenttext wird nicht in Rechnung gestellt. - Text- und Bildmodalitäten (
MODALITY_TEXTundMODALITY_IMAGE): Model Armor berechnet die Gesamtanzahl der Tokens als Summe der Tokens aus dem extrahierten Dokumenttext und der Tokens für jedes verarbeitete eingebettete Bild.
- Textmodalität (
In der folgenden Tabelle sehen Sie Beispiele dafür, wie Model Armor Tokens für verarbeitete Bilder berechnet:
| Bildgröße | Gerundete Größe für die Berechnung | Tokenberechnung | Tokens insgesamt |
|---|---|---|---|
| 500 KB | 1 MB | 5.000 + (1 × 1.000) | 6.000 Tokens |
| 1,9 MB | 2 MB | 5.000 + (2 × 1.000) | 7.000 Tokens |
| 4 MB | 4 MB | 5.000 + (4 × 1.000) | 9.000 Tokens |
Hinweis
Bevor Sie Bilder prüfen, müssen Sie die folgenden Voraussetzungen erfüllen:
Vorlage mit aktivierter Bildmodalität erstellen oder aktualisieren
Wenn Sie eine Vorlage erstellen oder aktualisieren, wählen Sie die Modalität aus, die MODALITY_IMAGE enthalten soll (entweder Bild oder Alle in der Google Cloud Console oder "modalities": ["MODALITY_IMAGE", "MODALITY_TEXT"] in templateMetadata, wenn Sie die REST API verwenden). Wenn Sie keine Modalität angeben, das Feld modalities leer lassen oder nur MODALITY_TEXT angeben, scannt Model Armor nur Text und gibt EXECUTION_SKIPPED für Filter zurück, die die übersprungene Modalität scannen.
Erforderliche Berechtigungen einholen
Sie benötigen die erforderlichen IAM-Rollen (Identity and Access Management), um Prompts und Antworten zu bereinigen (z. B. roles/modelarmor.user). Wenn Sie den erweiterten Sensitive Data Protection-Modus projektübergreifend verwenden, weisen Sie dem Model Armor-Dienst-Agent die erforderlichen DLP-Rollen zu. Eine Anleitung finden Sie unter Erforderliche Berechtigungen abrufen.
Eigenständige Bilder bereinigen
Wenn Sie ein eigenständiges Bild in einem Nutzer-Prompt oder einer Modellantwort prüfen möchten, setzen Sie das Feld byteDataType auf IMAGE und geben Sie das base64-codierte Bild in einem unterstützten Format (JPEG, PNG oder BMP) im Feld byteData an.
Verwenden Sie den folgenden Befehl, um einen Prompt zu bereinigen, der ein Bild enthält:
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"
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, das die Vorlage enthält.LOCATION: der Speicherort der Vorlage.TEMPLATE_ID: die ID einer Vorlage, die für das Scannen nach Bildern konfiguriert ist (MODALITY_IMAGE).IMAGE: der Pfad zur Bilddatei in einem unterstützten Format.
Das Ergebnis sieht etwa so aus:
{ "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" } } } } } }
Sensible Daten in eigenständigen Bildern entfernen
Wenn Sie den erweiterten Modus von Sensitive Data Protection verwenden, entfernt Model Armor sensible Ergebnisse in eigenständigen Bildern, wenn Sie Ihre Model Armor-Vorlage sowohl mit einer Inspektionsvorlage als auch mit einer De-Identifikationsvorlage von Sensitive Data Protection konfigurieren. Achten Sie darauf, dass Sie in der De-Identifikationsvorlage die Bildbearbeitung konfigurieren. Weitere Informationen zum Konfigurieren von Sensitive Data Protection in Model Armor finden Sie unter Einstellungen für Sensitive Data Protection festlegen. Informationen zu Einschränkungen bei der De-Identifikation finden Sie unter Spezifikationen und Einschränkungen und Eingebettete Bilder in Dokumenten prüfen.
Das folgende Beispiel zeigt die Filterkonfiguration mit aktivierter Sensitive Data Protection-Bearbeitung:
{ "filterConfig": { "sdpSettings": { "advancedConfig": { "inspectTemplate": "projects/PROJECT_ID/locations/LOCATION/inspectTemplates/INSPECT_TEMPLATE_ID", "deidentifyTemplate": "projects/PROJECT_ID/locations/LOCATION/deidentifyTemplates/DEIDENTIFY_TEMPLATE_ID" } } } }
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, das die Vorlagen für Sensitive Data Protection enthält.LOCATION: der Speicherort der Vorlagen.INSPECT_TEMPLATE_ID: die ID der Inspektionsvorlage.DEIDENTIFY_TEMPLATE_ID: die ID der De-Identifikationsvorlage.
Wenn Sie ein eigenständiges Bild mit einer Vorlage bereinigen, für die die Bildbearbeitung aktiviert ist, enthält die Antwort das bearbeitete Bild und die Koordinaten des Begrenzungsrahmens für jedes Ergebnis:
{ "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 } } } ] } } ] } } } } } }
Eingebettete Bilder in Dokumenten prüfen
Wenn Sie die Bildmodalität (MODALITY_IMAGE) in Ihrer Vorlage aktivieren und ein Rich-Text-Dokument (PDF, WORD_DOCUMENT, EXCEL_DOCUMENT oder POWERPOINT_DOCUMENT) bereinigen, extrahiert und prüft Model Armor automatisch bis zu 5 eingebettete Bilder im Dokument. Wenn Sie sowohl MODALITY_TEXT als auch MODALITY_IMAGE aktivieren, prüft Model Armor sowohl den Dokumenttext als auch die eingebetteten Bilder.
Unabhängig davon, ob Sie nur MODALITY_IMAGE oder sowohl MODALITY_IMAGE als auch MODALITY_TEXT aktivieren, überspringt Model Armor das Scannen des gesamten Dokuments, einschließlich Text und eingebetteter Bilder, ohne teilweises Scannen. In den folgenden Fällen wird für alle konfigurierten Filter, einschließlich der Prüfung, EXECUTION_SKIPPED und ein Gesamt-filterMatchState von NO_MATCH_FOUND zurückgegeben:
- Das Dokument überschreitet die maximal zulässige Dateigröße von 4 MB oder das Limit von 5 Bildern.
- Eine De-Identifikationsvorlage für Sensitive Data Protection ist konfiguriert. Wenn Sie RTF-Dokumente prüfen möchten, während die Bildmodalität aktiviert ist, konfigurieren Sie nur eine Prüfvorlage ohne De-Identifikationsvorlage.
Codebeispiele zum Senden dateibasierter Prompts mit REST und Clientbibliotheken finden Sie unter Dateibasierte Prompts.
Teilweise Dateiüberprüfung
Model Armor gibt ein Teilergebnis (invocationResult:
PARTIAL) nur auf Filterebene (Detektorebene) für die gesamte Datei zurück, nicht pro Bild:
- Fehler pro Bild (gesamte Datei übersprungen): Wenn einige eingebettete Bilder in einer Datei erfolgreich gescannt werden, aber ein oder mehrere andere Bilder in der Datei nicht extrahiert oder gescannt werden können, überspringt Model Armor die gesamte Datei. Es wird
executionState: EXECUTION_SKIPPEDfür alle konfigurierten Filter und ein Gesamt-filterMatchStatevonNO_MATCH_FOUNDzurückgegeben. - Fehler auf Detektorebene (Teilergebnis): Wenn einige konfigurierte Filter für die gesamte Datei erfolgreich sind, während ein oder mehrere andere Filter für die gesamte Datei übersprungen werden (z. B. aufgrund eines Detektor-Timeouts), gibt Model Armor ein Teilergebnis mit den folgenden Feldern zurück:
- Aufrufergebnis: Das Feld
invocationResultist aufPARTIAL(anstattSUCCESS) gesetzt. Das bedeutet, dass ein oder mehrere konfigurierte Filter für die Datei übersprungen wurden, während andere Filter die Prüfung abgeschlossen haben. - Filterausführungsstatus: Filter, die für den Dateibericht übersprungen wurden
executionState: EXECUTION_SKIPPED. Filter, die die Prüfung im Dateibericht „executionState: EXECUTION_SUCCESS“ abgeschlossen haben. - Übereinstimmungsstatus: Das Feld
filterMatchStateenthält die Ergebnisse der Filter, die die Prüfung abgeschlossen haben. Wenn ein abgeschlossener Filter einen Verstoß erkennt, wirdfilterMatchStateaufMATCH_FOUNDgesetzt. Wenn von den abgeschlossenen Filtern keine Verstöße erkannt werden, wirdfilterMatchStateaufNO_MATCH_FOUNDgesetzt.
- Aufrufergebnis: Das Feld
Sicherheitsaspekte bei der teilweisen Prüfung
Aus Sicherheitssicht bedeutet ein invocationResult-Wert von PARTIAL, dass mindestens ein konfigurierter Filter die Datei nicht auswerten konnte. Mögliche Sicherheitsbedrohungen oder Richtlinienverstöße, die von den übersprungenen Filtern erkannt werden, sind möglicherweise weiterhin in der Datei vorhanden.
Wenn die Filter, die die Prüfung abgeschlossen haben, keine Richtlinienverstöße erkennen, ist filterMatchState standardmäßig NO_MATCH_FOUND. Wenn Ihre Anwendung erfordert, dass alle konfigurierten Filter die Prüfung abschließen, bevor Prompts ein KI-Modell erreichen, prüfen Sie das Feld invocationResult in der Antwort. Wenn der Wert PARTIAL ist, konfigurieren Sie Ihre Anwendungslogik so, dass die Anfrage gemäß der Risikotoleranz Ihrer Organisation verarbeitet wird, z. B. indem der Prompt abgelehnt oder zur sekundären Überprüfung weitergeleitet wird.
Beispiel für eine Antwort auf eine Teilprüfung
Das folgende Beispiel zeigt eine Antwort, bei der der Filter für Darstellungen des sexuellen Missbrauchs von Kindern für die Datei übersprungen wurde, während andere konfigurierte Filter die Prüfung abgeschlossen haben. Model Armor gibt einen invocationResult-Wert von PARTIAL, einen EXECUTION_SKIPPED-Status für den CSAM-Filter und EXECUTION_SUCCESS für die verbleibenden Filter zurück:
{ "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" } } } } } }
Nächste Schritte
- Model Armor-Vorlagen erstellen und verwalten
- Prompts und Antworten bereinigen
- Verfügbarkeit von Funktionen nach Region prüfen
- Kontingente und Systemlimits prüfen