企业文化

建立信任与安全,保护生成式 AI 应用程序,使用 Amazon Comprehend 和 LangC

datetime

2026-01-27 14:10:05

阅读数量

17

利用 Amazon Comprehend 和 LangChain 建立生成 AI 应用的信任与安全

作者:Wrick Talukdar Anjan Biswas Chinmayee Rane Nikhil Jha 于 2023 年 11 月 10 日发表于 Amazon Comprehend,公告,人工智慧,生成 AI 永久链接 评论 分享

主要启示

大型语言模型LLM正在各行各业快速被采用,并能执行创建内容、回答问题等多种任务。组织在运用 LLM 的同时,必须关注数据隐私和内容安全,以确保持续的信任与安全。Amazon Comprehend 现在提供新功能,用于支持生成 AI 应用的数据隐私和内容安全。

大型语言模型LLM正在各行各业中迅速增长的采用率中发挥重要作用。它们能进行多种任务,如生成创意内容、通过聊天机器人回答问题、生成代码等等。

建立信任与安全,保护生成式 AI 应用程序,使用 Amazon Comprehend 和 LangC

随著越来越多的组织希望利用 LLM 提升其应用,数据隐私问题也引起了广泛关注,目的是在其生成 AI 应用中维持信任与安全。这包括妥善处理客户的个人可识别信息PII,以及防止不当和不安全内容向 LLM 传播,确保由 LLM 生成的数据遵循相同的原则。

在这篇文章中,我们将讨论由 Amazon Comprehend 驱动的新功能,这些功能实现了无缝整合,以确保新旧生成 AI 应用中的数据隐私、内容安全和提示安全性。

Amazon Comprehend 是一个自然语言处理NLP服务,利用机器学习ML来发掘非结构化数据和文本中的信息。在这篇文章中,我们将探讨为何在 LLM 中保持信任与安全对于您的工作负载至关重要。我们还将深入探讨如何利用这些新监管功能与流行的生成 AI 开发框架 LangChain 来为您的用例引入可自定义的信任与安全机制。

为什么 LLM 的信任与安全很重要

信任与安全在运用 LLM 时至关重要,因为它们对各种应用的影响深远,从客户支持聊天机器人到内容生成。随著这些模型处理大量数据并生成类似人类的响应,滥用或意外结果的潜在性也随之增加。确保这些 AI 系统在道德和可靠的边界内运行至关重要,这不仅关系到使用它们的企业的声誉,也关系到维护最终用户和客户的信任。

此外,随著 LLM 更加融入我们的日常数字体验,它们对我们的认知、信仰和决策的影响也越来越大。保持 LLM 的信任与安全超出了技术措施的范畴;它还涉及到 AI 从业者和组织更广泛的责任,即维护道德标准。通过优先考虑信任与安全,组织不仅保护了用户,还确保了 AI 在社会中的可持续和负责任的增长。这也有助于降低生成有害内容的风险,并帮助遵守监管要求。

在信任和安全的范畴内,内容监管是一种解决各种方面的机制,包括但不限于:

隐私 用户有可能无意中提供包含敏感信息的文本,危及其隐私。检测和编辑任何 PII 是必要的。有毒性 识别和过滤有害内容如仇恨言论、威胁或虐待至关重要。用户意图 确认用户输入提示的安全性至关重要。不安全的提示可能会明确或隐含地表达恶意意图,如请求个人或私密信息,生成冒犯性、歧视性或非法内容。提示也可能暗示寻求有关医疗、法律、政治、争议性、个人或财务方面的建议。

使用 Amazon Comprehend 进行内容监管

在本节中,我们将讨论使用 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 实现这一监管机制。

与 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