在 Gemini Enterprise 中启用 Model Armor

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

Model Armor 不会移除或更改个人身份信息 (PII),也不会遮盖敏感数据。不过,Gemini Enterprise 会屏蔽 Gemini Enterprise 助理触发 Sensitive Data Protection 检测器的任何回答。

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

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

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

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

模式 说明
允许用户互动 在此模式下,当 Model Armor 筛查服务不可用时,Gemini Enterprise 会在未进行主动筛查的情况下允许请求和回答 通过,确保与最终用户的持续通信。不过,这偶尔可能会呈现未经筛查的消息或针对未经筛查的查询提供回答。
屏蔽所有用户互动 在此模式下,当 Model Armor 筛查服务不可用时,Gemini Enterprise 会屏蔽所有请求和响应,包括合法请求和响应。

准备工作

  • 确保您和服务账号已获分配所需角色:

    • 如需在 Gemini Enterprise 中启用 Model Armor,您 需要拥有 Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) 角色。

    • 如需创建 Model Armor 模板,您需要拥有 Model Armor Admin 角色 (roles/modelarmor.admin)。

    • 如需调用 Model Armor API,您需要拥有 Model Armor User 角色 (roles/modelarmor.user)。

    • 如果您的 Model Armor 模板与 您的 Gemini Enterprise 应用位于不同的项目中,则模板的项目必须 向 Gemini Enterprise 应用的 服务 账号授予 Model Armor User 角色 (roles/modelarmor.user)。服务账号 ID 为 service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.,其中 PROJECT_NUMBER 是 Gemini Enterprise 应用的项目编号。
  • 确保您已创建 Gemini Enterprise 应用。如需创建应用,请参阅 创建应用

创建 Model Armor 模板

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

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

  • 您可以在一个项目中集中创建 Model Armor 模板,并在不同项目中重复使用这些模板。如果您使用跨项目模板, 请确保按照 准备工作中的说明配置跨项目权限。

  • 区域 字段中,选择多区域 。下表显示了如何将 Model Armor 模板区域与 Gemini Enterprise 应用区域相对应:

    Gemini Enterprise 应用多区域 Model Armor 多区域
    全球
    • 美国(美国的多个区域)
    • 欧盟(欧盟的多个区域)
    美国(美国的多个区域) 美国(美国的多个区域)
    欧盟(欧盟的多个区域) 欧盟(欧盟的多个区域)
  • Google 不建议在 Gemini Enterprise 应用的 Model Armor 模板中配置 Cloud Logging。此配置可能会向具有 Private Logs Viewer (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/v1/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 模板的资源名称 。您可以使用在同一项目中创建的 Model Armor 模板,也可以使用来自不同项目的 Model Armor 模板。

  • FAIL_MODE:当 Model Armor 不可用时的运作模式:FAIL_CLOSEDFAIL_OPEN
    如果未定义 FAIL_MODE,则 FAIL_CLOSED 是默认模式,在这种模式下,如果 Model Armor 处理失败,系统会屏蔽用户与 Gemini Enterprise 助理的所有互动。如需了解详情,请参阅 Model Armor 不可用时 Gemini Enterprise 支持的 两种模式

测试 Model Armor 模板是否已启用

配置 Model Armor 模板后,测试您的 Gemini Enterprise 应用是否会根据 Model Armor 过滤条件中设置的置信度级别,主动筛查并屏蔽相应的用户提示和 Gemini Enterprise 助理的回答。

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

控制台

例如,您会看到以下违规消息:
显示用户在违反为应用启用的 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/v1/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 使用 Sensitive Data Protection 模板扫描提示或回答时,Model Armor 会检查内容是否与模板中定义的检测器条件匹配。虽然 Sensitive Data Protection 支持基于 模板配置进行去标识化,但 Model Armor 不会 将去标识化或遮盖的数据传递回 Gemini Enterprise。如果内容触发了敏感数据保护中的任何检测器 并且强制执行类型为 INSPECT_AND_BLOCK, Gemini Enterprise 会屏蔽请求或回答,而不是 对其进行去标识化。
令牌限制和配额 虽然将 Model Armor 与 Gemini Enterprise 搭配使用时没有直接的令牌限制,但 Model Armor 评估的总吞吐量仍会受到 Gemini Enterprise 系统配额和 Model Armor API 速率限制的间接控制。
服务等级协议 Gemini Enterprise 提供服务等级协议。 如果 Gemini Enterprise 配置为使用 Model Armor,则无论使用 应急开启 模式还是 应急关闭 模式,被屏蔽的查询都不会计为违反 SLA。
法规遵从 Gemini Enterprise 和 Model Armor 均提供 各种合规性认证。如果同时使用这两款产品,有效的 合规性认证将是两者的交集。Google 建议您查阅这两款产品的合规性认证,确保它们符合您的监管要求。
文档和图片筛查 除了文本提示之外,Model Armor 集成 还支持文档(例如 PDF)和图片。只有在您将以下文件上传到 Gemini Enterprise 助理时,Model Armor 集成 才会对其进行筛查:
  • 文档(例如 PDF、CSV 和文本文件)。
  • 您直接上传的图片。
  • 包含在您直接上传的其他文件和文档中的图片。
如果文件或文档中的图片违反了您配置的 政策,系统会舍弃整个文件或文档,并将其从 请求中排除。如需查看支持的文档类型的列表,请参阅文档 筛查
筛查的互动和智能体 如果 Model Armor 模板配置为筛查用户 请求,则在 Gemini Enterprise 中,系统只会筛查与以下智能体的互动: 与贵组织的自定义智能体(例如 ADK、 A2A 和 Dialogflow)的互动不会被筛查。

后续步骤