基于Amazon Bedrock Agent 的两个服务示例的完整流程与详细内容,包含技术架构、实现细节、交互逻辑及扩展能力

承接上篇,亚马逊云科技 AI Agent 凭什么能擦出火花?!

我们接着来完成这个实战内容。

以下是基于Amazon Bedrock Agent 的两个服务示例的完整流程与详细内容,包含技术架构、实现细节、交互逻辑及扩展能力。

另外,再跟大家偷偷说一下,Free Tier 2.0 免费套餐有新升级,

Free Tier 2.0 vs Legacy Free Tier(可根据自己所需来进行选择)☞ 传送门

产品信息查询助手

通过自然语言交互,帮助用户快速获取电商平台的产品全维度信息(价格、库存、规格、评价等),支持多条件组合查询(如"黑色+42码+运动鞋"),并自动整合多源数据生成结构化回答。

1. 系统架构设计

组件 作用 技术选型(亚马逊云科技生态)
数据源 存储产品全量信息 DynamoDB(产品主表、评价表)
接口层 暴露数据查询能力 API Gateway + Lambda
智能交互层 意图识别、工具调用、响应生成 Amazon Bedrock Agent(基于Claude/LLaMA)
监控与日志 跟踪请求链路、错误排查 Amazon CloudWatch

