架构
此图显示了一个使用 Model Armor 来保护 LLM 和用户的应用。以下步骤说明了数据流:
- 您向应用提供提示。
- Model Armor 会检查传入的提示中是否存在潜在的敏感内容。
- 提示(或经过清理的提示)会发送到 LLM。
- LLM 会生成响应。
- Model Armor 会检查生成的回答是否存在潜在的敏感内容。
- 响应(或经过清理的响应)会发送给您。Model Armor 会在响应中发送已触发的和未触发的过滤条件的详细说明。
Model Armor 会过滤输入(提示)和输出(回答),以防止 LLM 接触或生成恶意或敏感内容。
网络要求
如需从 VPC 网络内访问 Model Armor 区域级端点,您必须创建 Private Service Connect 端点以访问 Model Armor API。这是必需的,目的是防止在使用专用 Google 访问通道或 VPC Service Controls 访问区域级端点时出现证书错误。如需了解详情,请参阅排查 Model Armor 问题和关于通过 Private Service Connect 端点访问区域级端点。
使用场景
Model Armor 在安全性、信任和保障性以及 Responsible AI 方面有多种应用场景,包括:
- 降低在 LLM 提示或回答中泄露敏感知识产权 (IP) 和个人身份信息 (PII) 的风险。
- 防范提示注入和越狱攻击,防止恶意方操纵 AI 系统执行意外操作。
- 扫描 PDF 中的文本,识别敏感或恶意内容。
- 阻止聊天机器人推荐竞争对手的解决方案,从而维护品牌声誉和客户忠诚度。
- 过滤 AI 应用生成的包含有害信息(例如危险内容或仇恨内容)的社交媒体帖子。
Model Armor 模板
借助 Model Armor 模板,您可以配置 Model Armor 过滤提示和回答的方式。模板作为一套定制化过滤条件及阈值机制运作,专用于检测不同安全与防护置信度级别,让您能够控制要标记哪些内容。
阈值表示置信度,即 Model Armor 对提示或回答中包含冒犯性内容的把握程度。例如,您可以创建一个模板,用于过滤包含仇恨内容的提示,并设置 HIGH 阈值,这意味着 Model Armor 会报告提示包含仇恨内容的高置信度。LOW_AND_ABOVE 阈值表示在做出相应声明时,任何置信度级别(LOW、MEDIUM 和 HIGH)均可接受。
如需了解详情,请参阅 Model Armor 模板。
Model Armor 置信度级别
您可以为 Responsible AI 安全类别(露骨色情、危险、骚扰和仇恨言论)、提示注入和越狱检测以及敏感数据保护(包括主题性)设置置信度。
对于支持精细阈值的置信度级别,Model Armor 会按如下方式解读:
- 高:识别很可能违规的内容。
- “中等”及以上:识别违规可能性为中等或高的内容。
- 低及以上:识别违规可能性为低、中或高的内容。
过滤敏感度可控制检测率。阈值越低,可识别的事件越多,但假正例的频率可能会增加。
| 置信度水平 | 检测概率 | 假正例风险 | 推荐的使用场景 |
|---|---|---|---|
| 高 | 仅标记几乎可以确定存在违规行为的内容。 | 非常低 | 优先考虑不间断用户互动的生产环境。 |
| “中等”及以上 | 以平衡的置信度标记内容。 | 中 | 标准企业应用。在强力保护和可接受的误报率之间取得平衡。适合一般内容安全。 |
| “低”及以上 | 标记任何有轻微违规迹象的内容。 | 高 | 请谨慎使用。可能适用于高风险类别,例如提示注入和越狱检测,这类类别中防止假负例至关重要,即使会带来接受假正例的风险。不建议用于一般的 Responsible AI 内容类别,因为这样会带来屏蔽无害内容的高风险。 |
注意事项和最佳实践
- 分离模板:为用户提示和模型回答配置单独的 Model Armor 模板。用户输入和模型输出具有不同的风险配置文件和目标:
- 输入模板:侧重于防止恶意输入、提示注入、越狱尝试和上传敏感数据。
- 输出模板:侧重于防止模型泄露敏感数据、生成有害或与品牌无关的内容,或返回恶意网址。通过分离模板,您可以实现更精细的控制、更好地跟踪屏蔽情况,并更轻松地进行调整。
- 假正例的影响:假正例可能会错误地屏蔽合法提示或回答,从而降低用户体验。
Low and above设置虽然全面,但可能会导致 AI 应用中出现大量假正例。 - 针对特定类别的调整:最佳过滤级别取决于您要防范的危害类别。例如,对于提示注入和越狱检测以及一般内容安全(仇恨言论、骚扰、危险内容),请先使用
High或Medium and above,以尽可能减少假正例。 - 迭代测试:请务必针对具有代表性的提示和回答数据集(包括已知的好示例和坏示例)测试过滤器配置。建立假正例基准并相应地调整级别。
- 监控:持续监控生产环境中的过滤效果,以发现意外的屏蔽行为或误报突然增加的情况。
- 用户反馈:提供一种机制,让用户能够报告内容被误屏蔽的情况。此反馈对于调整过滤级别非常有用。
配置策略示例
- 初始部署:
- 将一般 Responsible AI 过滤条件(仇恨言论和骚扰)设置为
High。 - 将提示注入和越狱检测过滤条件设置为
Medium。对于 Gemini Enterprise 等应用,请将阈值设置为High,以避免出现误报。 - 使用高级 Sensitive Data Protection 模板可为您的使用情形配置所需的信息类型;基本 Sensitive Data Protection 提供的信息类型有限,主要面向美国区域。
- 将一般 Responsible AI 过滤条件(仇恨言论和骚扰)设置为
- 测试和验证:
- 使用一组已知的安全查询进行全面测试,以确保它们不会被屏蔽。
- 评估典型用户流量的假正例率。
- 调整:
- 如果您继续遇到大量误报,请将阈值更改为
High。 - 如果针对特定类别的保护似乎不足,请在经过全面测试后,谨慎考虑仅降低该类别的阈值。
- 如果您继续遇到大量误报,请将阈值更改为
根据每个类别的具体风险和误报容忍度,仔细选择过滤级别,即可优化 Model Armor 的有效性。如需报告误报和漏报,请与 Cloud Customer Care 联系。
Model Armor 过滤条件
Model Armor 提供各种过滤条件,助您提供安全可靠的 AI 模型。以下过滤条件类别可供使用。
Responsible AI 安全过滤条件
您可以按指定的置信度级别过滤以下类别的提示和回答:
| 类别 | 定义 |
|---|---|
| 仇恨言论 | 针对身份和/或受保护属性的负面或有害评论。 |
| 骚扰 | 针对其他人的威胁、恐吓、欺凌或辱骂性评论。 |
| 露骨色情内容 | 包含对性行为或其他淫秽内容的引用。 |
| 危险内容 | 宣传或允许访问有害商品、服务和活动。 |
| 儿童性虐待内容 (CSAM) | 包含提及儿童性虐待内容 (CSAM) 的内容。此过滤条件默认处于启用状态,并且无法关闭。 |
提示注入和越狱检测
提示注入是一种安全漏洞,攻击者会在文本输入(提示)中编写特殊命令,以欺骗 AI 模型。这可能会导致 AI 忽略其常规指令、泄露敏感信息,或执行其本不应该执行的操作。
在 LLM 的背景下,越狱是指绕过模型内置的安全协议和道德准则的行为。这会导致 LLM 生成其最初设计时要避免的回答,例如有害、不道德和危险的内容。
启用提示注入和越狱检测后,Model Armor 会扫描提示和回答中的恶意内容。如果检测到,Model Armor 会屏蔽相应提示或回答。
敏感数据保护
Sensitive Data Protection 是一项 Google Cloud 服务,可帮助您发现、分类和去标识化敏感数据。Sensitive Data Protection 可以识别敏感元素、上下文和文档,帮助您降低 AI 工作负载中数据泄露的风险。您可以直接在 Model Armor 中使用 Sensitive Data Protection 来转换、词元化和隐去敏感元素,同时保留非敏感上下文。Model Armor 可以接受现有的检查模板,这些模板可作为蓝图来简化扫描和识别敏感数据的流程,以满足您的业务和合规性需求。这可确保使用 Sensitive Data Protection 的其他工作负载之间的一致性和互操作性。
Model Armor 提供两种Sensitive Data Protection配置模式:
基本配置:在此模式下,您可以通过指定要扫描的敏感数据类型来配置 Sensitive Data Protection。此模式支持以下类别:
- 信用卡号
- 美国社会保障号 (SSN)
- 金融账号
- 美国个人纳税人识别号 (ITIN)
- Google Cloud 凭证
- Google Cloud API 密钥
基本配置仅支持检查操作,不支持使用 Sensitive Data Protection 模板。如需了解详情,请参阅 Sensitive Data Protection 基本配置。
高级配置:此模式通过 Sensitive Data Protection 模板提供更高的灵活性和自定义程度。Sensitive Data Protection 模板是预定义的配置,可让您指定更精细的检测规则和去标识化技术。高级配置支持检查和去标识化操作。如需了解详情,请参阅高级 Sensitive Data Protection 配置。
Sensitive Data Protection 的置信度水平与其他过滤条件的置信度水平不同。如需详细了解 Sensitive Data Protection 的置信度,请参阅 Sensitive Data Protection 匹配可能性。如需详细了解 Sensitive Data Protection,请参阅 Sensitive Data Protection 概览。
恶意网址检测
恶意网址通常伪装成看似合法的网址,因此成为钓鱼式攻击、恶意软件分发和其他在线威胁的有力工具。例如,如果某个 PDF 包含嵌入式恶意网址,则可用于入侵处理 LLM 输出的任何下游系统。
启用恶意网址检测后,Model Armor 会扫描网址以识别它们是否为恶意网址。这样,您就可以采取行动并防止返回恶意网址。
定义强制执行类型
强制执行定义了检测到违规行为后会发生什么情况。如需配置 Model Armor 处理检测结果的方式,请设置强制执行类型。Model Armor 提供以下强制执行类型:
- 仅检查:在此模式下,Model Armor 会根据配置的安全政策和安全防护政策分析内容。如果发现违规行为,系统会将详细信息记录到 Cloud Logging 中,以供监控和分析。不过,它不会阻止集成服务处理请求或响应。这有助于测试新政策、了解潜在的违规率,以及进行审核,而不会影响实时流量。如需从此模式中获益,必须启用 Cloud Logging。
- 检查并屏蔽:此模式提供主动防护。当 Model Armor 检测到违规行为时,它不仅会记录该事件,还会阻止违规内容继续执行。例如,在不合规的提示到达模型之前将其屏蔽,或者在不安全的模型回答发送给用户之前将其停止。
选择实施类型对于 Model Armor 集成行为方式和实施的保护级别至关重要。此设置通常可在 Model Armor 模板和最低限度设置中进行配置,从而针对各种使用情形和集成服务实现不同程度的强制执行。如需了解详情,请参阅为模板定义强制执行类型和为下限设置定义强制执行类型。
各模式的运作方式如下:
| 模式 | 函数 | 影响 | 使用场景 |
|---|---|---|---|
Inspect only |
当 Model Armor 检测到潜在的违规行为(例如,被 Responsible AI 过滤条件标记的内容、潜在的敏感数据、可疑的提示注入尝试)时,它会在 Cloud Logging 中记录检测事件。不过,这不会阻止系统将提示发送给 LLM,也不会阻止 LLM 将回答返回给您。 | 在检测到攻击时,与 AI 应用的互动会继续进行,不会受到 Model Armor 的任何明显阻止或修改。您会收到响应,就好像检查未导致阻塞一样。 | 政策测试和调整:部署新 AI 智能体的组织可能希望了解潜在的问题提示或回答的类型和频率,而不会影响早期用户。它们以 监控新出现的威胁:安全团队可以使用此模式来监控新类型的提示注入尝试或意外的敏感数据暴露,而不会影响应用功能。 合规性审核:记录所有潜在违规行为(即使未被阻止)可以为合规性报告和风险评估提供有价值的数据。 |
Inspect and block |
这是有效强制执行模式。当 Model Armor 根据配置的检测器及其阈值检测到违规行为时,它会记录该事件并提供屏蔽请求的判定结果。调用服务或集成点或政策执行点 (PEP) 负责阻止进一步处理。
|
如果发现违规行为,您的请求会被拒绝,或者您不会收到 LLM 的回答。您会收到来自应用的提示,表明请求无法处理。具体消息取决于客户端应用如何处理来自 Model Armor 的屏蔽判决。 |
防范有害内容:
Sensitive Data Protection:
停止提示注入和越狱检测:
屏蔽不安全的网址:
强制执行自定义主题:
|
按照最佳实践,请先使用 Inspect only 了解具体用例的潜在拦截率和效果。分析日志并调整配置后,您可以切换到 Inspect and block 以实现主动保护。
为有效使用 Inspect only 并获得富有价值的洞见,请启用 Cloud Logging。如果未启用 Cloud Logging,Inspect only 将不会提供任何有用信息。
通过 Cloud Logging 访问日志。按服务名称 modelarmor.googleapis.com 进行过滤。查找与您在模板中启用的操作相关的条目。如需了解详情,请参阅使用日志浏览器查看日志。
Model Armor 下限设置
虽然 Model Armor 模板可为各个应用提供灵活性,但组织通常需要在所有 AI 应用中建立基准保护级别。您可以使用 Model Armor 下限设置来确定此基准。它们可定义在 Google Cloud 资源层次结构中的项目级创建的所有模板的最低要求。
如需了解详情,请参阅 Model Armor 下限设置。
语言支持
Model Armor 过滤条件支持对多种语言的提示和回答进行清理。
- Sensitive Data Protection 过滤条件支持英语和其他语言,具体取决于您选择的 infoTypes。
Responsible AI 和提示注入和越狱检测过滤条件已针对以下语言进行了测试:
- 中文(普通话)
- 英语
- 法语
- German
- 意大利语
- 日语
- 韩语
- 葡萄牙语
- 西班牙语
这些过滤条件可在其他多种语言中使用,但结果的质量可能会有所不同。如需了解语言代码,请参阅支持的语言。
您可以通过以下两种方式启用多语言检测:
一次性启用:如果您希望设置更简单,可以使用 REST API 在 Model Armor 模板级别将多语言检测作为一次性配置启用。如需了解详情,请参阅创建 Model Armor 模板。
文档筛查
文档中的文本可能包含恶意内容和敏感内容。Model Armor 可以过滤以下类型的文档,以防范安全风险、提示注入和越狱攻击、敏感数据泄露以及恶意网址:
- CSV
- 文本文件:TXT
- Microsoft Word 文档:DOCX、DOCM、DOTX、DOTM
- Microsoft PowerPoint 幻灯片:PPTX、PPTM、POTX、POTM、POT
- Microsoft Excel 工作表:XLSX、XLSM、XLTX、XLTM
数据处理和存储
Model Armor 在设计时充分考虑了隐私保护和数据最小化原则。除非您明确配置并启用平台日志记录,否则 Model Armor 不会存储 AI 互动的内容,让您能够控制数据保留。本部分介绍了 Model Armor 如何处理您的数据:
- 无状态处理和内容处置:Model Armor 作为无状态服务运行,完全在内存中处理所有提示和模型回答。在标准运行期间,它不会记录、存储或持久保留任何分析过的内容;分析完成后,所有数据都会立即丢弃。
- 由客户控制的日志记录:只有在通过 Cloud Logging 存储与正在处理的内容相关的数据时,才会存储此类数据。如果您选择为 Model Armor 服务启用 Cloud Logging,系统会将事件详情(可能包括元数据或分析的内容片段,具体取决于您的配置)发送到您指定的 Cloud Logging 目标位置。记录的数据范围及其保留期限由您的 Cloud Logging 配置决定。
- 安全存储和加密:Model Armor 处理的所有数据均受行业标准加密保护。这包括使用 TLS 1.2 及更高版本加密的传输中的数据,以及在分析期间短暂驻留在内存中的任何数据。
- 区域数据驻留:虽然 Model Armor 处理是无状态的,但该服务支持严格的数据驻留控制措施。这样可确保所有临时处理都仅在您定义的地理边界(例如
US或EU)内进行。 - 选择性处理:为确保运营效率和区域合规性,Model Armor 仅传输和处理有效过滤条件的数据。如果某个特定过滤条件被停用(例如,由于区域可用性或用户偏好设置),则不会向与该过滤条件关联的底层服务发送任何数据,也不会由该服务处理任何数据。
- 全球合规标准:作为 Google Cloud 生态系统的一部分,Model Armor 受益于严格的安全基础。该基础架构会定期接受独立审核,以维持 SOC 1/2/3 和 ISO/IEC 27001 等认证。
价格
Model Armor 可作为 Security Command Center 的集成部分购买,也可作为独立服务购买。如需了解价格信息,请参阅 Security Command Center 价格。
令牌
生成式 AI 模型会将文本和其他数据分解为多个单元,这些单元称为 token。Model Armor 会使用 AI 提示和响应中的总 token 数来确定价格。Model Armor 会限制每个提示和回答中处理的 token 数量。如需了解令牌限制,请参阅令牌限制。
后续步骤
- 了解 Model Armor 模板。
- 了解 Model Armor 下限设置。
- 了解 Model Armor 端点。
- 对提示和响应进行清理。
- 了解 Model Armor 审核日志记录。
- 排查 Model Armor 问题。