View a markdown version of this page

架构概述 - AWS 上的生成式人工智能应用程序构建者

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

架构概述

本节提供使用此解决方案部署的组件的参考实现架构图。

架构图

为了支持多种用例和业务需求,此解决方案提供了六个 AWS CloudFormation 模板:

  1. 部署仪表板-部署仪表板是一个 Web 界面,可用作管理员用户查看、管理和创建用例的管理控制台。该仪表板使客户能够利用此仪表板快速试验、迭代和生产各种 AI/ML 工作负载。 LLMs

  2. 文本用例-文本用例使用户能够使用生成式 AI 体验自然语言界面。此用例可以集成到新的或现有的应用程序中,并且可以通过部署仪表板进行部署,也可以通过提供的 URL 独立部署。

  3. Bedrock Agent 用例 ——基岩代理用例允许使用现有的 Bedrock Agent 来完成任务或自动执行重复的工作流程。

  4. MCP 服务器-MCP 服务器用例支持部署和管理模型上下文协议服务器,这些服务器为 AI 应用程序提供标准化工具和资源访问权限。支持用于封装现有 Lambda 函数和外部 MCP 服务器的网关方法 APIs,以及用于部署自定义容器化 MCP 服务器的运行时方法。

  5. A@@ gent Buil der-Agent Builder 支持在 Amazon Bedrock 上创建和部署可用于生产的 AI 代理,并 AgentCore 具有全面的配置控制、MCP 服务器集成和内存管理功能。

  6. W orkflow Builder-Workflow Builder 允许创建主管代理,这些代理使用代理作为工具的委托模式为复杂的多代理工作流编排多个代理生成器代理。

部署控制面板

描述部署控制面板架构(在禁用 VPC 选项的情况下部署时)

部署仪表板图

描述部署控制面板架构(在启用 VPC 选项的情况下进行部署时)

部署仪表板 vpc 拱形图
注意

AWS CloudFormation 资源是基于 AWS Cloud Development Kit (AWS CDK) 结构创建的。

使用 AWS CloudFormation 模板部署的解决方案组件的高级流程如下:

  1. 管理员用户登录部署控制面板用户界面 (UI)。

  2. 亚马逊 CloudFront提供网络用户界面,该用户界面托管在亚马逊简单存储服务 (Amazon S3) 存储桶中。

  3. AWS WAF 可以保护他们 APIs 免受攻击。此解决方案配置了一组名为 Web 访问控制列表 (Web ACL) 的规则,这些规则根据可配置的、用户定义的 Web 安全规则和条件允许、阻止或计数 Web 请求。

  4. 网页用户界面利用一组使用 Amazon API Gat APIs ew ay 公开的 REST。

  5. Amazon Cognito 对用户进行身份验证并支持 CloudFront 网页用户界面和 API Gateway。

  6. AWS Lambda 为 REST 终端节点提供了业务逻辑。这个支持 Lambda 函数管理和创建了使用 AWS 执行用例部署所需的资源。 CloudFormation

  7. 亚马逊 Dy namoDB 存储部署列表。

  8. 管理员用户创建新用例时,支持的 Lambda 函数会为请求的用例启动 CloudFormation 堆栈创建事件。

  9. 管理员用户在部署向导中提供的所有 LLM 配置选项都保存在 DynamoDB 中。部署使用此 DynamoDB 表在运行时配置 LLM。

  10. 该解决方案使用 Amazon CloudWatch 从各种服务中收集运营指标,以生成自定义控制面板,使您可以监控解决方案的性能和运行状况。

注意
  • 如果您选择在 Amazon VPC 中部署此解决方案,则数据将在您的私有网络内路由。

  • 尽管部署控制面板可以在大多数 AWS 区域启动,但根据服务可用性,部署的用例会受到某些限制。有关更多详细信息,请参阅支持的 AWS 区域

文本用例

描绘文本用例架构(在禁用 VPC 选项的情况下部署时)

文本用例图

描绘文本用例架构(在启用 VPC 选项的情况下部署时)

文本用例 vpc 拱形图

