Model Armor kann entweder über Mindesteinstellungen oder über Vorlagen direkt in die Gemini Enterprise Agent Platform eingebunden werden. Model Armor wird in die Gemini Enterprise Agent Platform eingebunden, um sowohl Anfragen, die an Gemini-Modelle gesendet werden, als auch Antworten, die von Gemini-Modellen empfangen werden, zu prüfen. Dabei wird Traffic geprüft oder blockiert, der gegen die Mindesteinstellungen 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.
Neben dem Schutz direkter REST-Aufrufe an den Dienst Gemini Enterprise Agent Platform, können Sie Model Armor auch verwenden, um andere Schnittstellen zu schützen, die Zugriff auf die Gemini API in Vertex AI bieten, z. B. die Google Gen AI SDKs oder Firebase AI Logic SDKs.
Hinweis
Erteilen Sie dem Model Armor-Nutzer die Berechtigung für das Dienstkonto der Gemini Enterprise Agent Platform.
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: Ihre Google Cloud Projekt-ID.PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
Mindesteinstellungen konfigurieren
Mit den 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 die Anforderungen der Mindesteinstellungen erfüllen.
Informationen zum Konfigurieren von Mindesteinstellungen finden Sie unter Mindesteinstellungen konfigurieren.
Führen Sie den folgenden Befehl aus, um Mindesteinstellungen mit der Gemini Enterprise Agent Platform-Integration zu konfigurieren:
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --add-integrated-services=VERTEX_AI
Mit diesem Befehl wird standardmäßig der Erzwingungsmodus INSPECT_ONLY aktiviert. Wenn Sie den Modus in INSPECT_AND_BLOCK ändern möchten, führen Sie den folgenden Befehl aus:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
Führen Sie den folgenden Befehl aus, um die Gemini Enterprise Agent Platform aus den eingebundenen Diensten zu entfernen:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --remove-integrated-services=VERTEX_AI
Führen Sie den folgenden Befehl aus, um alle konfigurierten eingebundenen Dienste aus den Mindesteinstellungen zu entfernen:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --clear-integrated-services
Ersetzen Sie PROJECT_ID durch die ID des Projekts für die Mindesteinstellungen.
REST
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 Mindesteinstellungen.
Nachdem Sie die Mindesteinstellungen konfiguriert haben, um die Bereinigung der Gemini Enterprise Agent Platform 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: Ihre Google Cloud Projekt-ID.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" }
Erzwingungstyp für Mindesteinstellungen definieren
Legen Sie den
Erzwingungstyp fest, um zu konfigurieren, wie Model Armor Erkennungen verarbeitet.
Das folgende Beispiel zeigt die Konfiguration der Mindesteinstellungen mit dem Erzwingungstyp INSPECT_AND_BLOCK.
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/modelarmor-api-test/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
REST
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 Mindesteinstellungen.LOCATION: der Standort der Mindesteinstellungen.
Model Armor-Vorlagen konfigurieren
Model Armor kann auch über Model Armor-Vorlagen in die Gemini Enterprise Agent Platform 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 Methode generateContent 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 mit der Methode generateContent einen Aufruf an die Gemini API senden. Die Gemini Enterprise Agent Platform 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: Model Armor-Vorlagen-ID.
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" }
Konfigurationsrangfolge
Wenn Sie Model Armor mit der Gemini Enterprise Agent Platform verwenden, können Sicherheitskonfigurationen auf mehreren Ebenen definiert sein. In solchen Fällen folgen Model Armor und die Gemini Enterprise Agent Platform einer bestimmten Rangfolge:
Model Armor-Vorlagen: Jede Konfiguration, die explizit in der in der API-Anfrage definierten Konfiguration angegeben wird, hat die höchste Priorität. Diese Einstellungen überschreiben alle anderen in Konflikt stehenden Konfigurationen für diese bestimmte Anfrage.
Model Armor-Mindesteinstellungen: Wenn in der API-Anfrage keine überschreibende Konfiguration angegeben ist, werden die Model Armor-Mindesteinstellungen angewendet.
Sicherheitsfilter der Gemini Enterprise Agent Platform: Die standardmäßigen Sicherheitsfilter, die in die Gemini Enterprise Agent Platform integriert sind, haben die niedrigste Priorität. Sie werden nur angewendet, wenn keine bestimmte Model Armor-Vorlage oder Mindesteinstellungen definiert sind.
Dieser hierarchische Ansatz bietet eine Kombination aus umfassenden, organisationsweiten Mindeststandards (mit Mindesteinstellungen) und einer Steuerung pro Anfrage (mit Vorlagen), während die integrierten Sicherheitsfunktionen der Gemini Enterprise Agent Platform als Grundlage dienen.
Hinweise
Beachten Sie bei der Einbindung von Model Armor in die Gemini Enterprise Agent Platform Folgendes:
- Die Redaktion von 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.
Die Gemini Enterprise Agent Platform überspringt den Model Armor-Bereinigungsschritt und verarbeitet die Anfrage unter den folgenden Bedingungen weiter:
- Model Armor ist in einer Region nicht verfügbar, in der die Gemini Enterprise Agent Platform vorhanden ist.
- Model Armor ist vorübergehend nicht erreichbar.
- In Model Armor tritt ein Fehler 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.
Die Einbindung ist so konzipiert, dass der Dienst auch bei einem Verbindungsfehler ausgeführt wird. Im Modus
INSPECT_AND_BLOCKwerden jedoch weiterhin Konfigurationsfehler wie Berechtigungs- oder Kontingentprobleme angezeigt.