在 Gemini Enterprise 中启用 Model Armor

本文档介绍了如何为 Gemini Enterprise 启用 Model Armor。Model Armor 是一项 Google Cloud 服务,可通过主动过滤 Gemini Enterprise 助理提供的提示和回答来增强 AI 应用的安全性和保障性。这有助于防范各种风险,并确保 Responsible AI 实践。所有 Gemini Enterprise 版本均支持 Model Armor,无需额外付费。

Model Armor 对用户查询或 Gemini Enterprise 助理的回答中潜在问题的响应受模板的强制执行类型控制。如需了解详情,请参阅定义强制执行类型

  • 如果强制执行类型为检查并阻止,Gemini Enterprise 会阻止请求并显示错误消息。这是使用控制台创建 Model Armor 模板时的默认强制执行类型。

  • 如果强制执行类型为仅检查,Gemini Enterprise 不会阻止请求或回答。

当 Model Armor 筛查服务不可用时,您可以将 Gemini Enterprise 配置为以下行为之一:

模式 说明
允许用户互动 在此模式下,如果 Model Armor 筛查服务不可用,Gemini Enterprise 允许请求和回答通过,而无需主动筛查,从而确保与最终用户的持续通信。不过,这偶尔可能会显示未过滤的消息或针对未过滤的查询提供回答。
阻止所有用户互动 在此模式下,当 Model Armor 过滤服务不可用时,Gemini Enterprise 会阻止所有请求和回答,包括合法请求和回答。

准备工作

创建 Model Armor 模板

您可以为用户提示和助理的回答创建并使用同一 Model Armor 模板,也可以创建两个单独的 Model Armor 模板。如需了解详情,请参阅创建 Model Armor 模板

为 Gemini Enterprise 应用创建 Model Armor 模板时,请考虑以下配置:

  • 区域字段中,选择多区域。下表展示了如何将 Model Armor 模板区域映射到 Gemini Enterprise 应用区域:

    Gemini Enterprise 应用多区域 Model Armor 多区域
    全球
    • 美国(美国的多个区域)
    • 欧盟(欧洲联盟的多个区域)
    美国(美国的多个区域) 美国(美国的多个区域)
    欧盟(欧洲联盟的多个区域) 欧盟(欧洲联盟的多个区域)
  • Google 不建议在 Gemini Enterprise 应用的 Model Armor 模板中配置云日志记录。此配置可能会向具有“私密日志查看者”(roles/logging.privateLogViewer) IAM 角色的用户公开敏感数据。请改为考虑以下方案:

    • 如果您需要记录通过 Model Armor 模板的数据,可以将日志重新路由到 BigQuery 等安全存储空间,这些存储空间提供更严格的访问权限控制。如需了解详情,请参阅将日志路由到支持的目的地

    • 您可以配置数据访问审核日志,以分析和报告 Model Armor 生成的请求和响应筛查判定。如需了解详情,请参阅配置审核日志

使用 Model Armor 模板配置 Gemini Enterprise 应用

以下步骤介绍了如何将 Model Armor 模板添加到 Gemini Enterprise 应用。

控制台

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

    Gemini Enterprise

  2. 点击要配置的应用的名称。

  3. 依次点击配置 > 助理

  4. 如需启用 Model Armor,请点击启用 Model Armor

  5. 对于用户提示的 Model Armor 模板回答输出的 Model Armor 模板,请输入您创建的 Model Armor 模板的资源名称

  6. 如果您想在 Model Armor 处理失败期间禁止用户互动,请点击在 Model Armor 处理失败期间允许用户互动切换开关,将其切换到关闭位置。如需了解详情,请参阅在 Model Armor 不可用时 Gemini Enterprise 支持的两种模式

  7. 点击 Save and publish(保存并发布)。

REST

如需将 Model Armor 模板添加到 Gemini Enterprise 应用,请运行以下命令:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
      "userPromptTemplate": "QUERY_PROMPT_TEMPLATE",
      "responseTemplate": "RESPONSE_PROMPT_TEMPLATE",
      "failureMode": "FAIL_MODE"
    }
  }
}'

