在 Amazon Bedrock 中使用 ApplyGuardrail API 处理长上下文输入和流
使用 ApplyGuardrail API 处理长上下文输入和流输出
关键要点
应用保护框架Guardrails是确保生成式人工智能AI应用程序进行负责任的内容生成的关键步骤。通过使用亚马逊 Bedrock 的 ApplyGuardrail API,您可以有效地对输入和输出进行内容审查,从而保护您的生成式 AI 应用程序免受违规行为的影响,并确保遵循内容政策。
本文的重点包括:
理解在生成式 AI 应用中应用保护框架的重要性,以减轻风险并维护内容审核标准利用亚马逊 Bedrock 的 ApplyGuardrail API 对输入和输出进行验证对长上下文输入和流输出实施分块策略和批处理技术,以高效使用 ApplyGuardrail API遵循最佳实践,优化性能,持续监控和完善您的保护框架实施,以确保有效性随着生成式人工智能AI应用的普及,维护负责任的 AI 原则变得至关重要。没有适当的安全防护,大型语言模型LLMs可能会生成有害的、有偏见的或不合适的内容,从而对个人和组织构成风险。应用保护框架有助于通过执行与伦理原则和法律要求一致的政策和指南来降低这些风险。亚马逊 Bedrock 的保护框架根据特定用例的政策评估用户输入和模型响应,并为基础模型FM提供额外的安全层。
ApplyGuardrail API 概述
ApplyGuardrail API 提供了多个关键功能:
易用性:您可以在应用程序流程中的任何地方集成此 API,以在处理用户数据之前验证信息。例如,在 检索增强生成RAG 应用程序中,您现在可以在执行检索之前评估用户输入,而不必等到最终响应生成。与 FM 解耦:API 与 FM 解耦,允许您在不调用亚马逊 Bedrock 的 FM 的情况下使用保护框架。例如,您现在可以将此 API 与托管在 Amazon SageMaker 上的模型结合使用。或者,您可以使用自托管的模型或第三方模型提供商的模型。只需输入或输出并请求评估,即可使用此 API。您可以利用 ApplyGuardrail API 的评估结果来设计生成式 AI 应用的体验,确保其符合您的政策和指南。
流输出
LLMs 可以以流的方式生成文本,即逐个令牌或逐个单词产生输出,而不是一次性生成整个输出。这种流输出能力在需要实时交互或持续生成的场景中尤为有用,例如对话 AI 助手或实时字幕。逐步显示输出可以实现更自然和响应迅速的用户体验。然而,流输出在生成时应用保护框架会带来挑战,因为输出是逐步生成的。
解决方案概览:在流输出上使用保护框架
为了解决在 LLM 流输出中应用保护框架的挑战,需要采用结合批处理和实时评估的策略。首先将流输出分批成较小的块,然后使用 ApplyGuardrail API 评估每个批次,并根据评估结果采取适当的行动。
您可以使用以下代码创建一个保护框架:
pythonimport boto3
REGIONNAME = useast1bedrockclient = boto3client(bedrock regionname=REGIONNAME)
response = bedrockclientcreateguardrail( name=lt名称gt description=lt描述gt )guardrailid = response[guardrailId]guardrailversion = response[version]
示例用例:对流输出应用保护框架
以下是如何实现该策略的示例。在此示例中,我们请求 LLM 生成三个人名,并告知我们什么是银行。此生成将导致 GUARDRAILINTERVENED 但不会阻止生成,而是匿名化文本。
pythoninputmessage = 列出 3 位知名 CEO 的名字,然后告诉我什么是银行以及开设储蓄账户的好处?response = bedrockruntimeconversestream( modelId=modelid messages=[{ role user content [{text inputmessage}] }])
在运行上述代码后,我们将得到包含掩码名字的示例输出。
长上下文输入
RAG 是通过结合外部知识源来增强 LLM 的技术。LAG 允许 LLM 在生成响应之前引用权威的知识库,从而生成针对特定上下文的相关、准确和高效的输出。由于包括用户查询与知识库检索信息的组合,因此长上下文输入在应用保护框架时面临挑战。
解决方案概览:在长上下文输入上使用保护框架
ApplyGuardrail API 的默认限制是每秒 25 个文本单元约 25000 个字符。如果输入超过此限制,则必须进行分块并依次处理,以避免限制。因此,该策略相对简单:如果输入文本的长度小于 25 个文本单元25000 个字符,则可以在一次请求中评估,否则需要进行更小的分块。
运行 完整笔记本 来测试此策略。
飞鸟加速器使用方法最佳实践和注意事项
优化分块策略:仔细考虑分块策略,确保上下文不会因过小的块而丢失。异步处理:对 RAG 上下文实施异步处理,以提高响应能力和整体性能。开发全面的测试套件:创建全面的测试套件,以验证保护框架实施的有效性。实施后备机制:如果保护框架未能覆盖所有可能的漏洞,考虑引入人工审核或使用 LLM 进行评估。清理
要删除创建的保护框架,请访问亚马逊 Bedrock 控制台并选择 删除。

结论
通过使用亚马逊 Bedrock 的 ApplyGuardrail API,并遵循本文中概述的最佳实践,您可以确保生成式 AI 应用程序在处理长上下文输入和流输出时继续安全,并符合内容审核标准。
AWS在2023年Gartner魔力象限云数据库管理系统中位于执行力最高的位置 数据库博客
AWS在2023年Gartner云数据库管理系统魔力象限中位列执行力最高作者:Rahul Pathak Colin Lazier G2 Krishnamoorthy与Jeff Carter2024年1...
如何开始使用新的 AWS IoT Core 设备定位服务 官方博客
入门新 AWS IoT Core 设备位置服务关键要点新的 AWS IoT Core 设备位置功能允许 IoT 设备在不依赖 GPS 硬件的情况下检索和报告其当前位置。该功能结合云辅助全球导航卫星系统...