本文档介绍了 Model Armor 过滤条件版本的工作原理,以及如何指示 Model Armor 在操作中使用特定过滤条件版本或过滤条件版本别名。
Model Armor 使用过滤条件来检测和屏蔽 LLM 提示和回答中的有害内容、敏感数据、恶意网址和提示注入攻击。如需了解详情,请参阅 Model Armor 过滤条件。
Model Armor 过滤条件版本可为生产工作负载提供稳定性,并提供对最新威胁检测模型的访问权限。您可以在模板级配置单个过滤条件版本。您无法为各个过滤条件指定不同的版本。
何时配置过滤条件版本和别名
以下是一些常见使用场景:
- 锁定确定性过滤行为:将模板设置为特定 过滤条件版本,以防止 任务关键型系统中的威胁检测逻辑发生更改。
- 接收自动安全更新:使用
Stable别名,以便在更新后的威胁检测模型通过验证后自动采用这些模型。 - 测试即将推出的检测功能:在
预生产环境中使用
Latest别名,根据真实流量模式评估新的过滤条件规则。 - 启用可预测的发布周期:在手动更新生产模板之前,针对新发布的过滤条件版本验证工作负载。
版本别名
在 Model Armor 模板中,您可以使用别名来指定首选过滤条件版本。别名表示版本生命周期中的一个阶段。 随着生命周期的推进,每个别名都会设置为相应的版本。
如果您选择别名,模板将使用该别名设置的版本。
当该别名的底层版本更新时(例如,当新版本升级为 Stable 时),使用该别名的模板会自动使用新版本。如果您不希望过滤条件版本发生更改,请将模板指向特定过滤条件版本。
您可以从以下别名中进行选择:
Latest:具有最新模型和保护功能的别名,会针对新出现的威胁进行频繁更新。此别名提供标准服务等级目标 (SLO),但稳定性可能会因版本而异。它适用于测试、预演以及优先考虑最新检测模型而非一致过滤行为的工作负载。Stable:适用于具有可用模板的版本的默认别名。此别名提供可靠且不变的检测逻辑,适用于需要不变过滤行为的生产环境和工作负载。 当新版本变为Stable时,之前的Stable版本会变为Legacy。Legacy:适用于较早的Stable版本的别名,在新Stable版本发布后仍可使用 90 天。在此期间,您可以随时将生产系统迁移到新的Stable版本。您无法使用Legacy版本创建新模板。Retired:适用于已超过 90 天的旧版期限且不再可用的版本的别名。Model Armor 使用Stable版本来清理对仍在使用Retired版本的模板的调用。
不使用过滤条件版本的过滤条件
过滤条件版本设置不会影响 Sensitive Data Protection 和恶意网址过滤条件。
版本生命周期
Google Cloud 会在每个 清理 API 响应中提供有关版本生命周期变更的通知,
包括版本何时变为 Legacy 及其即将停用的日期。您必须在 90 天内将使用 Legacy 版本的任何模板迁移到 Stable 或 Latest。
以下示例介绍了版本生命周期:
- 发布 (
Latest) :Google 将新的过滤条件版本 (v2) 作为Latest发布。 - 升级(
Latest到Stable) :当 Google 将Latest版本升级为Stable(v2变为Stable)时,会发生以下情况:- Google 将之前的
Stable版本 (v1) 移至Legacy。 - 新版本 (
v3) 成为新的Latest。Google 会在版本经过严格测试、展示一致的每日使用情况且客户问题最少时,或者在需要关键威胁防护时,升级版本。
- Google 将之前的
- 停用(
Legacy到Retired) :过滤条件版本在Legacy状态下保留 90 天后,Google 会将其停用,并且该版本不再可用。
版本发布时间表
下表详细介绍了过滤条件版本,包括别名、发布日期、弃用日期和受支持的区域。
| 版本 | 别名 | 发布日期 | 弃用日期 | 受支持的区域 |
|---|---|---|---|---|
v1 |
Legacy
( |
2025-01-30 | 2026-12-17 |
|
v2 |
Legacy |
2025-06-19 | 2026-12-17 |
|
v3 |
Stable
(自 2026 年 9 月 25 日起在
|
2026-05-25 | — |
|
v4 |
Latest |
2026-09-18 | — |
|
如需了解每个版本中的变化,请参阅 过滤条件版本记录。
模板行为
模板行为取决于所使用的过滤条件版本,并具有以下特征:
- 没有版本的模板:无论新模板还是现有模板,如果没有指定版本,则默认使用
Stable版本。 具有
Latest或Stable别名的模板:这些模板会自动 使用分配给这些别名的版本。例如,当新的过滤条件版本成为Stable版本时,使用Stable别名的模板会移至新版本,而无需进行任何模板更改。使用特定版本的模板:
- 如果版本与
Latest或Stable版本对应,则模板的行为符合预期。 - 如果版本与
Legacy版本对应,则在 90 天内用于清理操作时,模板的行为符合预期。90 天后,版本将进入Retired阶段。在此阶段,您必须将模板迁移到Latest或Stable版本。
- 如果版本与
替换下限设置的默认过滤条件版本
借助 下限设置,
Gemini Enterprise Agent Platform
集成默认使用 Stable
过滤条件版本。如需替换此设置,请在对 Gemini 模型进行 generateContent 调用时指定模板。为此,请在您计划发送 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"
替换以下内容:
FILTER_VERSION_ALIAS:您首选的过滤条件版本别名。请使用FILTER_VERSION_ALIAS_STABLE或FILTER_VERSION_ALIAS_LATEST。PROJECT_ID:模板所属项目的 ID。TEMPLATE_ID:要创建的模板的 ID。LOCATION:用于存储 Model Armor 模板的区域。此区域必须与您计划发送 Gemini 请求的区域相同;否则,Agent Platform 会收到Template not found错误。如需查看此集成支持的区域列表, 请参阅 与 Gemini Enterprise Agent Platform 集成。
在 Gemini 调用中的 model_armor_config 对象中提供模板 ID。系统会应用模板中指定的过滤条件配置,而不是项目级下限设置。
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"
}
}'
替换以下内容:
PROJECT_ID: Google Cloud 项目 ID。REGION:Gemini 端点的 Google Cloud 区域 。LOCATION:存储 Model Armor 模板的区域。此区域必须与为REGION指定的区域相同。TEMPLATE_ID:Model Armor 模板 ID。
为模板配置过滤条件版本
您可以通过以下两种方式之一为模板配置过滤条件版本:
- 使用别名:使用
Stable或Latest等动态别名,让 模板自动使用与您 首选别名对应的版本号。这样做可以避免在底层版本发生更改时进行手动更新。 - 使用版本号:使用
v1等版本号,确保 模板设置为指定版本,即使别名更新,也能确保行为固定不变。
使用版本别名创建模板
如需使用特定版本别名创建模板,请运行以下命令:
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"
替换以下内容:
FILTER_VERSION_ALIAS:您首选的过滤条件版本别名。请使用FILTER_VERSION_ALIAS_STABLE或FILTER_VERSION_ALIAS_LATEST。PROJECT_ID:模板所属项目的 ID。TEMPLATE_ID:要创建的模板的 ID。LOCATION:模板的 位置。
响应类似于以下示例:
{
"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"
}
}
}
使用特定过滤条件版本创建模板
如果您需要过滤条件不可变,可以创建与特定版本对应的模板。为此,请运行以下命令:
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"
替换以下内容:
PROJECT_ID:模板所属项目的 ID。TEMPLATE_ID:要创建的模板的 ID。LOCATION:模板的 位置。FILTER_VERSION_NUMBER:您首选的过滤条件版本号(例如v1)。
响应类似于以下示例:
{
"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"
}
}
}
更新模板的过滤条件版本
如需更新现有模板的过滤条件版本或别名,请运行以下命令:
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"
替换以下内容:
FILTER_VERSION_ALIAS:您首选的过滤条件版本别名。请使用FILTER_VERSION_ALIAS_STABLE或FILTER_VERSION_ALIAS_LATEST。PROJECT_ID:模板所属项目的 ID。TEMPLATE_ID:要创建的模板的 ID。LOCATION:模板的 位置。
响应类似于以下示例:
{
"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"
}
}
}
查看清理操作中使用的过滤条件版本
Sanitize API 响应 元数据 包含 有关清理期间使用的过滤条件版本的信息。在 Google 停用该版本之前的 30 天,您会在清理 API 响应中收到弃用警告。
以下示例展示了一个包含过滤条件版本的 API 响应:
"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 会在 Cloud Logging 中生成清理请求及其响应的平台日志。如需详细了解 自动生成的审核日志,请参阅 Model Armor 审核 日志记录。