概览
AWS 上的生成式人工智能应用程序生成器可以促进生成式人工智能(AI)应用程序的开发、快速试验和部署,无需丰富的 AI 经验。此 AWS 解决方案可帮助您摄取特定于业务的数据和文档、评估和比较大型语言模型(LLM)的性能、快速构建可扩展的应用程序以及使用企业级架构部署这些应用程序,从而加快开发并简化试验。
AWS 上的生成式人工智能应用程序生成器包括与 Amazon Bedrock 及其随附 LLM 以及部署在 Amazon SageMaker 上的 LLM 的集成。此外,该解决方案还预先支持使用 LangChain 或 AWS Lambda 连接到您选择的模型。从无代码部署向导开始,为对话式搜索、AI 生成的聊天机器人、文本生成和文本摘要构建生成式人工智能应用程序。
优势
该解决方案消除了部署具有不同配置的多个实例以及比较输出和性能的繁重工作,使用户能够快速进行试验。试用各种 LLM、提示工程、企业知识库和其他参数的多种配置进行试验。
通过预先构建的连接器连接各种 LLM(例如通过 Amazon Bedrock 提供的模型),该解决方案使您可以灵活地部署自己选择的模型以及您喜欢的 AWS 服务和领先的 FM 服务。
该解决方案采用 AWS Well-Architected 设计原则构建,提供企业级安全性和可扩展性,同时具有高可用性和低延迟,可确保以高性能标准无缝集成到您的应用程序中。
通过集成现有项目或原生连接其他 AWS 服务来扩展此解决方案的功能。由于这是一个开源应用程序,因此您可以使用随附的 LangChain 编排层或 Lambda 函数来连接所选服务。
技术详情
您可以使用实施指南和随附的 AWS CloudFormation 模板(该模板部署两个独立的架构)来自动部署此架构:
- 部署控制面板 — 部署控制面板是一个 Web 用户界面(UI),可用作管理控制台,供管理员用户查看、管理和创建其用例。客户可以通过该控制面板,使用 LLM 和数据的多种配置来快速试验、迭代和部署生成式人工智能应用程序。
- 文本使用案例 — 文本使用案例使用户能够体验使用生成式人工智能的自然语言界面。此使用案例可以集成到新的或现有的应用程序中,并且可通过部署控制面板进行部署,也可以通过提供的 URL 独立部署。
-
部署控制面板
-
文本用例
-
部署控制面板
-
第 1 步
管理员用户登录部署控制面板用户界面(UI)。第 2 步
Amazon CloudFront 提供托管在 Amazon Simple Storage Service(Amazon S3)存储桶中的 Web UI。第 3 步
AWS WAF 保护 API 免受攻击。此解决方案配置了一组名为 Web 访问控制列表(Web ACL)的规则,这些规则根据可配置、用户定义的 Web 安全规则和条件来允许、阻止或计算 Web 请求。
第 4 步
Web UI 利用一组通过 Amazon API Gateway 公开的 REST API。
第 5 步
Amazon Cognito 对用户进行身份验证,并为 CloudFront Web UI 和 API Gateway 提供支持。Amazon DynamoDB 表存储授权用户的 AWS Identity and Access Management(IAM)策略。第 6 步
AWS Lambda 为 REST 端点提供业务逻辑。此支持 Lambda 函数会管理和创建必要的资源,以便使用 AWS CloudFormation 执行用例部署。第 7 步
DynamoDB 存储部署列表。第 8 步
管理员用户创建新用例时,支持 Lambda 函数会为请求的用例启动 CloudFormation 堆栈创建事件。第 9 步
系统将管理员用户在部署向导中提供的所有 LLM 配置选项都保存在 DynamoDB 中。部署使用此 DynamoDB 表在运行时系统配置 LLM。
第 10 步
该解决方案使用 Amazon CloudWatch 从各种服务收集操作指标,以生成自定义控制面板,使您可以监控解决方案的性能和运行状况。
-
文本用例
-
第 1 步
管理员用户使用部署控制面板部署用例。业务用户登录用例 UI。
第 2 步
CloudFront 提供托管在 S3 存储桶中的 Web UI。第 3 步
Web UI 利用使用 API Gateway 构建的 WebSocket 集成。 API Gateway 由自定义 Lambda Authorizer 函数提供支持,该函数会根据身份验证用户所属的 Amazon Cognito 组返回相应的 IAM 策略。该策略存储在 DynamoDB 中。第 4 步
Amazon Cognito 对用户进行身份验证,并为 CloudFront Web UI 和 API Gateway 提供支持。
第 5 步
来自企业用户的传入请求从 API Gateway 传递到 Amazon Simple Queue Service(Amazon SQS)队列,然后传递到 LangChain Orchestrator。 LangChain Orchestrator 是 Lambda 函数和层的集合,后者为满足业务用户的请求提供业务逻辑。该队列支持 API Gateway 与 Lambda 集成的异步操作。队列将连接信息传递给 Lambda 函数,然后该函数将结果直接发布回 API Gateway WebSocket 连接,以支持长时间运行的推理调用。
第 6 步
LangChain Orchestrator 使用 DynamoDB 来获取配置的 LLM 选项和必要的会话信息,例如聊天记录。第 7 步
如果部署配置了知识库,则 LangChain Orchestrator 会利用 Amazon Kendra 或 Amazon Bedrock 知识库来运行搜索查询,以检索文档摘录。第 8 步
LangChain Orchestrator 使用来自知识库的聊天记录、查询和上下文,创建最终提示并将请求发送到托管在 Amazon Bedrock 或 Amazon SageMaker 上的 LLM。第 9 步
从 LLM 返回响应时,LangChain Orchestrator 会通过 API Gateway WebSocket 将响应流式传输回来,供客户端应用程序使用。第 10 步
该解决方案使用 CloudWatch 从各种服务收集操作指标,以生成自定义控制面板,使您可以监控部署的性能和运行状况。