Model Armor se puede integrar directamente en Agent Platform de Gemini Enterprise con la configuración mínima o con plantillas. Model Armor se integra con la Agent Platform de Gemini Enterprise para filtrar tanto las solicitudes enviadas a los modelos de Gemini como las respuestas recibidas de ellos. Inspecciona o bloquea el tráfico que incumple la configuración de precios mínimos.
Model Armor proporciona protección de instrucciones y respuestas dentro de la API de Gemini en Vertex AI para el método generateContent.
Debes habilitar Cloud Logging para obtener visibilidad de los resultados de la sanitización de instrucciones y respuestas.
Además de proteger las llamadas directas a la API de REST del servicio de Agent Platform de Gemini Enterprise, también puedes usar Model Armor para proteger otras interfaces que brindan acceso a la API de Gemini en Vertex AI, como los SDKs de IA generativa de Google o los SDKs de Firebase AI Logic.
Antes de comenzar
Otorga permiso de usuario de Model Armor a la cuenta de servicio de 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'
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .PROJECT_NUMBER: Es el número del proyecto de Google Cloud .
Establecer configuración mínima
Usas la configuración mínima para establecer los umbrales de detección mínimos de las plantillas de Model Armor. Estos parámetros de configuración verifican que todas las plantillas nuevas y modificadas cumplan con los requisitos de configuración mínima.
Para habilitar la integración de Model Armor y Gemini Enterprise Agent Platform, puedes establecer la configuración mínima solo a nivel del proyecto con la API o la consola de Google Cloud .
Para configurar la configuración mínima, consulta Cómo configurar la configuración mínima.
Para configurar la configuración mínima con la integración de Gemini Enterprise Agent Platform, ejecuta el siguiente comando:
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --add-integrated-services=VERTEX_AI
De forma predeterminada, este comando habilita el modo de aplicación de INSPECT_ONLY. Para cambiar el modo a INSPECT_AND_BLOCK, ejecuta el siguiente comando:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
Para quitar Gemini Enterprise Agent Platform de los servicios integrados, ejecuta el siguiente comando:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --remove-integrated-services=VERTEX_AI
Para quitar todos los servicios integrados configurados de la configuración mínima, usa el siguiente comando:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --clear-integrated-services
Reemplaza PROJECT_ID por el ID del proyecto para la configuración mínima.
REST
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}}, "integratedServices": ["AI_PLATFORM"], "aiPlatformFloorSetting":{"inspectOnly":true, "enableCloudLogging":true}, "enableFloorSettingEnforcement":true}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Reemplaza PROJECT_ID por el ID del proyecto que contiene la configuración mínima.
Después de configurar la configuración mínima para habilitar el saneamiento de la plataforma de agentes de Gemini Enterprise, Model Armor sanea todas las llamadas a la API de generateContent a los extremos de Gemini del proyecto con la configuración de filtro especificada.
En la siguiente muestra de código, se muestra cómo usar el método 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.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la Google Cloud ubicación del extremo de Gemini. Para conocer las ubicaciones admitidas, consulta Ubicaciones de la API de Model Armor.
En el siguiente muestra de código, se muestra la respuesta del método 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.5-flash", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Cómo definir el tipo de aplicación de la configuración mínima
Para configurar cómo Model Armor controla las detecciones, establece el tipo de aplicación.
En el siguiente ejemplo, se muestra la configuración mínima de la planta con el tipo de aplicación 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='{ "filterConfig": { "raiSettings": { "raiFilters": [ { "filterType": "HATE_SPEECH", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "DANGEROUS", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "HARASSMENT", "confidenceLevel": "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 }, "enableFloorSettingEnforcement": true }' curl -X PATCH \ -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/global/floorSetting"
Reemplaza PROJECT_ID por el ID del proyecto que contiene la configuración mínima.
Configura plantillas de Model Armor
Model Armor también se puede integrar en Gemini Enterprise Agent Platform con plantillas de Model Armor. Las plantillas te permiten configurar cómo Model Armor examina las instrucciones y las respuestas, y definen la configuración de los filtros de seguridad.
Primero debes crear plantillas y, luego, usarlas con el método generateContent de Gemini. Para obtener más información sobre las plantillas, consulta Crea y administra plantillas de Model Armor.
Después de configurar la plantilla de Model Armor, pasa el ID de la plantilla como un parámetro cuando llames a la API de Gemini con el método generateContent. La Agent Platform de Gemini Enterprise enrutará la solicitud a Model Armor para su procesamiento.
En el siguiente muestra de código, se muestra la solicitud al método 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.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "PROMPT" } ] } ] , "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" } }'
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .LOCATION: Es la Google Cloud ubicación del extremo de Gemini. Las ubicaciones admitidas sonus-central1,us-east4,us-west1yeurope-west4.PROMPT: Es la instrucción de texto.TEMPLATE_ID: Es el ID de la plantilla de Model Armor.
En el siguiente muestra de código, se muestra la respuesta del método 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.5-flash", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Prioridad de la configuración
Cuando se usa Model Armor con la plataforma de agentes de Gemini Enterprise, es posible definir configuraciones de seguridad en varios niveles. En estos casos, Model Armor y Agent Platform de Gemini Enterprise siguen un orden de prioridad específico:
Plantillas de Model Armor: Cualquier configuración proporcionada de forma explícita dentro de la configuración definida en la solicitud a la API tiene la mayor prioridad. Estos parámetros de configuración anulan cualquier otra configuración en conflicto para esa solicitud específica.
Configuración mínima de Model Armor: Si no se proporciona ninguna configuración de anulación en la solicitud a la API, se aplica la configuración mínima de Model Armor.
Filtros de seguridad de Agent Platform de Gemini Enterprise: Los filtros de seguridad predeterminados integrados en Agent Platform de Gemini Enterprise tienen la prioridad más baja. Solo se aplican si no se definen parámetros de configuración mínimos o plantillas de Model Armor específicos.
Este enfoque jerárquico proporciona una combinación de estándares mínimos amplios en toda la organización (con la configuración mínima) y control por solicitud (con plantillas), a la vez que aprovecha las funciones de seguridad inherentes de la plataforma de agentes de Gemini Enterprise como referencia.
Consideraciones
Ten en cuenta lo siguiente cuando integres Model Armor con Agent Platform de Gemini Enterprise:
- No se admite la ocultación de Sensitive Data Protection para la plantilla de desidentificación.
- No se admite la limpieza de instrucciones y respuestas que contienen documentos.
La Agent Platform de Gemini Enterprise omite el paso de limpieza de Model Armor y continúa procesando la solicitud en las siguientes condiciones:
- Model Armor no está disponible en una región en la que se encuentra Agent Platform de Gemini Enterprise.
- Model Armor no está disponible temporalmente.
- Se produce un error en Model Armor.
En todas estas instancias, ocasionalmente, se pueden exponer instrucciones o respuestas sin filtrar, ya que la solicitud continúa sin la sanitización de instrucciones y respuestas.
Si bien la integración está diseñada para mantener el servicio en funcionamiento incluso si falla la conexión, el modo
INSPECT_AND_BLOCKsigue mostrando errores de configuración, como problemas de permisos o cuotas.