En este documento, se describe cómo funcionan las versiones de filtros de Model Armor y cómo indicarle a Model Armor que use una versión de filtro o un alias de versión de filtro específicos en las operaciones.
Model Armor usa filtros para detectar y bloquear contenido dañino, datos sensibles, URLs maliciosas y ataques de inyección de instrucciones en las instrucciones y respuestas de los LLM. Para obtener más información, consulta Filtros de Model Armor.
Las versiones de filtros de Model Armor proporcionan estabilidad para las cargas de trabajo de producción y acceso a los modelos de detección de amenazas más recientes. Configuras una sola versión de filtro a nivel de la plantilla. No puedes especificar versiones diferentes para filtros individuales.
Cuándo configurar versiones y alias de filtros
A continuación, se muestran algunos casos de uso comunes:
- Bloquea el comportamiento de filtrado determinístico: Configura las plantillas en una versión de filtro específica para evitar cambios en la lógica de detección de amenazas en los sistemas de misión crítica.
- Recibe actualizaciones de seguridad automáticas: Usa el alias
Stablepara adoptar modelos de detección de amenazas actualizados automáticamente a medida que pasan la validación. - Prueba las próximas capacidades de detección: Usa el alias
Latesten entornos de preproducción para evaluar las nuevas reglas de filtro con patrones de tráfico del mundo real. - Habilita ciclos de lanzamiento predecibles: Valida las cargas de trabajo con las versiones de filtro lanzadas recientemente antes de actualizar de forma manual las plantillas de producción.
Alias de versiones
En una plantilla de Model Armor, puedes usar un alias para especificar la versión del filtro que prefieras. Un alias representa una etapa en el ciclo de vida de la versión. Cada alias se establece en la versión adecuada a medida que avanza el ciclo de vida.
Si seleccionas un alias, la plantilla usará la versión para la que se estableció el alias.
Cuando se actualiza la versión subyacente de ese alias (por ejemplo, cuando se asciende una versión nueva
a Stable), las plantillas que usan el alias usan automáticamente
la versión nueva. Si no quieres que cambie la versión del filtro, apunta la
plantilla a una versión específica del filtro.
Puedes elegir entre los siguientes alias:
Latest: Es el alias con los modelos y las protecciones más recientes, con actualizaciones frecuentes contra las amenazas emergentes. Este alias ofrece objetivos de nivel de servicio (SLO) estándar, pero la estabilidad puede variar entre las versiones. Es adecuado para pruebas, entornos de etapa de pruebas y cargas de trabajo que priorizan los modelos de detección recientes por sobre el comportamiento coherente de los filtros.Stable: Es el alias predeterminado para las versiones con plantillas disponibles. Este alias ofrece una lógica de detección confiable y sin cambios, y es adecuado para entornos de producción y cargas de trabajo que requieren un comportamiento de filtro sin cambios. Cuando una versión nueva se convierte enStable, la versiónStableanterior se convierte enLegacy.Legacy: Es el alias de una versión anterior deStableque permanece disponible durante 90 días después de que se lanza una nueva versión deStable. Puedes migrar tus sistemas de producción a la nueva versión deStableen cualquier momento durante este período. No puedes crear plantillas nuevas con una versiónLegacy.Retired: Es el alias de una versión que superó el período heredado de 90 días y ya no está disponible. Model Armor usa la versiónStablepara limpiar las llamadas a las plantillas que aún usan una versiónRetired.
Filtros que no usan versiones de filtro
La configuración de la versión del filtro no afecta a los filtros de Sensitive Data Protection ni de URLs maliciosas.
Ciclo de vida de las versiones
Google Cloud proporciona notificaciones sobre los cambios en el ciclo de vida de las versiones,
incluido el momento en que una versión se convierte en Legacy y su próxima fecha de retiro en
cada respuesta de la API de Sanitize. Debes migrar cualquier
plantilla que use una versión Legacy a Stable o Latest dentro del
período de 90 días.
En el siguiente ejemplo, se describe el ciclo de vida de la versión:
- Versión (
Latest): Google lanza una nueva versión de filtro (v2) comoLatest. - Ascenso (de
LatestaStable): Cuando Google asciende la versiónLatestaStable(v2se convierte enStable), ocurre lo siguiente:- Google mueve la versión anterior de
Stable(v1) aLegacy. - Una versión nueva (
v3) se convierte en la nuevaLatest. Google promueve una versión después de que se somete a pruebas rigurosas, demuestra un uso diario constante y tiene problemas mínimos para los clientes, o cuando se hace necesaria la protección contra amenazas críticas.
- Google mueve la versión anterior de
- Retiro (de
LegacyaRetired): Después de que una versión de filtro permanece en el estadoLegacydurante 90 días, Google la retira y ya no está disponible.
Cronograma de lanzamiento de versiones
En la siguiente tabla, se comparten detalles sobre las versiones de los filtros, incluidos los alias, las fechas de lanzamiento, las fechas de retiro y las regiones admitidas.
| Versión | Alias | Fecha de lanzamiento | Fecha de retiro | Región admitida |
|---|---|---|---|---|
v1 |
Legacy
( |
2025-01-30 | 2026-12-17 |
|
v2 |
Legacy |
2025-06-19 | 2026-12-17 |
|
v3 |
Stable
( |
2026-05-25 | — |
|
v4 |
Latest |
2026-09-18 | — |
|
Para obtener información sobre los cambios en cada versión, consulta Historial de versiones de filtros.
Comportamiento de la plantilla
El comportamiento de la plantilla depende de la versión del filtro que se use y sigue estas características:
- Plantillas sin versión: Las plantillas sin una versión especificada,
ya sean nuevas o existentes, se establecen de forma predeterminada en la versión
Stable. Plantillas con alias
LatestoStable: Estas plantillas usan automáticamente la versión asignada a estos alias. Por ejemplo, cuando una versión nueva del filtro se convierte en la versiónStable, las plantillas que usan el aliasStablese mueven a la versión nueva sin necesidad de realizar cambios en la plantilla.Plantillas que usan una versión específica:
- Si la versión corresponde a una versión
LatestoStable, la plantilla se comporta como se espera. - Si la versión corresponde a una versión
Legacy, la plantilla se comporta como se espera cuando se usa para operaciones de limpieza durante un período de 90 días. Después de 90 días, la versión pasa a la faseRetired. Durante esta fase, debes migrar tus plantillas a la versiónLatestoStable.
- Si la versión corresponde a una versión
Anula la versión del filtro predeterminada para la configuración de precios mínimos
Con la configuración de piso, la
integración de Gemini Enterprise Agent Platform usa la versión del filtro Stable de forma predeterminada. Para anular este parámetro de configuración, especifica una plantilla en la
llamada generateContent al modelo de Gemini. Para ello, crea una
plantilla con una versión o un alias de filtro específicos en la misma región a la que
planeas enviar la solicitud de Gemini.
export TEMPLATE_CONFIG='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}'
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
Reemplaza lo siguiente:
FILTER_VERSION_ALIAS: Es el alias de la versión del filtro que prefieras. UsaFILTER_VERSION_ALIAS_STABLEoFILTER_VERSION_ALIAS_LATEST.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 región en la que se almacenará la plantilla de Model Armor. Esta región debe ser la misma en la que planeas enviar la solicitud de Gemini. De lo contrario, Agent Platform recibirá un errorTemplate not found. Para obtener una lista de las regiones compatibles con esta integración, consulta Integración en Gemini Enterprise Agent Platform.
Proporciona el ID de la plantilla en el objeto model_armor_config en tu llamada a Gemini. Se aplica la configuración de filtro especificada en la plantilla
en lugar de la configuración mínima a nivel de proyecto.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/gemini-2.5-flash:generateContent" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Your prompt here"
}
]
}
],
"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 .REGION: Es la región deGoogle Cloud del extremo de Gemini.LOCATION: Es la región en la que se almacena la plantilla de Model Armor. Debe ser la misma región especificada paraREGION.TEMPLATE_ID: Es el ID de la plantilla de Model Armor.
Configura una versión de filtro para una plantilla
Puedes configurar la versión del filtro para una plantilla de una de las siguientes maneras:
- Con un alias: Usa alias dinámicos como
StableoLatestpara que la plantilla use automáticamente un número de versión que corresponda a tu alias preferido. De esta manera, se elimina la necesidad de realizar actualizaciones manuales cuando cambia la versión subyacente. - Con un número de versión: Usa un número de versión, como
v1, para asegurarte de que una plantilla se establezca en una versión específica, lo que garantiza un comportamiento fijo y sin cambios, incluso cuando se actualizan los alias.
Crea una plantilla con un alias de versión
Para crear una plantilla con un alias de versión específico, ejecuta el siguiente comando:
export TEMPLATE_CONFIG='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}'
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
Reemplaza lo siguiente:
FILTER_VERSION_ALIAS: Es el alias de la versión del filtro que prefieras. UsaFILTER_VERSION_ALIAS_STABLEoFILTER_VERSION_ALIAS_LATEST.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.
La respuesta es similar a lo que se muestra a continuación:
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T17:57:46.976854398Z",
"updateTime": "2026-04-05T17:57:46.976854398Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}
Crea una plantilla con una versión de filtro específica
Si necesitas que el filtro sea inmutable, puedes crear una plantilla que corresponda a una versión específica. Para ello, ejecuta el comando que se indica a continuación:
export TEMPLATE_CONFIG='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"version": "FILTER_VERSION_NUMBER"
}
}
}'
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"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.FILTER_VERSION_NUMBER: Es el número de versión del filtro que prefieres (por ejemplo,v1).
La respuesta es similar a lo que se muestra a continuación:
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T18:03:29.134974974Z",
"updateTime": "2026-04-05T18:03:29.134974974Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"version": "FILTER_VERSION_NUMBER"
}
}
}
Actualiza la versión del filtro de una plantilla
Para actualizar la versión o el alias del filtro de una plantilla existente, ejecuta el siguiente comando:
export TEMPLATE_CONFIG='{
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}'
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "$TEMPLATE_CONFIG" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=templateMetadata.filterVersionSelector"
Reemplaza lo siguiente:
FILTER_VERSION_ALIAS: Es el alias de la versión del filtro que prefieras. UsaFILTER_VERSION_ALIAS_STABLEoFILTER_VERSION_ALIAS_LATEST.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.
La respuesta es similar a lo que se muestra a continuación:
{
"name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
"createTime": "2026-04-05T18:03:29.134974974Z",
"updateTime": "2026-04-05T18:04:07.711205953Z",
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"filterVersionSelector": {
"alias": "FILTER_VERSION_ALIAS"
}
}
}
Consulta la versión del filtro que se usa en las operaciones de limpieza
Los metadatos de respuesta de la API de Sanitize incluyen información sobre la versión del filtro que se usa durante la limpieza. Recibirás una advertencia de baja en la respuesta de la API de Sanitize 30 días antes de que Google retire la versión.
En el siguiente ejemplo, se muestra una respuesta de la API que incluye la versión del filtro:
"sanitizationResult": { "filterMatchState": "NO_MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "malicious_uris": { "maliciousUriFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "rai": { "raiFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND", "raiFilterTypeResults": { "sexually_explicit": { "matchState": "NO_MATCH_FOUND" }, "hate_speech": { "matchState": "NO_MATCH_FOUND" }, "harassment": { "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" } } } }, "sanitizationMetadata": { "filterVersionConfig": { "filterVersion": "v2", "filterVersionAlias": "FILTER_VERSION_ALIAS_LEGACY", "releaseDate": { "year": 2025, "month": 6, "day": 19 }, "projectedDeprecationDate": { "year": 2026, "month": 12, "day": 17 }, "messageItems": [ { "messageType": "WARNING", "message": "This filter version (v2) is in LEGACY state and will be RETIRED on 2026-12-17. Please migrate your template to the STABLE or LATEST version to ensure continued protection." } ] } }, }
Model Armor genera registros de plataforma para las solicitudes de limpieza y sus respuestas en Cloud Logging. Para obtener más información sobre los registros de auditoría generados de forma automática, consulta Registro de auditoría de Model Armor.