替换以下内容:

  • PROJECT_ID:您的项目的 ID。
  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(适用于美国多区域)
    • 欧盟多区域的 eu-
    • global-(针对全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • LOCATION:数据存储区的多区域:globaluseu
  • APP_ID:要配置的应用的 ID。
  • QUERY_PROMPT_TEMPLATE:您创建的 Model Armor 模板的资源名称
    如需获取资源名称,请按照查看 Model Armor 模板文档中的步骤操作,然后复制资源名称值。
  • RESPONSE_PROMPT_TEMPLATE:您创建的 Model Armor 模板的资源名称
  • FAIL_MODE:当 Model Armor 不可用时的运行模式:FAIL_CLOSEDFAIL_OPEN
    如果未定义 FAIL_MODE,则 FAIL_CLOSE 是默认模式,在这种模式下,如果 Model Armor 处理失败,系统会阻止与 Gemini Enterprise 助理的所有互动。如需了解详情,请参阅 Model Armor 不可用时 Gemini Enterprise 支持的两种模式

测试 Model Armor 模板是否已启用

配置 Model Armor 模板后,请测试您的 Gemini Enterprise 应用是否会根据 Model Armor 过滤器中设置的置信度,主动过滤并阻止用户提示和 Gemini Enterprise 助理的回答。

如果 Model Armor 模板配置为检查并阻止违反政策的请求,系统会显示以下政策违规消息:

控制台

例如,您会看到以下政策违规消息:
显示用户违反为应用启用的型号盔甲模板时收到的消息。
Model Armor 政策违规消息

REST

包含以下内容的 JSON 响应:

answer.state = SKIPPED
answer.assist_skipped_reasons: [CUSTOMER_POLICY_VIOLATION]

从 Gemini Enterprise 应用中移除 Model Armor 模板

如需从 Gemini Enterprise 应用中移除 Model Armor 模板,请使用Google Cloud 控制台或 REST API。

控制台

如需从 Gemini Enterprise 应用中移除 Model Armor 模板,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

    Gemini Enterprise

  2. 点击要配置的应用的名称。

  3. 依次点击配置 > 助理

  4. 如需关闭 Model Armor,请点击启用 Model Armor 切换开关,以切换到关闭位置。

  5. 点击 Save and publish(保存并发布)。

REST

如需从 Gemini Enterprise 应用中移除 Model Armor 模板,请运行以下命令:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
  "customerPolicy": {
    "modelArmorConfig": {
    }
  }
}'

替换以下内容:

  • PROJECT_ID:您的项目的 ID。
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(适用于美国多区域)
    • 欧盟多区域的 eu-
    • global-(针对全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • LOCATION:数据存储区的多区域:globaluseu
  • APP_ID:要配置的应用的 ID。

配置审核日志

Model Armor 可以写入数据访问审核日志,您可以使用这些日志来分析和报告 Model Armor 生成的请求和响应筛查判定。这些日志不包含用户查询或 Gemini Enterprise 助理的回答,因此可安全地用于报告和分析。 如需了解详情,请参阅 Model Armor 的审核日志记录

如需访问这些日志,您需要拥有 Private Logs Viewer (roles/logging.privateLogViewer) IAM 角色。

启用数据访问审核日志

如需启用数据访问审核日志,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,依次前往 IAM 和管理 > 审核日志

  2. 选择 Model Armor API

  3. 权限类型部分,选择数据读取权限类型。

  4. 点击保存

查看数据访问审核日志

如需检查数据访问审核日志,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Logs Explorer

  2. 在日志中搜索以下方法名称:

    • methodName: "google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt" 查看已过滤的用户请求。

    • google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse 查看已过滤的回答。

使用 Model Armor 时的注意事项

将 Model Armor 与 Gemini Enterprise 搭配使用时,请考虑以下事项:

令牌 使用 Model Armor 的 Gemini Enterprise 应用的 token 限制由 Model Armor 中配置的特定过滤条件决定。 如需详细了解这些限制,请参阅 Model Armor 文档中的适用的令牌限制
服务等级协议 Gemini Enterprise 提供服务等级协议。 如果 Gemini Enterprise 配置为使用 Model Armor,则无论使用应急开启模式还是应急关闭模式,被屏蔽的查询都不会计为违反 SLA。
法规遵从 Gemini Enterprise 和 Model Armor 均提供各种合规性认证。如果同时使用,有效的合规性认证是这两个产品的共同子集。Google 建议您查看这两款产品的合规性认证,以确保它们符合您的监管要求。
文档过滤 如果 Model Armor 模板配置为筛查用户请求,则会筛查请求中包含的文档。当您向请求中添加文档时,系统会进行筛查。如果文档违反了配置的模板中的政策,系统会舍弃该文档,并且不会将其纳入请求中。 如需查看支持的证件类型列表,请参阅证件过滤