使用 AWS CloudFormation 模板部署的解决方案组件的高级流程如下:

  1. 管理员用户使用部署仪表板部署用例。企业用户登录到用例用户界面。

  2. CloudFront 提供托管在 S3 存储桶中的 Web 用户界面。

  3. 网页用户界面利用了使用 API Gateway 构建的 WebSocket 集成。API Gateway 由自定义 Lambda 授权方函数提供支持,该函数会根据身份验证用户所属的 Amazon Cognito 群组返回相应的 AWS 身份和访问管理 (IAM) 策略。该策略存储在 DynamoDB 中。

  4. Amazon Cognito 对用户进行身份验证并支持 CloudFront 网页用户界面和 API Gateway。

  5. 来自企业用户的传入请求将从 API Gateway 传递到亚马逊 SQS 队列,然后传递到 Orchestrator。LangChain LangChain Orchestrator 是 Lambda 函数和层的集合,它们为满足来自业务用户的请求提供了业务逻辑。该队列支持 API Gateway 到 Lambda 集成的异步操作。队列将连接信息传递给 Lambda 函数,然后这些函数会将结果直接发布回 API Gateway websocket 连接,以支持长时间运行的推理调用。

  6. O LangChain rchestrator 使用 Amazon DynamoDB 来获取配置的 LLM 选项和必要的会话信息(例如聊天记录)。

  7. 如果部署启用了知识库,则 LangChain Orchestrator 会利用 Amazon Kendra 或 Amazon Bed rock 知识库来运行搜索查询来检索文档摘录。

  8. LangChain Orchestrator 使用知识库中的聊天记录、查询和上下文,创建最终提示并将请求发送到托管在 Amazon Bedro ck 或 Ama zon AI 上的 LLM。 SageMaker

  9. 当响应从 LLM 返回时,LangChain Orchestrator 会通过 API Gat eway 将响应流回 WebSocket 以供客户端应用程序使用。

  10. 该解决方案使用 Amazon CloudWatch 从各种服务中收集操作指标,以生成自定义控制面板,使您可以监控部署的性能和运行状况。

  11. 如果启用了反馈收集,则可以使用利用 Amazon API Gateway 的 REST API 终端节点来收集用户反馈。

  12. 支持 lambda 的反馈使用其他特定于用例的元数据(例如使用的模型)来补充提交的反馈,并将数据存储在 Amazon S3 中,供用户日后分析和报告。 DevOps

注意

如果您选择在 Amazon VPC 中部署此解决方案,则数据将路由到您的私有网络。

基岩代理用例

描述了 Bedrock Agent 用例架构(在禁用 VPC 选项的情况下部署时)

代理用例图

描述了 Bedrock Agent 用例架构(在启用 VPC 选项的情况下部署时)

代理用例 vpc 拱形图

使用 AWS CloudFormation 模板部署的解决方案组件的高级流程如下:

  1. 管理员用户使用部署仪表板部署用例。企业用户登录用例用户界面。

  2. CloudFront 提供托管在 S3 存储桶中的 Web 用户界面。

  3. 网页用户界面利用了使用 API Gateway 构建的 WebSocket 集成。API Gateway 由自定义 Lambda 授权方函数提供支持,该函数会根据身份验证用户所属的 Amazon Cognito 群组返回相应的 AWS 身份和访问管理 (IAM) 策略。该策略存储在 DynamoDB 中。

  4. Amazon Cognito 对用户进行身份验证并支持 CloudFront 网页用户界面和 API Gateway。

  5. 来自业务用户的传入请求将从 API Gateway 传递到亚马逊 SQS 队列,然后传递到 AWS Lambda 函数。该队列支持 API Gateway 到 Lambda 集成的异步操作。队列将连接信息传递给 Lambda 函数,然后该函数会将结果直接发布回 API Gateway websocket 连接,以支持长时间运行的推理调用。

  6. AWS Lambda 函数使用亚马逊 DynamoDB 根据需要获取用例配置

  7. AWS Lambda 函数使用用户输入和任何相关的用例配置,构建请求负载并将其发送到已配置的 A mazon Bedrock Agent,以实现用户意图。

  8. 当响应从 Amazon Bedrock Agent 返回时,Lambda 函数会通过 API WebSocket Gateway 将响应流回以供客户端应用程序使用。

  9. 该解决方案使用 Amazon CloudWatch 从各种服务中收集操作指标,以生成自定义控制面板,使您可以监控部署的性能和运行状况。

  10. 如果启用了反馈收集,则可以使用利用 Amazon API Gateway 的 REST API 终端节点来收集用户反馈。

  11. 支持 lambda 的反馈使用其他特定于用例的元数据来补充已提交的反馈,并将数据存储在 Amazon S3 中,供用户日后分析和报告。 DevOps

注意

如果您选择在 Amazon VPC 中部署此解决方案,则数据将在您的私有网络内路由。

MCP 服务器用例

描绘 MCP 服务器用例架构

mcp 服务器用例图

MCP 服务器用例允许在 Amazon Bedro AgentCore ck 上部署和管理模型上下文协议服务器。MCP 服务器为 AI 应用程序提供了一个标准化接口,用于访问工具、资源和企业数据源。

该解决方案支持两种部署方法:

  • 网关方法:将现有 Lambda 函数、 APIs REST 或外部 MCP 服务器封装为 MCP 工具,自动处理协议转换

  • 运行时方法:从 Amazon ECR 映像部署自定义容器化 MCP 服务器

