如何基于亚马逊云科技服务构建一个AI代理

e265d85c2d8a6bf5360c8f1a52e4d626.jpeg

关键字: [Langchain, Ai Agent, Solutions Architect, Well-Architected Framework, Lambda Functions, Amazon Web Services Services]

导读

在亚马逊云科技的活动中,演讲者们介绍了”亚马逊云科技 - GenAI Solutions Architect Agent”。在这场演示中,他们探讨了如何为亚马逊云科技解决方案架构师构建一个AI代理。该代理能够参考亚马逊云科技的Well-Architected Framework,并部署Lambda函数。演示重点阐述了Amazon Bedrock、Langchain和Streamlit如何能够构建AI代理、与亚马逊云科技服务集成,以及为代理创建定制工具。

演讲精华

在构建第一个工具时,工程师从”亚马逊云科技 架构最佳实践”框架的网站上抓取了所有页面的 HTML 内容。具体而言,该框架拥有一组 sitemap.xml 文件,每个文件都包含了一系列 URL,指向该框架的各个页面。通过 Python 代码,工程师循环遍历了这些 URL,提取了每个页面的 HTML 内容,并将其分块成小段文本。接下来,他们使用 Bedrock Embedding 将这些小段文本转换为向量,并将它们存储在本地的向量数据库中。

创建好向量数据库后,工程师编写了一个名为”aws_arc_tool”的工具函数,用于处理用户的查询。该函数首先使用 Bedrock Embedding 加载之前创建的向量数据库,然后对用户的查询进行相似性搜索,找到与查询语义相近的文本块。基于搜索结果,函数会生成一个新的提示,其中包含了相关的上下文信息、原始查询以及一个指令,要求 Amazon Titan 大型语言模型根据提供的上下文回答查询。最后,该函数会返回 Amazon Titan 生成的答案以及用于生成答案的”亚马逊云科技 架构最佳实践”框架链接。

在测试中,工程师向代理提出了”如何设计安全的 VPC?“这一查询。代理首先进行了思考,展示了所谓的”思维链”(chain of thought),即它是如何理解和处理这一查询的。接着,代理调用了”aws_arc_tool”工具函数,在向量数据库中搜索与”VPC”和”安全”相关的内容。最终,代理从”亚马逊云科技 架构最佳实践”框架中找到了相关文档,并给出了设计安全 VPC 的建议,同时提供了支持性文档链接,例如”创建私有 VPC 网络”和”创建私有子网”等。

构建第二个工具时,工程师着重强调了限制大型语言模型的重要性,以防止它做出意料之外的行为。因此,他们创建了一个新的工具函数,其职责是要求大型语言模型编写 Python 代码、提供函数名称、描述以及所需的外部 Python 库(如果有的话)。同时,他们还硬编码了一些 亚马逊云科技 资源,如用于部署代码的 S3 存储桶,从而进一步限制了大型语言模型的操作范围。

在测试过程中,工程师要求代理创建一个能在 1 到 3000 之间生成随机数的 Lambda 函数。代理首先展示了它的”思维链”,即它是如何理解和处理这一请求的。然后,代理编写了相应的 Python 代码,提供了函数名称”random_number_generator”、描述”生成 1 到 3000 之间的随机数”以及无需外部库的说明。接下来,代理将这段代码部署到工程师的 亚马逊云科技 账户中,并在 Amazon Lambda 控制台显示了已部署的”random-number-generator”函数,尽管在部署过程中出现了一些错误。尽管这只是一个非常简单的示例,但它展示了代理如何根据给定的约束编写代码并将其部署到 亚马逊云科技 账户中。

最后,工程师将代理连接到之前创建的 Lambda 函数。在 Amazon Bedrock 中,他们创建了一个新代理,并为它设置了描述”一个自动化的 AI 驱动代理,通过获取 亚马逊云科技 架构最佳实践框架和编写代码,帮助客户了解 亚马逊云科技 的知识”。他们还为代理设置了一个引言”您是一位经验丰富的 亚马逊云科技 解决方案架构师。您的角色是帮助客户了解在 亚马逊云科技 上构建的最佳实践。您将提供文档链接来支持您的答复。“定义了它的角色和职责。

接下来,工程师添加了一个名为”agent”的操作组,并选择了之前创建的 Lambda 函数。为了让代理能够与 Lambda 函数交互,他们提供了一个 OpenAPI 规范文件,定义了代理如何调用 Lambda 函数的各个端点。在测试中,当工程师再次询问”如何设计安全的 VPC?“时,代理能够根据 OpenAPI 规范调用相应的 Lambda 端点,从而利用之前构建的”aws_arc_tool”工具函数,从”亚马逊云科技 架构最佳实践”框架中获取相关文档,并给出设计安全 VPC 的建议和支持性链接。

总的来说,本视频展示了如何使用 Amazon Bedrock、LangChain 和 Streamlit 等工具,构建一个基于 亚马逊云科技 的 AI 解决方案架构师代理。该代理能够获取”亚马逊云科技 架构最佳实践”框架的知识,并通过编写和部署 Lambda 函数来执行实际任务。虽然目前的功能还比较简单,但视频暗示了未来可以添加更多工具,如创建 亚马逊云科技 架构图等,使代理的能力不断扩展。

总结

在这个富有洞见的视频中,亚马逊云科技专家Banjo和Olivier向观众展示了构建一个AI驱动的解决方案架构师代理的过程,该代理能够引用亚马逊云科技的Well-Architected Framework并部署Lambda函数。他们首先定义了代理是一种由大型语言模型驱动的应用程序,具有预定义的行为指令,并配备了一组专门用于特定任务的工具。

首先,他们演示了如何创建一个工具,让代理能够学习和引用Well-Architected Framework,这是一套亚马逊云科技的最佳实践。通过从相关URL中提取文本、将其分块,并使用Bedrock嵌入和Langchain创建向量数据库,代理可以针对诸如”我如何设计安全的VPC?“这样的提示提供相关文档。

接下来,他们展示了如何使用大型语言模型创建Lambda函数,将其部署到客户的亚马逊云科技账户,并使代理能够调用该函数。这个工具使代理不仅能够检索知识,还能够执行实际的亚马逊云科技Lambda函数,从而扩展其功能。

最后,他们在Amazon Bedrock中将代理连接到这些工具,演示了它利用Well-Architected Framework知识和已部署的Lambda函数提供全面解决方案的能力。视频最后令人期待地展望了未来,届时代理可以通过添加创建亚马逊云科技图表等额外工具来进一步扩展其潜力。

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。亚马逊云科技致力于成为企业构建和应用生成式AI的首选,通过生成式AI技术栈,提供用于模型训练和推理的基础设施服务、构建生成式AI应用的大模型等工具、以及开箱即用的生成式AI应用。深耕本地、链接全球 – 在中国,亚马逊云科技通过安全、稳定、可信赖的云服务,助力中国企业加速数字化转型和创新,并深度参与全球化市场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值