使用亚马逊 Bedrock Agents 进行企业 API 系统的工作流编排简化 机器学习博客
精简企业API工作流编排的方案
关键要点
复杂的API编排工作流在管理上可能会面临挑战,尤其是在保险等行业中。使用亚马逊Bedrock代理,利用智能代理进行链式组合,可以简化API交互并提升工作流的灵活性和适应性。创建适应性强的保险数字助理工作流,实现如索赔申请、损害评估等任务的自动处理。本文提供了详细的解决方案实施步骤,展示如何利用亚马逊Bedrock和云技术构建高效的工作流。在需要动态和复杂API编排的环境中,工作流往往难以管理。在保险行业,这种情况尤为突出,不能预见的情境成为常态,传统的自动化方法难以跟上,导致效率低下和错失机会。通过智能代理的强大能力,可以有效简化这些挑战。本文将探讨如何通过链式组合领域特定的代理,利用亚马逊Bedrock代理将复杂API交互转变为简化、灵活的工作流,帮助企业以敏捷和精准的方式运作。
亚马逊Bedrock是一项完全托管的服务,提供来自知名人工智能公司如AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI和亚马逊的高性能基础模型FMs,通过单一API访问,具有构建生成式AI应用的多种能力,确保安全性、隐私和负责任的AI应用。
链接亚马逊Bedrock代理的好处
设计代理就像设计其他软件组件它们在专注目标时的表现最佳。当拥有专注的单一用途代理时,将这些代理组合成链可以协同解决相当复杂的问题。利用自然语言处理NLP和OpenAPI规范,亚马逊Bedrock代理动态管理API的序列,最小化依赖管理的复杂性。此外,代理在实时场景中支持会话上下文管理,使用会话ID以及必要时利用后端数据库,例如亚马逊DynamoDB,进行扩展上下文存储。通过使用提示指令和API描述,代理能有效地收集API模式中关键的信息,以解决特定问题。这种方法不仅提高了敏捷性和灵活性,还展示了通过链式组合代理简化复杂工作流和有效解决更大问题的价值。
接下来,我们将探讨一个保险索赔的用例,展示如何利用亚马逊Bedrock代理进行链式组合。这涉及一个编排代理调用和互动其他代理,以协同执行一系列任务,实现高效的工作流管理。
解决方案概述
在我们的用例中,我们开发了一个专注于简化索赔申请、损害评估和政策询问等任务的保险数字助理工作流。该工作流模拟了API的顺序依赖关系,例如在创建索赔时进行欺诈检查、用户提供图片时对上传图像进行损害评估。编排根据用户场景动态适应,使用自然语言提示来指导多个领域特定的代理,包括保险编排代理、政策信息代理和损害分析通知代理。通过OpenAPI规格和自然语言提示,我们的保险数字助理的API序列适应动态用户场景,例如用户选择上传图像用于损害评估、未通过欺诈检查或选择提出与其保险政策和保障有关的各种问题。这种灵活性通过链式组合领域特定的代理得以实现,例如保险编排代理、政策信息代理和损害分析通知代理。
传统的保险流程通常比较僵化,例如欺诈检测要遵循固定步骤。然而,代理链式组合方法允许更大的灵活性和适应性,使系统能够根据用户的实时输入和场景变化作出反应。例如,代理可以根据用户的互动和上下文动态调整工作流,而不只是严格遵循预定的欺诈检查阈值。同样,当用户选择在索赔时上传图像时,工作流可以进行实时损害分析,并立即将摘要发送给索赔调整员进一步审阅。这种方法不仅简化了索赔处理流程,还能更细致高效地处理任务,在自动化和人工干预之间提供必要的平衡。通过链式组合亚马逊Bedrock代理,我们建立了一个可适应的系统,满足不同用户需求,同时保持业务流程的完整性。
以下的图示展示了通过链式组合亚马逊Bedrock代理实现的端到端保险索赔工作流。
这个图示展示了专业代理是如何使用各种工具来简化整个索赔处理流程,从提交索赔到损害评估,以及回答客户的保险政策问题。