MCP 服务器部署的高级流程如下:

  1. 管理员用户使用部署仪表板部署 MCP 服务器用例,选择网关或运行时部署方法。

  2. 此操作已通过 Amazon Cognito 进行身份验证。

  3. 对于网关部署,该解决方案创建了一个 Amazon Bedrock AgentCore Gateway,用于将现有 Lambda 函数或外部 MCP 服务器转换为 APIs符合 MCP 标准的工具。对于运行时部署,该解决方案使用提供的 ECR 映像在 Amazon Bedrock R AgentCore untime 上部署容器化 MCP 服务器。

  4. 网关部署从其在 Amazon S3 中的上传位置检索必要的API/Lambda/Smithy架构,或者直接连接到 MCP 服务器 URL 终端节点。

  5. 运行时部署从 Amazon 弹性容器注册表 (ECR) 检索用户提供的容器化 MCP 服务器

  6. MCP 服务器装有 Amazon Bedro AgentCore ck Identity 客户端 OAuth

  7. MCP 服务器在 /mcp 端点提供相关工具供代理发现。

  8. Amazon 从 MCP 服务器部署中 CloudWatch 收集操作指标和日志,用于监控和故障排除。

代理生成器用例

描绘代理生成器架构

代理生成器部署图

使用 AWS CloudFormation 模板部署的 Agent Builder 组件的高级流程如下:

  1. 管理员用户使用部署仪表板部署用例。企业用户登录用例用户界面。

  2. CloudFront 提供托管在 S3 存储桶中的 Web 用户界面。

  3. 网页用户界面利用了使用 API Gateway 构建的 WebSocket 集成。API Gateway 由自定义 Lambda 授权方函数提供支持,该函数会根据身份验证用户所属的 Amazon Cognito 群组返回相应的 AWS 身份和访问管理 (IAM) 策略。该策略存储在 DynamoDB 中。

  4. Amazon Cognito 对用户进行身份验证并支持 CloudFront 网页用户界面和 API Gateway。

  5. 来自业务用户的传入请求将从 API Gateway 传递到亚马逊 SQS 队列,然后传递到 AWS Lambda 函数。该队列支持 API Gateway 到 Lambda 集成的异步操作。队列将连接信息传递给 Lambda 函数,然后该函数会将结果直接发布回 API Gateway websocket 连接,以支持长时间运行的推理调用。

  6. AWS Lambda 函数从 DynamoDB 检索代理配置。

  7. AWS Lambda 函数使用用户输入和任何相关的用例配置,生成请求负载并将其发送给在 A mazon Bedro AgentCore ck Runtime 上运行的代理。

  8. 代理连接到关联的 MCP 服务器,并将工具注册到 strands 代理实例。然后,代理会根据工具描述和任务要求自主选择和执行操作。

  9. 当响应从 Amazon Bedrock AgentCore 运行时返回时,Lambda 函数会通过 API WebSocket Gateway 将响应流回以供客户端应用程序使用。

注意
  • 代理处理仅限于 Lambda 执行超时(15 分钟)。

工作流程生成器用例

描绘工作流生成器架构

工作流程部署图

使用 AWS CloudFormation 模板部署的 Workflow Builder 组件的高级流程如下:

  1. 管理员用户使用部署仪表板部署工作流,选择要包含为专业代理的 Agent Builder 代理。

  2. CloudFront 提供托管在 S3 存储桶中的 Web 用户界面。

  3. 网页用户界面利用了使用 API Gateway 构建的 WebSocket 集成。API Gateway 由自定义 Lambda 授权方函数提供支持,该函数会根据身份验证用户所属的 Amazon Cognito 群组返回相应的 AWS 身份和访问管理 (IAM) 策略。该策略存储在 DynamoDB 中。

  4. Amazon Cognito 对用户进行身份验证并支持 CloudFront 网页用户界面和 API Gateway。

  5. 来自业务用户的传入请求将从 API Gateway 传递到亚马逊 SQS 队列,然后传递到 AWS Lambda 函数。该队列支持 API Gateway 到 Lambda 集成的异步操作。

  6. AWS Lambda 函数从 DynamoDB 检索工作流程配置,包括专门的代理生成器代理列表。

  7. Lambda 使用用户输入和工作流程配置,向托管主管代理的 A mazon Bedrock AgentCore 运行时发送请求。

  8. 主管代理在 AgentCore 运行时环境中创建所有专门的 Agent Builder 代理的本地实例。这些专业代理使用 “代理即工具” 模式注册为工具。然后,主管根据代理描述和任务要求自主选择工作并将其委派给专业代理。

  9. 主管代理汇总来自专业代理的结果并制定最终响应,然后将其返回到 Lambda,然后通过 API Gateway Websocket 流式传输回客户端应用程序。

注意
  • 工作流程处理仅限于 Lambda 执行超时(15 分钟)。