关键字: [ 亚马逊云科技中国峰会2024, Amazon Step Functions, 生成式Ai 工作流编排, 复杂工作流编排, 子任务大语言模型, 工作流人工审核, 流式响应生成]
本文字数: 1900, 阅读完需: 10 分钟
导读
在这次演讲中, 王景辉解决方案架构师介绍了如何使用Amazon Step Functions 轻松构建可扩展的生成式AI 工作流。他阐述了Step Functions 如何帮助开发者解决以下几个问题:1) 在生成式AI 应用中进行复杂的工作流编排;2) 快速迭代和测试生成式AI 应用;3) 为每个子任务找到最合适的大语言模型;4) 在工作流中引入人工审核。他还展示了如何利用Step Functions 的并行状态、条件选择状态、直接集成亚马逊云科技服务、调用第三方API 等功能, 以及单元测试、错误重试和Callback 模式等特性, 来构建可扩展、高效的生成式AI 工作流。最后, 他介绍了如何结合Lambda 实现流式响应。
演讲精华
以下是小编为您整理的本次演讲的精华,共1600 字,阅读时间大约是8 分钟。
在分享的开篇, 王景辉阐明了本次分享的目标, 旨在帮助开发者解决四个问题: 首先, 如何在生成式AI 应用中进行复杂的工作流编排。根据与会者的问题, 我们可以看到现代生成式AI 应用不仅需要对大语言模型进行单次调用, 还需要进行多次调用和后续操作, 因此需要一个工作流编排服务。其次, 如何快速迭代和测试生成式AI 应用。第三, 如何为每个子任务找到最合适的大语言模型。因为不同的大语言模型擅长不同的领域, 有些模型擅长小语种, 有些逻辑推理能力强, 有些适合生成文章, 给每个子任务选择最佳模型会是更好的选择。第四, 如何在工作流中引入人工审核。虽然大语言模型生成的内容已经过安全审核, 但如果置信度不够高, 需要引入人工审核。
王景辉解释说, 构建最简单的生成式AI 应用的传统方式是: 用户提出问题, 应用调整用户输入并交给大语言模型, 大语言模型返回响应, 最后将响应交给用户。然而, 这种应用已远远不能满足现代需求, 需要更多步骤, 如检索(Retrieval) 、增强(Augmentation) 和生成(Generation) 。
现代生成式AI 应用需要在调用大语言模型前, 为提示词提供更多内容, 包括一个指令告诉大语言模型你应该做什么事情, 以及一些上下文, 比如历史上的聊天记录, 或者从企业内部知识库、数据库获取的信息。通过这种工程化和丰富化, 生成工程化的提示词, 再交给大语言模型, 大语言模型就可以基于上下文和指令给出响应。
他举例说明, 假设用户的输入是” 我想给车买一个保险”, 这个输入非常短, 直接交给大语言模型可能无法生成与公司相关的响应。因此, 在给大语言模型前需要丰富提示词: 首先告诉大语言模型你是一个保险公司的聊天助手, 你要回复什么样的内容( 指令); 其次包括用户的数据, 如用户叫什么、住哪里、有什么车型、家庭成员( 场景); 再通过embedding 或向量检索给予语义上下文, 如保险相关知识; 最后是原始用户输入。经过这种工程化, 提示词包含更多信息, 能让大语言模型代表企业解决客户问题。
另一个例子是工作流: 客户表示价格超出预算, 应用首先调用大语言模型判断用户意图, 然后自己的应用程序解析输出、判断意图, 再次调用大语言模型生成API 请求体, 发出API 请求获取响应, 最后根据条件给出响应。这种复杂工作流包含了多次对大语言模型的调用, 每步可能需要不同的最佳模型。第一次调用cloud3, 第二次cloud instant, 第三次cloud3 。
构建这种应用充满挑战, 需要评估不同模型的性能、价格, 管理数据隐私, 进行复杂工作流编排, 实现流式输出以获得良好用户体验。使用无服务器技术可加速开发、测试, 写更少代码, 获得安全、高容错、可扩展的环境。Amazon Lambda 无服务器函数可在10 秒内扩展出1000 个实例, 每个实例不限制并发请求数。
接下来, 王景辉正式介绍了Step Functions 无服务器可视化工作流编排服务。它是一种工作流服务, 可直观拖拽步骤到中间, 包括顺序执行、条件判断或并行执行, 每步可调用亚马逊云科技服务API 或自己API 。由于生成式AI 应用本质是工作流, 使用Step Functions 可避免自己管理状态。
Step Functions 的优势包括: 按需付费, 具有无服务器特征; 完全托管的SaaS 服务, 可视化编辑; 内置错误处理和重试, 因为调用大语言模型可能返回不正确格式; 集成超过220 种亚马逊云科技服务和1 万个API 。它提供强大的直接集成功能, 可直接调用亚马逊云科技服务而无需代码, 内置错误处理、重试、可观测性和低代码优势。
王景辉演示了使用直接集成从DynamoDB 读取数据, 只需在控制台创建工作流, 配置重试、死信队列, 可清晰查看每步执行状态、输入输出, 因为它是状态机服务。
接着, 他讲解了使用Step Functions 构建生成式AI 应用工作流的方法: 子任务级别的提示词工程、与亚马逊云科技服务集成、从状态机或对象存储加载提示词和参数、开发人员和提示词工程师协同、并行执行、调用第三方API 、错误处理和重试、人工审核以及流式响应。
在子任务提示词工程中, 可将每个子任务拖到流程图, 单独配置调用的大语言模型, 立即测试, 观察响应时间、token 消耗等。与亚马逊云科技服务集成时, 可快速多次实验测试, 关注业务需求。从状态机或对象存储加载提示词和参数, 使工程师关注prompt, 开发人员关注业务逻辑和API 。并行执行只需加入并行状态并拖入任务。Step Functions 内置调用第三方API 能力, 可自行部署模型或调用第三方, 内置鉴权、重试、格式转换等。
它提供Retry 功能, 可从错误状态重试, 避免每次出错从头执行。使用Callback 模式引入人工审核, 状态机等待Task Token, 审核完毕将Token 返回继续执行。最后一次调用大语言模型需流式响应, 可使用Lambda 通过API Gateway 、AppSync 等实现。
Step Functions 有三种调用模式:Request Response 模式发出HTTP 请求并获响应即完成;Job Run 模式等待任务执行完毕, 适合调用大语言模型生成响应;Callback 模式提供Task Token, 可将Token 保存到数据库, 审核员完成后通知系统查数据库获取Token, 让状态机继续执行, 从而引入人工审核。
王景辉还分享了一个例子, 展示了如何在Step Functions 中实现并行执行: 用户想优化输入, 左侧工作流调用大语言模型生成额外关键词优化输入, 右侧工作流判断是否需要调用额外知识库丰富关键词, 这两个工作流可以并行执行, 且不同步骤可使用不同大语言模型。
如果需要访问亚马逊云科技之外的大语言模型,Step Functions 也内置了直接调用第三方API 的能力。王景辉演示了如何在Step Functions 中调用Hugging Face 上的模型, 只需在控制台拖出调用第三方API 状态, 配置API 参数、鉴权、重试等, 就可以在子流程中调用第三方API,Step Functions 内置了鉴权、重试、格式转换等功能, 并支持单元测试。
最后, 王景辉总结了Step Functions 解决的四个问题: 复杂工作流编排( 使用并行状态、条件选择状态、调用HTTP 请求和重试功能) 、快速迭代测试( 每个状态可单独测试, 观察输入输出, 从错误中恢复) 、为每个子任务找到最佳大语言模型( 直接集成大语言模型并进行单元测试) 、引入人工审核( 使用Callback 模式让状态机等待Task Token) 。
他介绍了一楼展厅的Live Demo, 使用Step Functions 分步骤让大语言模型编写故事、规划旅行、生成饮食建议等。
总的来说, 这个分享详细阐述了如何使用Step Functions 无服务器可视化工作流编排服务, 轻松构建可扩展的生成式AI 应用, 解决了复杂工作流编排、快速迭代测试、子任务模型选择、人工审核引入等问题, 并给出了多个生动实例, 为开发者提供了宝贵指导。
下面是一些演讲现场的精彩瞬间:
在亚马逊云科技中国峰会2024 上, 演讲者分享了关于大规模部署人工智能模型的工程化解决方案, 以应对扩展性挑战。
亚马逊云科技中国峰会2024 上, 演讲者详细介绍了Amazon Step Functions 的优势, 包括按需付费、完全托管、可视化编辑工作流程, 以及与众多亚马逊云科技服务和API 集成。
亚马逊云科技中国峰会2024: 通过Step Functions 实现子任务级别的提示词工程, 可单独配置和测试每个子任务对应的大语言模型。
亚马逊云科技中国峰会2024:Step Function 提供了Retry 功能, 可以从错误状态直接重试, 避免从头开始执行, 提高效率。
亚马逊云科技Step Functions 提供了Callback 模式, 可以引入人工审核流程, 实现异步任务的人工审核。
亚马逊云科技中国峰会2024 上, 演讲者阐述了如何利用亚马逊云科技服务( 如Step Functions 和Lambda) 实现大语言模型的流式响应, 为构建智能对话系统提供了解决方案。
在工作流中引入人工审核时, 可以使用Callback 模式让状态机等待Task Token, 人工审核完毕后将Token 交回, 使状态机继续执行。
总结
亚马逊云科技无服务器解决方案架构师王景辉分享了如何使用 Amazon Step Functions 轻松构建可扩展的生成式 AI 工作流。他强调了生成式 AI 应用需要复杂的工作流编排、快速迭代和测试、为每个子任务选择最合适的大语言模型, 以及在工作流中引入人工审核。Step Functions 作为一个无服务器可视化工作流编排服务, 可以帮助开发者解决这些挑战。
它可以直接集成亚马逊云科技服务和第三方 API, 支持并行执行、条件选择和内置重试机制, 并提供单元测试功能。通过 Step Functions, 开发者可以轻松地为每个子任务选择最合适的大语言模型, 并在工作流中引入人工审核。最后, 王景辉介绍了如何使用 Lambda 实现流式响应。他邀请大家参观一楼展区的 Live Demo, 体验使用 Step Functions 构建生成式 AI 应用的实例。
2024 年 5 月 29 日,亚马逊云科技中国峰会在上海召开。峰会期间,亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松全面阐述了亚马逊云科技如何利用在算力、模型、以及应用层面丰富的产品和服务,成为企业构建和应用生成式 AI 的首选。此外,活动还详细介绍了亚马逊云科技秉承客户至尚的原则,通过与本地合作伙伴一起支持行业客户数字化转型和创新,提供安全、稳定、可信赖的服务,以及持续深耕本地、链接全球,助力客户在中国和全球化发展的道路上取得成功。