前置条件
在进行下一步之前,请确保已有以下资源设置:
一个AWS账户。如果没有账户,可以注册一个。作为AWS身份与访问管理IAM管理员或者具有以下权限的IAM用户:部署AWS CloudFormation。创建和管理亚马逊简单存储服务Amazon S3存储桶并上传对象。创建和更新亚马逊简单队列服务Amazon SQS队列、AWS Lambda函数和亚马逊API网关。创建和管理IAM角色。访问亚马逊Bedrock、Anthropic的Claude模型以及Cohere的Embed English嵌入模型。在使用亚马逊Bedrock之前,必须明确启用模型的访问权限。有关说明,请参阅模型访问。使用AWS CloudFormation部署解决方案
完成以下步骤以设置解决方案资源:
以IAM管理员或适当的IAM用户身份登录AWS管理控制台。选择启动堆栈以部署CloudFormation模板。提供必要的参数并创建堆栈。对于这个设置,我们选用useast1作为AWS区域,使用Anthropic Claude 3 Haiku模型来编排不同代理之间的流程,使用Anthropic Claude 3 Sonnet模型对上传的图像进行损害分析,以及使用Cohere Embed English V3模型将保险政策文件中的文本转换为数值向量,便于高效搜索、比较和归类文档。
如果想选择其他亚马逊Bedrock模型,可以通过适当修改CloudFormation模板来实现。请查看区域内适用的模型支持以及模型支持的特性。
部署该解决方案大约需要15分钟。堆栈部署后,可以在输出选项卡上查看CloudFormation堆栈的各种输出,如下图所示。
以下图示展示了在您的账户中部署的三个亚马逊Bedrock代理。
测试索赔创建、损害检测和通知工作流
已部署方案的第一部分是模拟提交新的保险索赔,进行欺诈检测,选择性地分析上传图像的损害,并随后通知索赔调整员。这是一个较小版本的任务自动化,旨在解决特定的业务问题,通过链式组合多个代理,各自执行一组特定任务。这些代理协同工作,以解决更大范围的保险索赔处理功能。
让我们探索索赔创建工作流的架构,其中保险编排代理和损害分析通知代理协同工作,模拟提交新的索赔、评估损害,并将损害汇总发送给索赔调整员进行人工审核。以下图示展示了此工作流。
在该工作流中,保险编排代理模拟了欺诈检测和索赔创建,并将责任移交给其他特定任务的代理。损害分析通知代理负责对上传的图像进行初步分析。该代理调用一个Lambda函数,该函数内部会调用在亚马逊Bedrock上的Anthropic Claude Sonnet大型语言模型LLM进行图像的初步分析。LLM生成损害摘要,并发送到SQS队列,随后供索赔调整员审阅。
NLP指令提示与每个行动组的OpenAPI规范相结合,指导代理进行决策,确定调用哪一组操作、调用顺序以及调用特定API所需的参数。
使用UI调用索赔处理工作流
完成以下步骤以调用索赔处理工作流:
从CloudFormation堆栈的输出中,选择HttpApiEndpoint的URL。您可以向聊天机器人提出示例问题,开始探索提交新索赔的功能。在以下示例中,我们请求提交新索赔并上传图像作为索赔证据。
在亚马逊SQS控制台,您可以查看CloudFormation堆栈创建的SQS队列,并检查显示通过我们的LLM对图像进行的损害分析的消息。测试政策信息工作流
以下图示展示了仅政策信息代理的架构。政策代理访问政策信息API,从无结构的政策文档如PDF文件提取与保险相关的问答。
政策信息代理负责对存储在知识库中的保险政策文档进行查找。该代理调用一个Lambda函数,内部调用知识库以找到与政策相关问题的答案。
设置知识库的数据源中的政策文档与元数据
我们使用亚马逊Bedrock知识库管理我们的文档和元数据。作为部署解决方案的一部分,CloudFormation堆栈创建了一个知识库。完成以下步骤以设置其数据源:
在亚马逊Bedrock控制台,导航到已部署的知识库,并进入作为数据源提到的S3存储桶。将若干保险政策文档和元数据文档上传至S3存储桶,模拟以下示例中的命名约定。命名约定为lt类型政策gt政策编号pdf的保险政策PDF文档,以及lt类型政策gt政策编号pdfmetadatajson的元数据文档。
以下图示展示了一个示例的metadatajson文件格式。
将文档上传至亚马逊S3后,导航至已部署的知识库,选择数据源,并选择同步。要了解更多关于如何利用亚马逊Bedrock知识库中的元数据支持改进检索准确性的信息,请参阅亚马逊Bedrock知识库现已支持元数据过滤以提高检索准确性。
现在您可以返回UI并开始询问与政策文档相关的问题。以下图示展示了我们提出的一系列问题,以寻找与政策覆盖相关的答案。
清理
为避免意外费用,完成以下步骤以清理资源:
删除与CloudFormation堆栈输出中的ImageBucketName和PolicyDocumentsBucketName键对应的S3存储桶中的内容。使用AWS CloudFormation控制台删除已部署的堆栈。最佳实践
以下是您可以遵循的一些其他最佳实践,适用于您的代理:
魔方加速器老版本自动化测试:使用工具实施自动化测试,定期测试编排工作流。可以使用模拟API来模拟各种场景,并验证代理的决策过程。版本控制:在一个版本控制库中维护代理配置和提示的版本控制。这提供了可追溯性,以及在需要时快速回滚的能力。监控和日志记录:使用亚马逊CloudWatch监控代理交互和API调用。设置报警以应对意外行为或失败。持续集成:建立一个持续集成和交付CI/CD管道,将自动化测试、提示验证和部署集成在一起,以保证在不干扰正在进行的工作流的情况下平稳更新。结论
在本文中,我们展示了链式组合亚马逊Bedrock代理的强大功能,为后端自动化工作流和企业API的集成提供了新的视角。这个解决方案具有诸多好处:随着新的企业API的出现,可以最小化现有API之间的依赖关系,降低耦合程度。此外,亚马逊Bedrock代理能够维护会话上下文,使后续查询能够使用对话历史。对于扩展的上下文记忆,可以考虑更持久的后端实现。
如需了解更多,请参阅亚马逊Bedrock代理。
关于作者
Piyali Kamra是一位经验丰富的企业架构师和实用型技术专家,拥有超过二十年的跨地区开展和执行大规模企业IT项目的经验。她