跳至内容

如何对延迟问题进行故障排除并优化 Amazon Bedrock Agent 性能?

1 分钟阅读
0

我想对 Amazon Bedrock Agent 延迟过高的问题进行故障排除,并优化其性能。

简短描述

Amazon Bedrock Agent 使用推理功能从知识库中检索信息,这可能会导致高延迟。以下因素会影响 Amazon Bedrock Agent 的响应时间:

  • 模型尺寸
  • 提示结构和复杂性
  • 输入和输出令牌的数量
  • 网络连接和 AWS 区域基础设施

解决方法

对代理延迟进行故障排除

更新您的模型大小

如果您使用大型基础模型并遇到较高的延迟,请对延迟敏感的使用案例使用较轻量的模型。调用延迟随输入和输出令牌的总数而变化。要减小输出令牌的大小,您可以向代理提供指令,要求其对用户查询提供清晰简短的回应。

**注意:**Amazon Bedrock 会自动在 Amazon CloudWatch 的 Bedrock 下发布调用延迟指标。有关详细信息,请参阅监控 Amazon Bedrock 的性能

查看您的编排策略

随着模型调用次数的增加,延迟也会增加。确保您有效地定义代理的指令以及您的函数和参数。如果您收到的响应缓慢且您的使用案例不需要编排功能,请关闭编排以减少延迟。预处理、编排和后处理等功能可能会带来额外的处理时间。

要关闭编排模板,请完成以下步骤:

  1. 在部署代理的 AWS 区域打开 Amazon Bedrock 控制台
  2. 在导航窗格中,展开 Builder tools(生成器工具),然后选择 Agents(代理)。
  3. 选择代理,然后选择 Edit in Agent Builder(在代理生成器中编辑)。
  4. Orchestration strategy details(编排策略详细信息)部分中,选择 Edit(编辑)。
  5. 选择 Pre-processing(预处理)选项卡并关闭 Activate pre-processing template(激活预处理模板)。
  6. 选择 Post-processing(后处理)选项卡并关闭 Activate post-processing template(激活后处理模板)。
  7. 选择 Save and exit(保存并退出)。

如果您使用自定义编排,请配置编排以优化性能。提供明确的说明。如果包含冗余或模糊的指令,则可能会增加模型的认知负荷并影响响应时间。

检查 Amazon Bedrock 网络配置

如果您将 AWS Lambda 与虚拟私有云 (VPC) 结合使用,并且与 Amazon Bedrock 的网络交互速度缓慢,则流量可能会通过公共互联网路由。要解决此问题,请使用 AWS PrivateLink 设置对 Amazon Bedrock 的私有访问权限

激活 CRIS

如果您在区域需求旺盛的时期遇到延迟,则可能会遇到区域瓶颈。要解决此问题,请使用跨区域推理 (CRIS) 提高吞吐量,将推理工作负载分布在多个区域。

优化代理性能

启用流式响应

如果您的输出的令牌数量很高,则用户必须等待完整响应。要检查您的令牌数量是否很高,请使用 CloudWatch 中的 OutputTokenCount 指标。要启用流式响应,请使用 InvokeModelWithResponseStream API,以便在内容生成时实时接收。

配置您的知识库

如果您不限制返回的文档块的数量,则响应生成时间会增加。要解决此问题,请使用 numberOfResults 参数限制从知识库检索到的文档块的数量。

相关信息

使用 CloudWatch Logs 和 Amazon S3 监控模型调用