通过亚马逊云科技Bedrock打造自定义AI智能体Agent(上)

大家对于智能体代理Agent一定已经非常熟悉,自主代理(Autonomous Agents) 目前在AI行业极其热门并具有巨大的潜力,能够显著提升开发者日常的工作效率、自动化日常琐碎、重复性任务,并生成全新的内容。Agent可以理解用户的请求,并通过后端集成的工具来满足用户们这些需求,而无需手动设置具体的执行步骤。

在本篇文章中,小李哥会带大家手把手了解如何使用Amazon Bedrock和其标准化Converse API轻松创建一个自定义AI智能体。下面我将通过利用Streamlit框架开发的应用,在浏览器中与后端代理进行交互分析自媒体文章里的情感倾向。我为代理配备了一个网页检索服务用于获取网页内容和总结网页信息,最后将以上信息总结分析社交媒体帖子的情感倾向。除了本文介绍的场景外,智能体也可以应用于来许多实用的应用场景。

解决方案概览

本次介绍的云端解决方案由几个关键组件组成,我们将通过这些组件搭建代理,关键组件如下:

  • agent.py - 运行代理的核心逻辑
  • tools.py - 定义代理可使用的工具
  • utils.py - 代理辅助函数
  • streamlit_app.py - 与代理交互的前端UI

方案架构图如下:

AI智能体核心运行逻辑解析

我们方案中的agent.py文件包含代理运行的核心逻辑,下面是工作流程图和逐步解析:

  1. 用户输入一条消息,该消息会按照Converse API的格式转换为为用户消息(User Message)。

  2. 格式化后的用户消息被添加到消息列表(Message List)中。

  3. 代理通过Converse API调用Bedrock上的大语言模型(LLM),并传递第二步中包括用户输入的消息列表,以及代理可用的工具类型。

  4. Bedrock上的大语言模型会返回助手消息(Assistant Message),其中可能包含文本、工具调用记录以及会话停止标识(stopReason)。

6.代理检查stopReason,它可能是:

tool_use:表示LLM已决定调用某个工具;

end_turn:表示LLM已完成工具调用,并结束当前的用户交互会话;

  1. 如果stopReason是tool_use,则会话未结束,代理接下来会继续调用其集成的工具完成任务。

  2. 继续执行被调用的工具后返回调用结果(toolResult)。

  3. toolResult被封装为用户消息,并追加到消息列表末尾。

  4. 代理再次开启新一轮调用Converse API,并重复执行步骤4至9,直到接收到stopReason的值为end_turn。

  5. 当stopReason为end_turn时,裁表示该代理需要执行的全部任务已完成,代理的任务周期结束。

  6. 最终代理调用AI模型的的响应会作为回复在用户界面返回给用户。用户此时可以继续输入新的消息,该流程将从步骤1重新开始。

使用场景测试展示

下图展示了该Agent在Streamlit框架开发的前端UI界面中的使用案例。我们输入提示词,请求代理对提供的链接进行总结。我们Agent中使用AI模型会自动决策需要使用后端集成工具,并首先调用 RetrieveUrlTool工具来获取网页内容。在该工具检索网页内容后,代理使用html2text工具预处理了提取内容,最后将网页转换为Markdown格式,作为toolResult结果返回给代理。代理处理了 toolResult结果生成最终响应返回给用户,UI中展示响应则为包含网页内容的总结摘要。

以上就是亚马逊云科技上通过自定义智能体抓取网页结果、进行格式转换,并在streamlit框架的用户界面中展示网页提取内容的全部内容,在本系列的下篇中,小李哥将分享构建该自定义智能体的全部代码和实操步骤。欢迎大家关注小李哥和本系列的下篇,不要错过未来更多国际前沿的AWS云开发/云架构方案。

相关推荐
GCKJ_08247 分钟前
观成科技:加密C2框架Vshell流量分析
网络·科技·信息与通信
强盛小灵通专卖员7 分钟前
DL00219-基于深度学习的水稻病害检测系统含源码
人工智能·深度学习·水稻病害
Luke Ewin14 分钟前
CentOS7.9部署FunASR实时语音识别接口 | 部署商用级别实时语音识别接口FunASR
人工智能·语音识别·实时语音识别·商用级别实时语音识别
Joern-Lee36 分钟前
初探机器学习与深度学习
人工智能·深度学习·机器学习
云卓SKYDROID1 小时前
无人机数据处理与特征提取技术分析!
人工智能·科技·无人机·科普·云卓科技
R²AIN SUITE1 小时前
金融合规革命:R²AIN SUITE 如何重塑银行业务智能
大数据·人工智能
新知图书1 小时前
DeepSeek基于注意力模型的可控图像生成
人工智能·深度学习·计算机视觉
不会代码的小徐1 小时前
容器安全-核心概述
安全·网络安全·云计算
白熊1881 小时前
【计算机视觉】OpenCV实战项目: Fire-Smoke-Dataset:基于OpenCV的早期火灾检测项目深度解析
人工智能·opencv·计算机视觉
↣life♚2 小时前
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation & Promptable Segmentation
人工智能·深度学习·算法·sam·分割·交互式分割