Model Armor kann entweder über Floor-Einstellungen oder über Vorlagen direkt in Vertex AI integriert werden. Model Armor ist in Vertex AI integriert, um sowohl Anfragen, die an Gemini-Modelle gesendet werden, als auch Antworten, die von Gemini-Modellen empfangen werden, zu filtern. Es prüft oder blockiert Traffic, der gegen die Mindestpreiseinstellungen verstößt.
Model Armor bietet Schutz für Prompts und Antworten in der Gemini API in Vertex AI für die Methode generateContent.
Sie müssen Cloud Logging aktivieren, um die Ergebnisse der Bereinigung von Prompts und Antworten zu sehen.
Hinweise
Gewähren Sie dem Model Armor-Nutzer die Berechtigung für das Vertex AI-Dienstkonto.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com' --role='roles/modelarmor.user'
Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .PROJECT_NUMBER: Ihre Google Cloud Projektnummer
Mindesteinstellungen konfigurieren
Mit Mindesteinstellungen konfigurieren Sie die Mindestschwellenwerte für die Erkennung für Model Armor-Vorlagen. Mit diesen Einstellungen wird geprüft, ob alle neuen und geänderten Vorlagen den Anforderungen der Mindesteinstellungen entsprechen.
Wenn Sie Model Armor und die Vertex AI-Integration aktivieren möchten, können Sie Mindesteinstellungen nur auf Projektebene über die API oder die Google Cloud -Konsole festlegen.
Informationen zum Konfigurieren von Mindesteinstellungen finden Sie unter Mindesteinstellungen konfigurieren.
Führen Sie den folgenden Befehl aus, um die Mindestpreiseinstellungen mit der Vertex AI-Integration zu konfigurieren:
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {}, "integratedServices": "AI_PLATFORM", "aiPlatformFloorSetting":{"inspect_only":true, "enableCloudLogging":true}}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Ersetzen Sie PROJECT_ID durch die ID des Projekts für die Etagenkonfiguration.
Nachdem Sie die Mindesteinstellungen konfiguriert haben, um die Bereinigung von Vertex AI zu aktivieren, bereinigt Model Armor alle generateContent API-Aufrufe an die Gemini-Endpunkte des Projekts mit den angegebenen Filtereinstellungen.
Das folgende Codebeispiel zeigt, wie die Methode generateContent verwendet wird.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .LOCATION: Der Google Cloud Standort des Gemini-Endpunkts. Informationen zu unterstützten Standorten finden Sie unter Standorte für die Model Armor API.
Das folgende Codebeispiel zeigt die Antwort der Methode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Durchsetzungstyp für Mindesteinstellungen festlegen
Legen Sie den Durchsetzungstyp fest, um zu konfigurieren, wie Model Armor Erkennungen verarbeitet.
Das folgende Beispiel zeigt die Konfiguration der Etagen-Einstellungen mit dem Erzwingungstyp Inspect and block.
export FLOOR_SETTING='{ "filter_config": { "rai_settings": { "rai_filters": { "filter_type": "HATE_SPEECH", "confidence_level": "LOW_AND_ABOVE" }, "rai_filters": { "filter_type": "DANGEROUS", "confidence_level": "LOW_AND_ABOVE" }, "rai_filters": { "filter_type": "SEXUALLY_EXPLICIT", "confidence_level": "LOW_AND_ABOVE" }, "rai_filters": { "filter_type": "HARASSMENT", "confidence_level": "LOW_AND_ABOVE" } }, "sdpSettings": { "basicConfig": { "filterEnforcement": "ENABLED" } }, "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED", "confidenceLevel": "LOW_AND_ABOVE" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } }, "integratedServices": [ "AI_PLATFORM" ], "aiPlatformFloorSetting": { "inspectAndBlock": true, "enableCloudLogging": true }, "enable_floor_setting_enforcement": "true" }' curl -X POST \ -d "$FLOOR_SETTING" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/floorSetting"
Ersetzen Sie Folgendes:
PROJECT_ID: Die ID des Projekts für die Etagenkonfiguration.LOCATION: der Standort der grundlegenden Einstellungen.
Model Armor-Vorlagen konfigurieren
Model Armor kann auch über Model Armor-Vorlagen in Vertex AI eingebunden werden. Mit Vorlagen können Sie konfigurieren, wie Model Armor Prompts und Antworten prüft, und Sicherheitsfilterkonfigurationen definieren.
Sie müssen zuerst Vorlagen erstellen und diese dann mit der generateContent-Methode von Gemini verwenden. Weitere Informationen zu Vorlagen finden Sie unter Model Armor-Vorlagen erstellen und verwalten.
Nachdem Sie die Model Armor-Vorlage konfiguriert haben, übergeben Sie die Vorlagen-ID als Parameter, wenn Sie die Gemini API mit der Methode generateContent aufrufen. Vertex AI leitet die Anfrage zur Verarbeitung an Model Armor weiter.
Das folgende Codebeispiel zeigt die Anfrage an die Methode generateContent.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 }, "model_armor_config": { "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID" } }'
Ersetzen Sie Folgendes:
PROJECT_ID: die Google Cloud Projekt-ID.LOCATION: der Google Cloud Standort des Gemini-Endpunkts. Die unterstützten Standorte sindus-central1,us-east4,us-west1undeurope-west4.TEMPLATE_ID: Vorlagen-ID für Model Armor.
Das folgende Codebeispiel zeigt die Antwort der Methode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Hinweise
Beachten Sie Folgendes, wenn Sie Model Armor in Vertex AI einbinden:
- Die Schwärzung von Daten durch Sensitive Data Protection für die De-Identifikationsvorlage wird nicht unterstützt.
- Das Bereinigen von Prompts und Antworten, die Dokumente enthalten, wird nicht unterstützt.
Vertex AI überspringt den Bereinigungsschritt von Model Armor und verarbeitet die Anfrage unter den folgenden Bedingungen weiter:
- Model Armor ist nicht in einer Region verfügbar, in der Vertex AI verfügbar ist.
- Model Armor ist vorübergehend nicht erreichbar.
- Ein Fehler tritt in Model Armor auf.
In all diesen Fällen können gelegentlich ungeprüfte Prompts oder Antworten angezeigt werden, da die Anfrage ohne Bereinigung von Prompts und Antworten fortgesetzt wird.