使用Step Functions和AI,轻松构建智能工作流程

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 生成式AI正在改变企业运营的方式——提供加速创新的机会。大型语言模型(LLM)为组织提供了构建生成式AI应用程序的独特基础,否则需要大量投资来构建生成式AI应用程序。在本次会议中,了解Amazon Step Functions上的新功能如何更容易地将这些构建块组合成生产级应用程序。观看演示,了解如何使用Step Functions来编排使用[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)基础模型的生成式AI应用程序。探索诸如提示链等模式,这些模式可以根据您自己的特定用例进行定制,并使用许多亚马逊云科技服务的功能以自然语言丰富您的工作流程。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1700字,阅读时间大约是8分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 亚马逊云科技的解决方案架构师Omar Ramada先生首先介绍了他和亚马逊云科技Step Functions的主要产品经理Tanya Meyer女士。Omar在亚马逊云科技工作已超过三年,专门负责[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用集成和工作流管理。Tanya也在Step Functions工作了超过三年,她兴奋地谈论了如何利用生成式AI功能提升工作流程。 她们计划了一个令人兴奋的议程,首先探讨利用生成式AI面临的挑战,然后通过构建使用它的应用程序来进行实际操作,并讨论新的Step Functions特性如何加速开发过程。 Omar通过提供背景信息为会议定下了基调,讲述了生成式AI如何通过消费者应用如ChatGPT席卷全球。这些展示出生成式AI模型如何通过大量数据训练迅速发展。生成式AI可以创建新的内容,如图像、对话、故事、音频、视频和音乐。它由称为基础模型的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)模型驱动,这些模型在大型数据集上进行预训练,以在各种行业中广泛应用。 Tanya详细解释了过去几个月里,这些基础模型已经实现了非凡的能力。在生命科学领域,它们帮助加速药物发现,改善了蛋白质合成的理解。在金融服务业,这些模型能够根据客户的风险承受能力和目标来定制投资策略。在医疗保健领域,医生用它们来增强医学图像并提高诊断准确性。在零售业,它们从数据中生成产品描述。它们还可以快速教授新概念,作为随时可用的导师。关键是,由于这些模型是在大量数据上训练的,因此生成式AI具有广泛的应用潜力。 所以,挑战变成了如何将生成式AI与现有的服务一起整合到现有应用程序中。这些组件需要可靠地通信,并表现出不同的模式,如排序步骤、处理错误、并行处理或根据条件分支。工作流程可能还需要人工审查以确保准确性。随着使用量的增长,需要有更多的弹性来处理错误和重试。 亚马逊云科技的Step Functions作为一种工作流服务,旨在创建和应用系统之间的协同作用。Step Functions可以代表各种服务,其中一个服务的输出可以作为另一个服务的输入。它可以处理顺序、错误、重试、并行性、条件逻辑、人机交互以及通过Workflow Studio的可视化操作。Step Functions与超过220种亚马逊云科技服务实现了原生集成。为了展示这些功能,我们将构建一个利用生成式AI为视频生成标题、描述和头像的视频处理工作流。这个目标是为了展示如何轻松地使用Step Functions的功能(例如[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)和HTTP端点的新集成)来集成生成式AI。此外,我们还将重点关注Step Functions如何使工作流程更具弹性。我们正在扩展的应用程序名为Serverless Video,允许用户按需上传和观看视频。针对每个视频,工作流将通过[Amazon Transcribe](https://aws.amazon.com/cn/transcribe/?trk=cndc-detail)将音频转换为文本,然后使用文本结合[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)和Hugging Face来生成标题和描述选项,再将这些选项发送给人类审查者,最后根据所选标题生成头像图像。首先,[Amazon Transcribe](https://aws.amazon.com/cn/transcribe/?trk=cndc-detail)将使用其API将语音转换为文本以进行自动语音识别。Transcribe提供了一些功能,但我们将通过StartTranscriptionJob方法使用它,该方法从S3中获取媒体文件,对其进行转录并将文本输出到S3。Step Functions可以直接调用此API并配置重试、错误处理以及与服务(如SQS)的集成。了解为什么这种直接集成如此强大的原因之一是Tanya提供一个查询DynamoDB数据的例子。在Lambda中执行此类操作需要导入库、配置表/键、包裹在try/catch中、处理JSON、添加重试和日志记录。这可能需要超过20行代码,并且在任何地方都可能出现bug。而在Step Functions的工作流中,无需担忧库、配置等问题即可实现DynamoDB的GetItem状态。重试、错误处理和监控过程都是自动进行的。这种方法同样具有可扩展性,但代码量要少得多。工作流是声明式的,即使几个月后不是开发者也能容易理解。当事情失败时,这种简化至关重要。 通过与Transcribe的直接整合,该系统能够输出文本转录。接下来,需要根据这些文本生成标题和描述。[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)提供了一个完全管理的基石模型,使得轻松构建生成性应用程序变得更加容易。只需通过简单的API调用来创建标题和描述。 在此过程中,Tanya详细讲解了如何在Lambda函数中实现这一功能。首先,需要捕获文本内容,然后创建一个提示,接着调用Bedrock API来生成标题/描述,同时处理错误并进行重试。如果遇到超过Lambda函数大小限制的问题,可能需要将较大的数据存储在S3中。这个过程只需要大约25行的代码。 为了简化Bedrock的集成过程,Step Functions在本周推出了一种优化的集成方式:1. InvokeModel API;2. CreateModelCustomizationJob API。前者可以通过提供提示并使用S3集成处理大型负载,直接调用模型;后者则能同步微调模型并获得响应,无需进行轮询。 针对此用例,InvokeModel API显得最为相关。通过这个集成,Bedrock的操作会在可视化的工作流程构建器中出现,可以直接拖放使用。配置如模型选择、提示和参数等在侧边面板中进行处理。JSON定义显示了一个使用InvokeModel API和指定模型ID的Bedrock资源的调用。提示可以在运行时动态提供,而非预先编写。 然而,Step Functions的功能限制决定了其最大负载仅为256 KB。因此,较大的响应可以写入S3存储桶,而较大的提示输入也可以从S3中读取。这种优化集成使得调用Bedrock变得更为无缝,同时也解决了背后的复杂性。 此外,应用程序通常需要多个标题/描述选项,因此Tanya还介绍了如何使用Amazon StageMaker Jumpstart来提供更多基石模型的选择。但是,他们还希望通过外部公共API获取更多选项。调用公共API需要注意一些问题,包括认证问题的解决、秘密存储、调用令牌API、处理不同请求/响应格式以及实施优雅的重试策略以防止过度使用API等。 为了简化公共API的集成,Step Functions现在支持在工作流程中直接调用任何公共HTTP API。这样就能处理错误,使用EventBridge进行认证,将数据转换为非JSON格式(如表单编码),并提供一个新的测试API来验证认证和数据形状。 连接是[Amazon EventBridge](https://aws.amazon.com/cn/eventbridge/?trk=cndc-detail)的一个功能,用于存储认证详细信息,从而在不泄露敏感信息的情况下在工作流程定义中实现认证。通过可视化的工作流程构建器,用户可以轻松地拖放HTTP任务,配置其端点和方法,并引用用于认证的连接资源。JSON会展示一个简单的HTTP调用操作以及连接ARN参数,让用户轻松地指定额外的头部和查询参数等。 为了生成多个标题/描述,并行状态将同时调用Bedrock和HTTP任务。只有在两者都成功完成之后,整个并行分支才能继续执行。如果任何一个任务失败,整个并行分支都将失败,而Amazon Step Functions在过去并没有很好地处理这种情况。用户需要重新运行整个工作流程,这会导致已成功的步骤不必要的重新执行,浪费时间和金钱。 为了解决这个问题,Amazon Step Functions最近推出了对Redrive的支持,这种功能可以在保留成功步骤的同时重试失败的步骤。在这个例子中,Transcribe和Bedrock成功地完成了,但是HTTP调用失败了。通过Redrive,只有失败的HTTP调用会被重试,而不会影响其他已完成的工作。Redrive会增加执行次数并向历史添加事件,以便可以观察重试的情况。这使得更快的故障恢复成为可能,而无需不必要的重新处理。 现在,工作流程已经生成了两个标题/描述选项。下一个要求是通过一个人类审批循环将这些发送给视频作者进行选择。这是一个常见的例子,例如基于金额或AI生成的内容抽查的亚马逊云科技审批。 为了支持人类交互,Amazon Step Functions提供了一个等待回调的集成模式。一个任务可以发出令牌,并在将令牌发送到可能需要处理一段时间的服务的同时等待,或者与人类进行交互。完成后,外部服务将令牌返回给Amazon Step Functions,然后该服务将继续等待提供数据的任务。 对于此用例,两个标题/描述将通过亚马逊云科技的IoT Core使用WebSocket发送给作者。作者审查并选择一个响应,然后将带有令牌的响应发送回Amazon Step Functions,以使工作流程可以继续。然后,选择状态将根据作者的反馈决定是否继续还是重新生成选项。 最后一个要求是使用选定的标题为视频生成一张人像照片。亚马逊Bedrock提供了一个文本到图像生成模型,可以像之前的文本生成工作流程一样被调用。选定的标题被用作提示,以创建人像照片。 这展示了提示链的使用,一种在工作流程步骤之间序列化提示和响应以实现业务流程的技术。Step Functions非常适合链接提示,因为它简化了模型集成,处理重试/错误,使执行过程可观察,并提供了排序、并行和迭代结构来连接提示和响应。其[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)特性还可以避免随着模型发展而出现的兼容性问题。 总的来说,演讲者通过一个现实的生成式AI用例,突出了Step Functions在工作流程协调、集成、可见性和弹性方面的功能。演示展示了一个端到端的架构,利用了Step Functions、Lambda、Bedrock、Transcribe、IoT Core、SQS和S3。 如优化的Bedrock集成、HTTP API支持和Redrive加速等新功能促进了开发,而核心工作流程引擎简化了模型集成和组件编排。Step Functions允许轻松地将生成式AI集成到现有应用程序中,同时管理幕后的复杂性。 Tanya和Omar通过演示如何实现以下目标达成了他们的目的: 1. 使用Step Functions将生成式AI与最少的代码集成到现有应用程序中。 2. 利用Bedrock、HTTP API、测试API和Redrive等新功能加速开发。 3. 从头开始构建健壮的工作流程,具有重试、错误处理、可见性和人机交互的原生支持。 在结论部分,他们提供了一个QR码,以便访问代码示例、文档和相关资源,如亚马逊峰会会议,以继续学习。由于Step Functions简化了与生成式AI的工作,同时管理了强大企业应用程序中涉及的复杂背景任务,组织可以专注于他们的业务逻辑,并快速、安全、经济高效地利用AI的优势。 **下面是一些演讲现场的精彩瞬间:** Step Functions产品的产品经理探讨了如何将生成式AI功能整合至其工作流程中。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_0.png) 在产品开发过程中,每当需要进行状态检查和更新时,都需要频繁地访问数据库,这不仅增大了复杂度,还带来了成本和一致性方面的挑战。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_1.png) 他们讨论了一些关键参数,例如温度、top p、最大生成长度和令牌,通过这些参数可以调整基础模型的回应。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_2.png) 同时,强调了亚马逊云科技如何在工作流程中实现与外部AI模型(如公共API)的无缝集成。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_3.png) Amazon States Language支持通过[Amazon EventBridge](https://aws.amazon.com/cn/eventbridge/?trk=cndc-detail)安全地连接并调用公共端点。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_4.png) 然而,如果并行工作流的某个分支发生故障,可能需要从头开始重新运行整个工作流程,这将导致时间和服务的巨大损失。 ![](https://d1trpeugzwbig5.cloudfront.net/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI/images/rebranded/API210-Elevating_workflows_with_AWS_Step_Functions_and_generative_AI_5.png) ## 总结 演讲探讨了如何通过运用亚马逊云科技的Step Functions和生成性人工智能技术,构建可扩展且具备灵活性的工作流程。首先揭示了在协同服务及基本模型(例如顺序、错误处理和人工干预)方面所面临的常见挑战。 演示者通过一个实际生活中的视频处理应用为例进行了展示。该应用是基于现有视频处理应用的改进版本。主要流程包括使用[Amazon Transcribe](https://aws.amazon.com/cn/transcribe/?trk=cndc-detail)将视频转换为文本,接着使用[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)和Hugging Face生成标题/描述,然后获取人类审批的输出结果,并根据选定的文本创建头像图像。 在整个演示过程中,着重强调了各种Step Functions的功能特点,如直接集成的简化编码过程、可视化的工作流程设计、原生的错误处理和重试机制、涉及人类的并行/回调状态以及用于快速恢复的重试机制。此外,还宣布了一些与Bedrock和HTTP API的新优化集成。 总之,这次演讲为如何将生成性人工智能整合到应用程序中提供了一个实用的概览,同时也确保了可扩展性、可观察性和弹性。为那些寻求构建自身工作流程的人们提供了宝贵的参考资源。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