2. 数据源设计(DynamoDB)

  • 产品主表(ProductTable) 主键:product_id(字符串)字段:
    • name:产品名称(如"专业跑步运动鞋")
    • category:品类(如"鞋靴>运动鞋")
    • attributes:规格属性(JSON,如{"color":"黑色","size":"42","material":"网面"}
    • price:当前价格(数值,如899.00)
    • stock:库存数量(数值,如32)
    • update_time:信息更新时间(时间戳)
  • 用户评价表(ReviewTable) 主键:review_id(字符串)字段:
    • product_id:关联产品ID
    • rating:评分(1-5)
    • content:评价内容
    • create_time:评价时间
    • user_id:评价用户ID

3. API接口设计

通过API Gateway定义3个核心接口,由Amazon Lambda实现业务逻辑:

接口名称 作用 请求参数 返回示例
/product/query 按条件查询产品基本信息 filters(JSON,如{"color":"黑色","category":"运动鞋"} [{"product_id":"P123","name":"黑色专业跑鞋","price":899,"stock":32,...}]
/product/reviews 查询产品评价 product_idlimit(默认10) {"avg_rating":4.8,"count":236,"recent_reviews":["舒适度高...","尺码标准..."]}
/product/spec 查询详细规格 product_id {"weight":"350g","warranty":"1年","material":"透气网面+橡胶底"}

4. Amazon Bedrock Agent配置

  • 工具定义 :在Agent中注册上述3个API,配置参数映射规则(如将用户输入的"黑色"映射到filters.color)。
  • 意图训练 :提供样本语料训练Agent识别查询意图,示例:
    • 基础查询:"XX产品多少钱?"→ 调用/product/query
    • 多条件查询:"黑色42码运动鞋有货吗?"→ 调用/product/query(带color/size/category过滤)
    • 评价查询:"这个商品的用户评价怎么样?"→ 先调用/product/query获取product_id,再调用/product/reviews
  • 响应模板:定义回答格式,如:"【{name}】当前价格{price}元,库存{stock}件。最近30天平均评分{avg_rating}/5,用户反馈:{recent_reviews[0]}"

5. 完整交互流程

用户输入:"帮我看看黑色42码运动鞋的库存、价格和最近评价"

  1. 意图解析:Agent识别到用户需要"库存+价格+评价",且过滤条件为"color=黑色,size=42,category=运动鞋"。
  2. 工具调用
    1. 第一步:调用/product/query,传入filters={"color":"黑色","size":"42","category":"运动鞋"},返回匹配的产品列表(假设唯一匹配product_id=P123)。
    2. 第二步:提取P123,调用/product/reviews?product_id=P123&limit=2,获取平均评分4.8及两条最新评价。
  3. 数据整合与响应:Agent整合数据,生成自然语言回答:"黑色42码专业跑鞋当前价格899元,库存32件。最近30天平均评分4.8/5,用户反馈:'鞋底弹性好,长时间跑步不累''尺码标准,透气不闷脚'。"

6. 错误处理

  • 无匹配产品:"未找到符合'黑色42码运动鞋'的商品,建议尝试调整颜色或尺码(如'白色43码运动鞋')。"
  • 库存不足:"黑色42码专业跑鞋当前库存仅剩2件,建议尽快下单。"
  • API调用失败:"暂时无法查询产品信息,请稍后重试(错误码:503)。"

订单状态跟踪器

支持用户通过订单号或模糊描述(如"上周买的衣服")查询订单全链路状态,自动关联物流信息,提供实时进度与预计送达时间。

1. 系统架构设计

组件 作用 技术选型(亚马逊云科技生态)
订单数据源 存储订单基础信息 Aurora MySQL(订单表)
物流数据源 对接第三方物流系统 物流API(如顺丰/京东物流开放平台)
接口层 订单/物流查询接口 API Gateway + Lambda
智能交互层 订单号提取、模糊查询解析、多步调用 Amazon Bedrock Agent(基于Claude 3)

2. 核心数据模型

  • **订单表(OrderTable)**主键:order_id(字符串,格式如"ORD20231001XXXX")字段:
    • user_id:用户ID(关联用户账户)
    • status:订单状态(枚举:pending/paid/shipped/delivered/cancelled
    • items:商品列表(JSON,如[{"product_id":"P123","name":"跑鞋","quantity":1}]
    • create_time:下单时间
    • ship_time:发货时间(状态为shipped时非空)
    • logistics_company:快递公司(如"顺丰")
    • tracking_number:运单号(如"SF67890123456")
  • **用户订单关联表(UserOrderMap)**主键:user_id + create_time(排序键)作用:支持模糊查询(如"上周的订单")时快速定位用户近期订单。

3. API接口设计

接口名称 作用 请求参数 返回示例
/order/query 查询订单基础信息 order_iduser_id+time_range {"order_id":"ORD202310011234","status":"shipped","ship_time":"2023-10-02 10:30",...}
/logistics/track 查询物流详情 companytracking_number {"status":"配送中","current_location":"上海市浦东新区","estimated_delivery":"2023-10-03 18:00"}

4. Amzon Bedrock Agent配置

  • 工具定义 :注册/order/query/logistics/track,配置条件调用规则(如订单状态为shipped时自动调用物流接口)。
  • 意图与实体识别
    • 订单号识别:训练Agent识别平台订单号格式(如"ORD+日期+4位数字")。
    • 模糊查询解析:将"上周买的衣服"解析为user_id=当前用户+time_range=近7天+items.name包含"衣服"
  • 多轮对话处理:若用户未提供订单号且无法通过模糊查询定位(如用户有多个近期订单),自动反问:"你指的是以下哪个订单?1. ORD202310011234(跑鞋);2. ORD202309285678(T恤)"

5. 完整交互流程

用户输入:"订单号ORD202310011234的状态是什么?"

  1. 意图解析与实体提取 :Agent提取order_id=ORD202310011234,识别意图为"查询订单状态"。
  2. 订单信息查询 :调用/order/query?order_id=ORD202310011234,返回:{"status":"shipped","logistics_company":"顺丰","tracking_number":"SF67890123456","ship_time":"2023-10-02 10:30"}
  3. 物流信息查询(条件触发) :因订单状态为shipped,自动调用/logistics/track?company=顺丰&tracking_number=SF67890123456,返回:{"status":"配送中","current_location":"上海市浦东新区","estimated_delivery":"2023-10-03 18:00"}
  4. 响应生成:整合信息后返回:"订单ORD202310011234已发货(发货时间:10月2日10:30),由顺丰快递配送(运单号SF67890123456)。当前状态:配送中(位于上海市浦东新区),预计10月3日18:00前送达。"

6. 扩展场景

  • 异常通知:若物流信息显示"派送失败",自动附加:"如需重新派送,可回复'安排重派'"。
  • 跨账户查询:支持用户查询他人代付订单(需验证权限:"请提供下单人手机号后4位以确认权限")。

总结

两个示例均体现了Amazon Bedrock Agent的核心价值:将自然语言转化为结构化工具调用,通过整合多源数据简化用户交互。实际落地时可进一步扩展:

  • 产品助手:结合用户历史浏览数据增加个性化推荐(如"你可能还喜欢同款蓝色跑鞋");
  • 订单跟踪器:对接售后系统,支持"申请退款""修改收货地址"等操作触发。

通过亚马逊云科技的 Serverless 架构(Lambda+API Gateway)和Bedrock的低代码配置,开发者可快速实现从"功能设计"到"生产部署"的全流程。

以上就是本文的全部内容啦。最后提醒一下各位工友,如果后续不再使用相关服务,别忘了在控制台关闭,避免超出免费额度产生费用~

相关推荐
小王爱学人工智能2 小时前
OpenCV一些进阶操作
人工智能·opencv·计算机视觉
新智元2 小时前
起猛了!这个国家任命 AI 为「部长」:全球首个,手握实权,招标 100% 透明
人工智能·openai
张较瘦_2 小时前
[论文阅读] 人工智能 + 软件工程 | 大语言模型驱动的多来源漏洞影响库识别研究解析
论文阅读·人工智能·语言模型
yaocheng的ai分身2 小时前
spec-kit分析
ai编程
艾醒2 小时前
大模型面试题剖析:RAG中的文本分割策略
人工智能·算法
算家计算2 小时前
马斯克突然裁掉500名AI训练师!重心转向招募专业领域AI导师
人工智能·资讯·grok
什么都想学的阿超2 小时前
【大语言模型 58】分布式文件系统:训练数据高效存储
人工智能·语言模型·自然语言处理
ViperL12 小时前
[智能算法]可微的神经网络搜索算法-FBNet
人工智能·深度学习·神经网络
新智元2 小时前
马斯克深夜挥刀,Grok 幕后员工 1/3 失业!谷歌 AI 靠人肉堆起,血汗工厂曝光
人工智能·openai