在 NotebookLM Enterprise 中启用 Model Armor

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

Model Armor 对用户查询或 NotebookLM Enterprise 回答中潜在问题的响应受模板的强制执行类型控制。

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

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

如需了解详情,请参阅定义强制执行类型

准备工作

确保您已获分配所需的角色:

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

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

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

创建 Model Armor 模板

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

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

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

    NotebookLM Enterprise 多区域 Model Armor 多区域
    全球
    • 美国(美国的多个区域)
    • 欧盟(欧盟的多个区域)
    美国(美国的多个区域) 美国(美国的多个区域)
    欧盟(欧盟的多个区域) 欧盟(欧盟的多个区域)
  • Google 不建议在 NotebookLM Enterprise 的 Model Armor 模板中配置 Cloud Logging。此配置可能会向具有 Private Logs Viewer (roles/logging.privateLogViewer) IAM 角色的用户公开敏感数据。请改为考虑以下方案:

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

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

使用 Model Armor 模板配置 NotebookLM Enterprise

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

REST

如需将 Model Armor 模板添加到 NotebookLM 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_NUMBER?update_mask=customerProvidedConfig" \
-d '{
  "customerProvidedConfig": {
    "notebooklmConfig": {
      "modelArmorConfig": {
        "userPromptTemplate": "QUERY_PROMPT_TEMPLATE",
        "responseTemplate": "RESPONSE_PROMPT_TEMPLATE"
      }
    }
  }
}'

替换以下内容:

  • PROJECT_ID:您的项目的 ID。
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(表示美国多区域)
    • eu-(表示欧盟多区域)
    • global-(表示全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • QUERY_PROMPT_TEMPLATE:您创建的 Model Armor 模板的资源名称
    如需获取资源名称,请按照查看 Model Armor 模板文档中的步骤操作,然后复制资源名称值。
  • RESPONSE_PROMPT_TEMPLATE:您创建的 Model Armor 模板的资源名称

测试 Model Armor 模板是否已启用

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

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

控制台

例如,您会看到以下违规消息:

显示用户在违反为 NotebookLM Enterprise 启用的 Model Armor 模板中的政策时收到的消息。
Model Armor 违规消息

REST

包含以下内容的 JSON 响应:

例如:json "answer.state": "SKIPPED", "answer.assist_skipped_reasons": "CUSTOMER_POLICY_VIOLATION_REASON"

从 NotebookLM Enterprise 中移除 Model Armor 模板

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

REST

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_NUMBER?update_mask=customer_provided_config" \
-d '{
  "customer_provided_config": {
    "notebooklm_config": {
    }
  }
}'

替换以下内容:

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

配置审核日志

Model Armor 会记录数据访问审核日志,您可以使用这些日志来分析请求和回答的筛查判定结果。这些日志不会包含用户查询或 NotebookLM 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. 在日志中搜索以下方法名称:

    • google.cloud.modelarmor.v1.ModelArmor.SanitizeUserPrompt:查看所筛查的用户请求。

    • google.cloud.modelarmor.v1.ModelArmor.SanitizeModelResponse:查看所筛查的回答。