本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重新驱动失败的摄取次数
从短期记忆提取到长期记忆通常是自动的。如果由于任何原因无法从短期记忆提取到长期记 AgentCore 忆,Memory 会尝试解决该问题。如果问题仍然存在,则可能需要开发人员干预,并将失败的任务移至内存资源的专用队列中。一个例子是,如果您的账户以超出允许的速率摄取长期内存。在这种情况下,你应该等到流量减少后再手动重新启动受影响的作业。
要识别并重新驱动失败的作业,请执行以下操作:
-
致电列ListMemoryExtractionJobs出失败的作业。响应中的每个作业都包含一个
jobId和 afailureReason,用于指示提取失败的原因。 -
使用下表中的失败原因代码找出根本原因。
-
调用 StartMemoryExtractionJob,将失败
jobId的任务列表中的内容传递到长期内存中。
我们建议监控销售指标,FailedExtraction以便在出现任何问题时收到通知。该指标的维度还 StrategyId包括资源(内存 ARN)和 StrategyType。 AgentCore 每当提取任务失败时,内存就会发出该指标的计数并将其写入提取任务存储器。
对于内置策略,唯一的失败场景是达到摄取限制。对于内置的覆盖功能,还存在其他故障场景,包括您选择在账户中使用的模型或您授予 AgentCore 内存的权限出现问题。
| 失败原因代码 | 说明 | 建议的缓解措施 |
|---|---|---|
|
|
此账户已超过为长期内存处理分配的每分钟令牌配额 |
通过服务配额,申请更高的Bedrock Agentcore配额 “用于长期内存提取的每分钟令牌” 的上限。然后在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
期间ExecutionRoleArn 提供的内存 CreateMemory 缺乏足够的权限来调用附加到内存的自定义策略中提供的所有模型 ID |
确保该角色具有此处定义的权限和信任策略,并添加任何缺失的权限。或者致电 UpdateMemory 以切换到具有足够权限的其他角色。然后在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到来自 Bedrock 的内部错误。 |
这可能是 Bedrock 的临时服务错误。稍后再试,在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到来自 Bedrock 的限制异常。 |
确保您的账户已向 Bedrock 申请了该模型足够的 TPM 和 RPM 配额。在配额增加后或在低流量时段调用失败提取的 JobId 上的 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到来自 Bedrock 的模型错误异常。 |
这通常是 Bedrock 的临时服务错误。稍后再试,在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到来自 Bedrock 的模型超时异常。 |
当模型处理时间超过其超时时时,就会发生这种情况。在提取失败的 JobId 上调用 StartMemoryExtractionJob API 之前,可以考虑切换到更快的模型。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到了 Bedrock 的 “未找到资源”。 |
确保与内存相关的任何自定义策略中提供的 modelID 正确无误。如有必要 UpdateMemory ,请致电更新这些值。然后在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到了 Bedrock 的 “模型未就绪”。 |
等待模型处于就绪状态。有关更多详细信息,请参阅 Bedrock 文档。然后在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到了 Bedrock 的 “服务不可用”。 |
这通常是 Bedrock 的临时服务错误。稍后再试,在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |
|
|
该服务在尝试调用自定义策略中提供的模型时收到了来自 Bedrock 的验证异常。 |
确保与内存相关的任何自定义策略中提供的 modelID 正确无误。如有必要 UpdateMemory ,请致电更新这些值。然后在失败的提取的 jobId 上调用 StartMemoryExtractionJob API。 |