夜雨聆风学习资料网

ARTICLE · 1049900

Spring AI 2.0 实战:搭建电商售后助手

Spring AI 2.0 实战:搭建电商售后助手

Spring AI 2.0 实战:搭建电商售后助手

各位朋友大家好,我是一言,继续更新 Spring AI 2.0 系列。

前面提到的有 Tool、MCP、RAG、Skills。这次用一个电商售后助手把它们串起来

这篇先看运行效果、项目结构以及各个部分的分工,具体的接入代码后面会一篇一篇地拆开来。

电商售后助手:在同一个聊天页面查询订单、物流和办理售后

先看看它可以做些什么

用三笔订单来说明:

订单
商品和状态
用来做演示的功能
A1001
桌面收纳架,没有发货
本地 Tool 查订单
A1002
人体工学椅,已经发货
MCP 查询物流
A1016
静音循环扇,已经签收
退货流程、规则查询和申请确认

业务数据都是模拟数据,模型、数据库和 MCP 调用都是真实执行的

输入“查一下 A1001”,queryOrder 返回订单信息;问“A1002 到哪了”,后端取得物流单号,然后用 MCP 查询配送状态。

真实订单查询:发送问题、工具处理、回答逐段出现;

回答是以流式的方式逐段出现的,展开“本次处理”还可以看到调用的是哪个工具、返回了什么。

退货操作:核对预览、点击确认、创建模拟售后单

创建售后申请之后,在对话中可以预约模拟取件:选择时间、提交,MCP 工具继续处理并返回预约记录。

MCP 交互:选择明天上午、提交时间、工具返回预约记录

架构和分工

技术栈为 Java 21、Spring Boot 4.0.8、Spring AI 2.0.1。React 展示对话,Java 组织任务,独立的 Python MCP 服务提供物流和取件;两个模型都在本地运行。

项目架构:从聊天入口向下看后端能力、模型、MCP 与数据库
能力
负责什么
项目中用到的地方
Tool
完成具体的业务操作
查询订单、生成申请预览
MCP
连接独立服务提供的工具
查物流、预约取件
Skill
提供某类任务的处理流程
需要核对哪些信息、何时生成预览
RAG
查询当前的问题所需要的资料
找到商品退货条件和运费规则

模型理解问题、生成参数以及回答,后端控制必要的步骤、权限以及写入条件。项目用 loadSkill 读取售后流程,并且根据订单和知识库来处理请求。

PostgreSQL 存储业务数据,pgvector 存储用于检索的售后知识向量。

打开 IDEA 后,先看一下这几个地方

agent-app/    Java 后端web/          React 聊天页面service-mcp/  独立物流、模拟取件服务skills/       各类售后流程的 SKILL.md

后端包的结构为:

包结构:agent 下分出 skill 和 tool,聊天、知识检索、MCP、订单与售后各自归包
想看什么
找哪个包
消息入口、历史会话、流式推送
chat
任务调度、模型调用、工具和技能
agent
售后规则入库、检索以及来源
knowledge
远程工具、取件表单
mcp
订单校验、售后预览和提交
order
aftersale
数据访问、身份认证
persistence
security

从入口处往下面看,会经过这四个地方:

ConversationController   接收用户消息  → AgentTaskService     创建并调度任务  → AfterSalesAgentRunner 识别意图、组织模型调用  → AfterSalesTools      调用订单、检索或 MCP 服务

继续更新

后面从聊天页面实际操作的角度来拆分消息如何执行、退货如何提交、刷新和重复操作时后端如何处理。

我是一言,下一篇见。

谢谢你读到这里。想第一时间看到我的更新,记得把「雷一言」设为星标。以后有新文章,也不容易错过。

相关学习资料