Usas las plantillas de Model Armor para configurar el filtrado de instrucciones y respuestas para tus aplicaciones basadas en IA. Las plantillas proporcionan filtros y umbrales personalizados para varias categorías de seguridad. En este documento, se explica cómo crear y administrar plantillas de Model Armor. Para obtener más información, consulta Plantillas de Model Armor.
Antes de comenzar
Antes de comenzar, completa las siguientes tareas.
Obtén los permisos necesarios
Para obtener los permisos que
necesitas para administrar las plantillas de Model Armor,
pídele a tu administrador que te otorgue el
rol de IAM de Administrador de Model Armor (roles/modelarmor.admin)
en las plantillas de Model Armor.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Habilita las APIs
Para poder usar Model Armor, debes habilitar la API de Model Armor.
Console
Habilitar la API de Model Armor
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.Elige el proyecto en el que quieres activar Model Armor.
gcloud
Antes de empezar, sigue estos pasos a través de la Google Cloud CLI con la API de Model Armor:
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Configura la anulación del extremo de API con la CLI de gcloud.
Cómo configurar la anulación del extremo de API con gcloud CLI
Este paso solo es necesario si usas gcloud CLI para habilitar la API de Model Armor. Debes configurar manualmente la anulación del extremo de API para garantizar que gcloud CLI enrute correctamente las solicitudes al servicio de Model Armor.
Ejecuta el comando siguiente para configurar el extremo de API del servicio de Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Reemplaza LOCATION por la región en la que quieres usar Model Armor.
Crea una plantilla de Model Armor
Las plantillas de Model Armor definen los filtros y umbrales específicos que Model Armor usa para analizar las instrucciones y respuestas en busca de riesgos de seguridad. Para crear una plantilla de Model Armor, sigue estos pasos:
Console
En la consola de Google Cloud , accede a la página de Model Armor.
Verifica que estés viendo el proyecto en el que activaste Model Armor.
En la página de Model Armor, haz clic en Crear plantilla. Aparecerá la página Crear plantilla.
Especifica el ID de plantilla. El ID de plantilla puede contener letras, dígitos o guiones. No puede superar los 63 caracteres, contener espacios ni comenzar con un guion.
Selecciona una región en la que se ejecutarán las plantillas de Model Armor. No podrás cambiar la región más adelante.
Opcional: Agrega etiquetas. Las etiquetas son pares clave-valor que puedes usar para agrupar plantillas relacionadas.
En la sección Detecciones, configura los parámetros de detección.
Opcional: Si seleccionas la detección de Sensitive Data Protection, debes configurar los parámetros de configuración de Sensitive Data Protection.
En la sección IA responsable, establece el nivel de confianza para cada filtro de contenido.
Opcional: En la sección Configura el registro, elige las operaciones para las que quieres configurar el registro.
Opcional: Selecciona Habilitar la compatibilidad con varios idiomas para usar la configuración de detección de varios idiomas.
Haz clic en Crear.
gcloud
Ejecuta el siguiente comando:
gcloud model-armor templates create TEMPLATE_ID --project=PROJECT_ID --location=LOCATION \
--rai-settings-filters='[{ "filterType": "HATE_SPEECH", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "HARASSMENT", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "MEDIUM_AND_ABOVE" }]' \
--basic-config-filter-enforcement=enabled \
--pi-and-jailbreak-filter-settings-enforcement=enabled \
--pi-and-jailbreak-filter-settings-confidence-level=HIGH \
--malicious-uri-filter-settings-enforcement=enabled \
--template-metadata-custom-llm-response-safety-error-code=798 \
--template-metadata-custom-llm-response-safety-error-message="test template llm response evaluation failed" \
--template-metadata-custom-prompt-safety-error-code=799 \
--template-metadata-custom-prompt-safety-error-message="test template prompt evaluation failed" \
--template-metadata-ignore-partial-invocation-failures \
--template-metadata-log-operations \
--template-metadata-log-sanitize-operations
Reemplaza lo siguiente:
LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
REST
Usa el siguiente comando para crear una plantilla de Model Armor nueva.
curl -X POST \
-d "{'FILTER_CONFIG': {} }" \
-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=TEMPLATE_ID"
Reemplaza lo siguiente:
FILTER_CONFIG: Es la configuración del filtro para la plantilla.PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.TEMPLATE_ID: Es el ID de la plantilla que se creará.LOCATION: Es la ubicación de la plantilla.
En el siguiente ejemplo, se muestra la configuración de la plantilla de Model Armor. En este ejemplo, los filtros de IA responsable se configuran para la incitación al odio o a la violencia, el hostigamiento, el contenido peligroso y el contenido sexual explícito con diferentes niveles de confianza.
El filtro de detección de inyección de instrucciones y jailbreaking está habilitado con un nivel de confianza HIGH, lo que significa que solo se marcará el contenido con una alta probabilidad. El filtro de URI malicioso está habilitado.
export FILTER_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "HIGH"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
}
}'
curl -X POST \
-d "$FILTER_CONFIG" \
-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_ID/templates?template_id=TEMPLATE_ID"
Para crear una plantilla de Model Armor con la detección de varios idiomas habilitada, debes pasar el parámetro TEMPLATE_CONFIG en tu comando.
Este parámetro define la configuración de los parámetros de configuración de detección de idioma.
Usa el siguiente comando para crear una nueva plantilla de Model Armor con la detección multilingüe habilitada.
curl -X POST \
-d "{'TEMPLATE_CONFIG': {} }" \
-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=TEMPLATE_ID"
En el siguiente ejemplo, se muestra la configuración de la plantilla Model Armor con la detección en varios idiomas habilitada.
export TEMPLATE_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "HIGH"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"multiLanguageDetection": {
"enableMultiLanguageDetection": true
}
}
}'
curl -X POST \
-d "$TEMPLATE_CONFIG" \
-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_ID/templates?template_id=TEMPLATE_ID"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# para Model Armor.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Model Armor.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Model Armor.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Model Armor.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP para Model Armor.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Model Armor.
Configura las detecciones
Las detecciones son las verificaciones específicas que Model Armor realiza en las instrucciones y las respuestas. Model Armor ofrece un sistema flexible para configurar las detecciones, lo que te permite adaptar el nivel de protección de tus aplicaciones de IA. Las detecciones se configuran cuando creas plantillas. Model Armor realiza las siguientes verificaciones de detección en las instrucciones y respuestas:
Detección de URLs maliciosas: Identifica direcciones web (URLs) diseñadas para dañar a usuarios o sistemas. Estas URLs pueden dirigir a sitios de phishing, descargas de software malicioso o ciberataques. Para obtener más información, consulta Detección de URLs maliciosas.
Detección de inyección de instrucciones y jailbreak: Detecta contenido malicioso y intentos de jailbreak en una instrucción. Te recomendamos que establezcas el nivel de confianza en Alto para minimizar los falsos positivos y garantizar un comportamiento de detección coherente. Aunque establecer el nivel de confianza en Alto reduce la tasa de falsos positivos, es posible que, en casos excepcionales, sigas observando falsos positivos. Para obtener más información, consulta Detección de inyección de instrucciones y jailbreak.
Sensitive Data Protection: Detecta datos sensibles y ayuda a evitar su exposición accidental por ataques como la inyección de instrucciones. Para obtener más información, consulta Sensitive Data Protection.
Establece la configuración de Sensitive Data Protection
Model Armor aprovecha la protección de datos sensibles para identificar y evitar la exposición de información sensible en tus interacciones con LLMs. Para obtener más información, consulta Sensitive Data Protection.
Model Armor ofrece dos modos para configurar Sensitive Data Protection:
Básica: Es un enfoque más simple que usa infotipos predefinidos para detectar datos sensibles. Para obtener más información sobre el Infotipo predefinido, consulta Configuración básica de la Protección de datos sensibles.
Avanzada: Es una opción más configurable que usa una plantilla de inspección definida en el servicio Sensitive Data Protection como una única fuente para los Infotipos de datos sensibles.
Si seleccionas el modo Avanzado, debes especificar los siguientes parámetros:
Plantilla de inspección: Plantillas para guardar la información de configuración en trabajos de análisis de inspección, que incluyen qué detectores personalizados o predefinidos usar. Ingresa el nombre de la plantilla con el siguiente formato:
projects/projectId/locations/locationId/inspectTemplates/templateNameOpcional: Plantilla de desidentificación: Plantillas para guardar la información de configuración en trabajos de desidentificación, que incluyen transformaciones de Infotipo y de conjunto de datos estructurados. Ingresa un identificador para la plantilla de desidentificación en el siguiente formato:
projects/projectId/locations/locationId/deidentifyTemplates/templateName
Verifica que la plantilla de inspección y la plantilla de desidentificación existan en Sensitive Data Protection. Si la plantilla reside en un proyecto diferente, se le debe otorgar al agente de servicio de Model Armor el rol de usuario de DLP (roles/dlp.user) y el rol de lector de DLP (roles/dlp.reader) para ese proyecto.
Cómo establecer el nivel de confianza
El nivel de confianza representa la probabilidad de que los resultados coincidan con un tipo de filtro de contenido. Puedes establecer el nivel de confianza para cada filtro de contenido. Los valores posibles son los siguientes:
- Ninguno: No se detecta ningún tipo de contenido.
- Bajo y superior: Se detecta contenido con un nivel de confianza bajo, medio o alto.
- Medio y superior: Se detecta contenido con un nivel de confianza medio o alto.
- Alto: Se detecta contenido con un nivel de confianza alto.
Para una aplicación más estricta, establece el nivel de confianza en Bajo y superior para detectar la mayoría del contenido que se incluye en un tipo de filtro.
Para habilitar el registro integral en una plantilla, consulta Registro de auditoría de Model Armor.
Cómo definir el tipo de aplicación para las plantillas
Para configurar cómo Model Armor controla las detecciones, establece el tipo de aplicación.
En el siguiente ejemplo, se muestra la configuración de la plantilla de Model Armor con el tipo de aplicación Inspect only.
export TEMPLATE_CONFIG='{ "filter_config": { "rai_settings": { "rai_filters": [{ "filter_type": "HATE_SPEECH", "confidence_level": "MEDIUM_AND_ABOVE" }, { "filter_type": "HARASSMENT", "confidence_level": "MEDIUM_AND_ABOVE" }, { "filter_type": "DANGEROUS", "confidence_level": "MEDIUM_AND_ABOVE" },{ "filter_type": "SEXUALLY_EXPLICIT", "confidence_level": "MEDIUM_AND_ABOVE" }] }, "pi_and_jailbreak_filter_settings": { "filter_enforcement": "ENABLED", "confidence_level": "HIGH" }, "malicious_uri_filter_settings": { "filter_enforcement": "ENABLED" } }, "template_metadata": { "enforcement_type": "INSPECT_ONLY", "multi_language_detection": { "enable_multi_language_detection": true } } }' curl -X POST \ -d "$TEMPLATE_CONFIG" \ -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=TEMPLATE_ID"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.TEMPLATE_ID: Es el ID de la plantilla que se creará.LOCATION: Es la ubicación de la plantilla.
Cómo ver una plantilla de Model Armor
Consulta las plantillas existentes para comprender qué configuraciones están disponibles y solucionar problemas relacionados con el filtro de instrucciones y respuestas.
Console
En la consola de Google Cloud , accede a la página de Model Armor.
Verifica que estés viendo el proyecto en el que activaste Model Armor. Se muestra la página Model Armor, en la que se enumeran las plantillas creadas para tu proyecto.
Haz clic en cualquier plantilla de la lista para ver sus detalles.
gcloud
Ejecuta el siguiente comando:
gcloud model-armor templates describe TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
Reemplaza lo siguiente:
LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
REST
Ejecuta el comando siguiente:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.TEMPLATE_ID: Es el ID de la plantilla que se visualizará.LOCATION: Es la ubicación de la plantilla.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# para Model Armor.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Model Armor.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Model Armor.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Model Armor.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP para Model Armor.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Model Armor.
Actualiza una plantilla de Model Armor
Actualiza tus plantillas con regularidad para mantener una postura de seguridad sólida y eficaz para tus aplicaciones de IA.
Console
En la consola de Google Cloud , accede a la página de Model Armor.
Verifica que estés viendo el proyecto en el que activaste Model Armor. Se mostrará la página Model Armor con una lista de las plantillas creadas para tu organización.
Haz clic en la plantilla que deseas actualizar en la lista. Se muestra la página Detalles de la plantilla.
Haz clic en Editar.
Actualiza los parámetros obligatorios y haz clic en Guardar.
gcloud
Ejecuta el siguiente comando:
gcloud model-armor templates update TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
Reemplaza lo siguiente:
LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
REST
Ejecuta el comando siguiente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "$FILTER_CONFIG" \ "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=UPDATE_MASK"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.UPDATE_MASK: Los campos que se actualizarán, comofilterConfigyfilterConfig.piAndJailbreakFilterSettings. Si dejas este campo vacío, se actualizará toda la configuración del filtro.
Todos los demás campos son inmutables. Los intentos de actualizar otros campos (por ejemplo, el nombre de la plantilla) generan un error.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# para Model Armor.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Model Armor.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Model Armor.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Model Armor.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP para Model Armor.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Model Armor.
Borra una plantilla de Model Armor
Borra una plantilla cuando ya no se use, cuando se reemplace por una nueva o cuando cambien las políticas de seguridad.
Console
En la consola de Google Cloud , accede a la página de Model Armor.
Verifica que estés viendo el proyecto en el que activaste Model Armor. Se mostrará la página Model Armor con una lista de las plantillas creadas para tu organización.
Haz clic en la plantilla que deseas borrar de la lista. Se muestra la página Detalles de la plantilla.
Haz clic en Borrar. Aparecerá un diálogo de confirmación.
Ingresa el nombre de la plantilla para confirmar la eliminación y haz clic en Borrar.
gcloud
Ejecuta el siguiente comando:
gcloud model-armor templates delete TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
Reemplaza lo siguiente:
LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
REST
Ejecuta el comando siguiente:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.LOCATION: Es la ubicación de la plantilla.TEMPLATE_ID: Es el ID de la plantilla.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# para Model Armor.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Model Armor.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Model Armor.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Model Armor.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP para Model Armor.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Model Armor.
Metadatos de la plantilla
Los metadatos de la plantilla de Model Armor te ayudan a configurar el comportamiento de Model Armor, incluido el manejo de verificaciones de seguridad, el manejo de errores y el comportamiento de registro.
Los metadatos de la plantilla de Model Armor incluyen los siguientes campos:
| Metadatos | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| multiLanguageDetection | Booleano | Falso | Habilita la detección de varios idiomas. |
| enforcement_type | Enum | INSPECT_AND_BLOCK |
Define el tipo de aplicación. Usa uno de los siguientes valores:
|
| log_template_operations | Booleano | Falso | Habilita el registro de las operaciones de la plantilla. |
| log_sanitize_operations | Booleano | Falso | Habilita el registro de las operaciones de saneamiento. |
¿Qué sigue?
- Obtén más información sobre la descripción general de Model Armor.
- Obtén más información sobre la configuración mínima de Model Armor.
- Limpia las instrucciones y las respuestas.
- Soluciona problemas de Model Armor.