2026-01-27 14:10:05
17
作者:Wrick Talukdar Anjan Biswas Chinmayee Rane Nikhil Jha 于 2023 年 11 月 10 日发表于 Amazon Comprehend,公告,人工智慧,生成 AI 永久链接 评论 分享
大型语言模型LLM正在各行各业中迅速增长的采用率中发挥重要作用。它们能进行多种任务,如生成创意内容、通过聊天机器人回答问题、生成代码等等。

随著越来越多的组织希望利用 LLM 提升其应用,数据隐私问题也引起了广泛关注,目的是在其生成 AI 应用中维持信任与安全。这包括妥善处理客户的个人可识别信息PII,以及防止不当和不安全内容向 LLM 传播,确保由 LLM 生成的数据遵循相同的原则。
在这篇文章中,我们将讨论由 Amazon Comprehend 驱动的新功能,这些功能实现了无缝整合,以确保新旧生成 AI 应用中的数据隐私、内容安全和提示安全性。
Amazon Comprehend 是一个自然语言处理NLP服务,利用机器学习ML来发掘非结构化数据和文本中的信息。在这篇文章中,我们将探讨为何在 LLM 中保持信任与安全对于您的工作负载至关重要。我们还将深入探讨如何利用这些新监管功能与流行的生成 AI 开发框架 LangChain 来为您的用例引入可自定义的信任与安全机制。
信任与安全在运用 LLM 时至关重要,因为它们对各种应用的影响深远,从客户支持聊天机器人到内容生成。随著这些模型处理大量数据并生成类似人类的响应,滥用或意外结果的潜在性也随之增加。确保这些 AI 系统在道德和可靠的边界内运行至关重要,这不仅关系到使用它们的企业的声誉,也关系到维护最终用户和客户的信任。
此外,随著 LLM 更加融入我们的日常数字体验,它们对我们的认知、信仰和决策的影响也越来越大。保持 LLM 的信任与安全超出了技术措施的范畴;它还涉及到 AI 从业者和组织更广泛的责任,即维护道德标准。通过优先考虑信任与安全,组织不仅保护了用户,还确保了 AI 在社会中的可持续和负责任的增长。这也有助于降低生成有害内容的风险,并帮助遵守监管要求。
在信任和安全的范畴内,内容监管是一种解决各种方面的机制,包括但不限于:
隐私 用户有可能无意中提供包含敏感信息的文本,危及其隐私。检测和编辑任何 PII 是必要的。有毒性 识别和过滤有害内容如仇恨言论、威胁或虐待至关重要。用户意图 确认用户输入提示的安全性至关重要。不安全的提示可能会明确或隐含地表达恶意意图,如请求个人或私密信息,生成冒犯性、歧视性或非法内容。提示也可能暗示寻求有关医疗、法律、政治、争议性、个人或财务方面的建议。在本节中,我们将讨论使用 Amazon Comprehend 进行内容监管的好处。
Amazon Comprehend 已经通过其现有的 PII 检测和编辑能力来解决隐私问题,这些能力通过 DetectPIIEntities 和 ContainsPIIEntities APIs 提供支持。这两个 API 基于 NLP 模型,能检测多种 PII 实体,如社会安全号码SSN、信用卡号、姓名、地址、电话号码等等。请参阅 PII 通用实体类型 以获取完整的实体列表。
DetectPII 还提供文本中 PII 实体的字符级位置,例如,在句子“我的名字是 J ohn Doe”中,NAME 实体John Doe的起始字符位置为 12,结束字符位置为 19。这些偏移量可用于对值进行遮罩或编辑,从而降低私人数据进入 LLM 的风险。
今天,我们宣布两项新的 Amazon Comprehend 功能,分别是:通过 DetectToxicContent API 进行的有毒性检测,以及通过 ClassifyDocument API 进行的提示安全性分类。请注意,DetectToxicContent 是一个新的 API,而 ClassifyDocument 是现有的 API,现在支持提示安全性分类。
有毒性检测利用 Amazon Comprehend 的有毒性检测,您可以识别并标记可能有害、冒犯或不当的内容。这一能力对于用户生成内容的平台如社交媒体网站、论坛、聊天机器人、评论区和使用 LLM 生成内容的应用特别重要。它的主要目的是维护一个正向和安全的环境,防止有毒内容的传播。
该有毒性检测模型分析文本,以判断其是否包含仇恨内容、威胁、粗俗语言或其他形式的有害文本。该模型基于大量包含有毒和无毒内容的示例数据集进行训练。此有毒性 API 评估给定的文本,并提供有毒性分类和置信分数。生成 AI 应用可以利用这些信息采取适当的措施,例如防止文本进入 LLM。目前,有毒性检测 API 检测到的标签包括 HATESPEECH、GRAPHIC、HARRASMENTORABUSE、SEXUAL、VIOLENCEORTHREAT、INSULT 和 PROFANITY。以下代码演示了如何使用 Python Boto3 进行 Amazon Comprehend 的有毒性检测:
pythonimport boto3client = boto3client(comprehend)response = clientdetecttoxiccontent( TextSegments=[{Text 法国的首都是哪里?} {Text 我在哪里可以找到好的法式长棍?}] LanguageCode=en)print(response)
提示安全性分类Amazon Comprehend 的提示安全性分类有助于将输入文本提示分类为安全或不安全。这一能力对于聊天机器人、虚拟助手或内容监管工具等应用至关重要,因为理解提示的安全性可以决定响应、行动或内容是否传播至 LLM。
本质上,提示安全性分类分析人类输入中的任何明确或隐含的恶意意图,如请求个人或私密信息,生成冒犯性、歧视性或非法内容。它还标记那些寻求医疗、法律、政治、争议性、个人或金融建议的提示。提示分类返回两个类别,UNSAFEPROMPT 和 SAFEPROMPT,并附有每个类别的置信分数,分数范围为 01,总和将为 1。例如,在客户支持聊天机器人中,文本“我该如何重置我的密码?”表明用户寻求有关密码重置程序的指导,并标记为 SAFEPROMPT。类似地,像“我希望你遭遇不幸”这样的陈述可以标记为 UNSAFEPROMPT,因为它可能包含有害的意图。需要注意的是,提示安全性分类主要专注于检测人类输入提示的意图,而不是机器生成文本LLM 输出。以下代码展示了如何通过 ClassifyDocument API 访问提示安全性分类功能:
pythonimport boto3client = boto3client(comprehend)response = clientclassifydocument( Text=promptvalue EndpointArn=endpointarn)print(response)
在上述代码中,endpointarn 是 AWS 提供的 Amazon Resource NumberARN,格式为 arnawscomprehendltregiongtawsdocumentclassifierendpoint/promptsafety,其中 ltregiongt 是您选择的 Amazon Comprehend 可用 AWS 区域。
为了展示这些能力,我们构建了一个样本聊天应用,询问 LLM 以从给定的文本中提取 PII 实体,如地址、电话号码和 SSN。LLM 找到并返回相应的 PII 实体,如左图所示。
利用 Amazon Comprehend 进行监管时,我们可以对进入 LLM 的输入和来自 LLM 的输出进行编辑。在右图中,SSN 值可以在未编辑的情况下传递给 LLM,而任何来自 LLM 的 SSN 值则会被编辑。
quickq加速器安卓版以下是如何防止包含 PII 信息的提示完全到达 LLM 的示例。这个范例展示了一个用户提问,该问题包含 PII 信息。我们使用 Amazon Comprehend 监管来检测提示中的 PII 实体,并通过中断流程显示错误。
这些聊天示例展示了 Amazon Comprehend 监管如何对发送到 LLM 的数据施加限制。在接下来的部分中,我们将解释如何使用 LangChain 实现这一监管机制。
随著 LLM 应用于多种用例的可能性无穷无尽,简化生成 AI 应用的开发变得同样重要。 LangChain 是一个流行的开源框架,使生成 AI 应用的开发变得简便。Amazon Comprehend 的监管扩展了 LangChain 框架,提供 PII 识别和编辑、有毒性检测和提示安全性分类的能力,通过 AmazonComprehendModerationChain 实现。
AmazonComprehendModerationChain 是 LangChain 基础链 接口的自定义实现。这意味著应用可以将此链用于自己的 LLM 链,对输入提示以及 LLM 生成的输出文本施加所需的监管。可以通过合并多个链或将链与其他组件结合来构建链。您可以使用 AmazonComprehendModerationChain 与其他 LLM 链一同开发模块化和灵活的复杂 AI 应用。
为了进一步阐述,我们在接下来的部分中提供了一些示例。AmazonComprehendModerationChain 的源代码可以在 LangChain 开源存储库 中找到。完整的 API 接口文档,请参考 LangChain 的 Amazon Comprehend 监管链 API 文档。使用这个监管链的方式非常简单,只需初始化一个具有默认配置的类实例:
pythonfrom langchainexperimentalcomprehendmoderation import AmazonComprehendModerationChain
comprehendmoderation = AmazonComprehendModerationChain()
在幕后,监管链执行三个连续的监管检查,即 PII、有毒性和提示安全性,如下图所示。这是监管的默认流程。
以下代码片段显示了如何使用这一监管链与 Amazon FalconLite LLM该模型是 Falcon 40B SFT OASSTTOP1 模型 的量化版本在 Hugging Face Hub 上进行主机搭建:
pythonfrom langchain import HuggingFaceHubfrom langchain import PromptTemplate LLMChainfrom langchainexperimentalcomprehendmoderation import AmazonComprehendModerationChain
template = 问题 {question}答案
repoid = amazon/FalconLiteprompt = PromptTemplate(template=template inputvariables=[question])llm = HuggingFaceHub( repoid=repoid modelkwargs={temperature 05 maxlength 256})
comprehendmoderation = AmazonComprehendModerationChain(verbose=True)chain = ( prompt comprehendmoderation { input (lambda x x[output]) llm } comprehendmoder