青戈AI小栈
会员限时8折

实战教程 / FastAPI + LangGraph|从零带你开发电商数据分析系统,融合 MCP、RAG 与多 Agent 协作

FastAPI + LangGraph|从零带你开发电商数据分析系统,融合 MCP、RAG 与多 Agent 协作

  • 难度 进阶
  • 23节课
  • 9 小时 40 分钟
  • 39 人学过
  • 更新中
  • 会员专享

课程简介

围绕商品、订单和买家评价,开发一套能用自然语言查数据、分析问题并生成诊断报告的电商数据分析 Agent。用户可以问销量与订单,也可以追问商品差评、包装破损、晒图里的质量问题;系统查询业务数据、整理证据,再给出分析结果。

课程以 FastAPI + LangGraph 的后端与 Agent 核心链路为主线,配套 Vue 3 管理端。你会把 NL2SQL、RAG、MCP、多智能体协作和人工确认接进同一个项目,完成从数据查询到诊断、从流程编排到运行观测的完整开发过程。

电商数据分析 Agent 成品:自然语言提问、查询过程与依据证据生成的回答

成品对话页同时展示查询过程和最终回答:当前由哪个 Agent 处理、查询走了哪条路径、取回了哪些证据、是否需要人工确认,都有对应的过程记录。以下界面使用课程示例数据。

业务场景与项目功能

自然语言查询商品、订单和评价

「最近哪些商品销量最高?」「静音蓝牙耳机的差评有哪些?」这类带有统计口径或具体商品的问题,由系统生成 SQL,查询 MySQL 中的商品、订单和评价,再根据结果组织回答。

开发时会接上表结构提示、SQL 结构校验、允许查询的表、结果条数限制与超时处理。遇到执行错误时,将错误反馈给模型进行有限重试;统计查询失败时明确说明无法得出统计结论。

这部分能帮助你完成企业内部常见的“自然语言查业务数据”功能,并理解模型生成的 SQL 在执行前需要经过哪些约束。

从不同措辞和买家晒图中找问题

「洗了缩水」和「缩水严重,洗一次短了一截」用词不同,但可以通过语义检索关联。系统将商品描述、评价正文向量化,按问题召回相关片段,并保留来源、评分和相似距离,便于核对回答依据。

语义检索调试页:查看命中片段、商品归属、评价评分和相似距离

带图评价还会经过图片描述 → 与评价正文合并 → 向量入库的处理。例如晒图里的开胶、划痕或包装破损,可以作为检索线索参与分析;图片描述失败时保留文字评价。课程会讲清图片信息怎样接入 RAG,以及如何验证召回片段是否相关。

诊断报告、预警与人工复核

当查询结果出现差评信号,系统整理证据并规划允许的业务动作:保存诊断报告、发送站内预警、标记商品待人工复核。差评按商品分别判断,避免把多个商品的证据混在一起处理。

涉及预警或待复核时,整组业务动作暂停等待确认。 用户确认后才执行,取消则跳过;低风险报告可以自动保存。证据不足时不规划业务动作。

flowchart TD
  A[证据与动作判断] --> B{是否需要人工确认}
  B -->|低风险| C[自动保存诊断报告]
  B -->|预警或待复核| D[暂停并展示待执行动作]
  D -->|确认| E[执行报告、预警或待复核标记]
  D -->|取消| F[跳过业务动作]
  classDef evidence fill:#eaf3ff,stroke:#5b8def,color:#173d70
  classDef decision fill:#f0eaff,stroke:#a180d5,color:#50357c
  classDef confirm fill:#fff3d6,stroke:#d3a044,color:#73521b
  classDef execute fill:#e7f5e9,stroke:#60a970,color:#285e35
  classDef cancel fill:#fdeced,stroke:#cc7b83,color:#80333d
  class A evidence
  class B decision
  class D confirm
  class C,E execute
  class F cancel

诊断报告列表:关联商品、风险等级、证据条数与预警通知

Agent 的业务操作范围明确限定在上述三类动作。商品价格、库存、上下架和订单状态保持只读;真正的经营处置由人决定。课程会实现确认、取消、恢复和并发保护,讲清“能查数据”到“能执行动作”之间的职责边界。

店铺概览与一键巡检

首页集中展示商品与订单数量、成交金额、评分分布、订单趋势和需要关注的商品。一键巡检用预设问题触发同一套分析流程,存在待确认动作时继续等待人工处理。

系统首页:店铺概览、订单趋势、需要关注的商品与一键巡检

项目同时提供商品、订单、评价的查询页面。原始业务数据与 Agent 的分析结果可以相互核对,便于演示、联调和排查问题。

运行历史、步骤回看与反馈

运行历史记录提问、查询路径、状态、耗时、回答摘要及各步骤结果。观测看板汇总运行情况与阶段耗时;点赞、点踩用于收集用户反馈。

运行历史与详情:回看问题、查询路径、回答摘要和执行步骤

观测看板:课程演示记录中的运行状态、查询路径、阶段耗时与反馈

这部分会让你具备检查 Agent 运行情况的能力:慢在哪个阶段、失败发生在哪一步、哪类回答需要改进,都能从记录中查找依据。

核心技术与设计

SQL 查询与语义检索如何配合

明确商品、订单号和统计口径的问题走结构化查询;模糊的评价主题走语义检索。查询路由由规则代码判断,大模型负责 SQL 生成和回答总结。必要时,结构化结果会继续触发语义深挖,补充相关评价。

你会学习两种查询的适用范围、结果合并与相关性判断,以及为什么几条评价片段不能代替销量、金额等统计结果。多轮对话则通过短期上下文处理「它的评价」「还有别的吗」这类承接问题。

多智能体怎样分工

项目用一张 LangGraph 状态图组织流程,划分查询分析、报告决策两个 Agent,并由调度节点完成启动和交接。

flowchart TD
  A[自然语言提问] --> B[调度启动]
  B --> C[查询分析 Agent]
  C --> D[路由、SQL 或语义检索、证据整理]
  D --> E[调度交接]
  E --> F[报告决策 Agent]
  F --> G[动作规划、人工确认与执行]
  classDef input fill:#eaf3ff,stroke:#5b8def,color:#173d70
  classDef scheduler fill:#f0eaff,stroke:#a180d5,color:#50357c
  classDef query fill:#e5f6f3,stroke:#3c9b8b,color:#15594d
  classDef report fill:#fff3d6,stroke:#d3a044,color:#73521b
  classDef execute fill:#e7f5e9,stroke:#60a970,color:#285e35
  class A input
  class B,E scheduler
  class C,D query
  class F report
  class G execute
角色 负责的工作
调度 按既定流程启动任务,将整理好的证据交给下一角色
查询分析 Agent 判断查询路径、调用工具、补充检索并整理证据
报告决策 Agent 根据证据规划动作、判断是否需要确认、执行允许的操作

模型生成内容、程序控制流程,各自承担明确的职责。课程会从状态、节点和条件边开始,逐步完成角色交接、异常定位与过程事件。

MCP 与 SSE 各负责什么

MCP 将 MySQL 查询、Chroma 检索和历史运行查询封装成三个标准工具。LangGraph 查询节点通过 MCP Client 调用 Server,工具内部复用已有业务服务。

SSE 将阶段进度、Agent 交接、回答内容和待确认事件推送到前端。你会把后台运行状态与前端对话状态接起来,完成一个过程可见、能等待人工确认的交互流程。

学习路线

课程从业务数据与读取接口开始,再逐步加入查询、检索、编排和行动能力。

flowchart TD
  A[业务数据与读取接口] --> B[SSE 对话与 NL2SQL]
  B --> C[语义检索与查询路由]
  C --> D[LangGraph 与多智能体]
  D --> E[动作决策与人工确认]
  E --> F[MCP、运行观测与多模态]
  classDef data fill:#eaf3ff,stroke:#5b8def,color:#173d70
  classDef sql fill:#e5f6f3,stroke:#3c9b8b,color:#15594d
  classDef retrieval fill:#e7f5e9,stroke:#60a970,color:#285e35
  classDef orchestration fill:#f0eaff,stroke:#a180d5,color:#50357c
  classDef action fill:#fff3d6,stroke:#d3a044,color:#73521b
  classDef tools fill:#fdeced,stroke:#cc7b83,color:#80333d
  class A data
  class B sql
  class C retrieval
  class D orchestration
  class E action
  class F tools
  1. 数据底座:运行脚手架,设计商品、订单、评价与 Agent 记录表,导入示例数据,完成业务读取接口。
  2. 结构化查询:搭建 SSE 对话骨架,实现自然语言转 SQL、SQL 校验、执行限制与错误处理。
  3. 检索与上下文:完成向量入库、语义检索、查询路由与多轮问题处理。
  4. 流程编排:用 LangGraph 管理状态、节点、条件边、证据准备及多智能体交接。
  5. 动作与确认:规划报告、预警和待复核动作,实现人工确认、取消、恢复与并发保护。
  6. 工具与工程完善:接入 MCP Server / Client、运行历史、反馈与观测,加入晒图描述并走查完整项目。

学完能完成什么

  • 开发自然语言查数据功能:从业务表结构、模型生成到校验与执行,接通完整 NL2SQL 链路。
  • 为业务资料加入 RAG:建立文本与图片描述索引,核对召回来源、相关性和回答依据。
  • 组织多步骤 Agent 流程:划分节点职责与角色交接,处理条件分支、失败和人工介入。
  • 把写操作纳入明确边界:实现动作白名单、确认与取消,理解并发保护和恢复条件。
  • 完成前后端联调与运行排查:通过 SSE 展示过程,从历史、步骤和耗时记录中定位问题。

这些能力可以用于扩展内部数据助手、评价分析、知识库问答和需要人工确认的业务流程。作品展示时,你也能围绕查询选择、SQL 约束、证据判断、角色分工与确认机制,解释每项设计对应的业务问题。

适合谁与前置基础

  • 有 Python 基础,想完成一个带业务数据和完整界面的 Agent 项目。
  • 已经会调用大模型 API,希望进一步接入数据库、RAG、MCP 与流程编排。
  • 希望做出可演示的作品,并能讲清核心代码与工程取舍。

需要能读懂 Python 函数与类,了解 HTTP、数据库和基本 SQL。不要求提前掌握 LangGraph、向量检索或 Vue;通用登录、用户与权限能力沿用脚手架。

技术栈与运行环境

层级 技术与用途
前端 Vue 3、Vite、Element Plus、ECharts、Axios:对话、管理页面与看板
后端 Python、FastAPI、SQLAlchemy、JWT:业务接口、鉴权与 SSE
业务数据 MySQL 8:商品、订单、评价、诊断报告及运行记录
检索 Chroma + Embedding:商品描述、评价正文与晒图描述的向量检索
编排 LangGraph:状态图、角色交接、人工确认与恢复
工具 官方 MCP SDK 的 FastMCP:Server、Client 与 stdio 通信
模型 OpenAI 兼容接口:SQL 生成、回答总结、向量化与图片描述

本地运行需要 Node.js 22.18+(22 LTS)或 24.12+、Python 3.12+、MySQL 8。对话、向量和视觉能力需配置相应模型服务,图片描述需使用支持视觉的模型;模型 API 费用由所选服务计费。

项目采用单进程教学运行方式,人工确认检查点保存在内存中,重启后待确认任务失效。课程会说明这一运行边界;运行历史保存在数据库,可继续回看。

教学方式与配套资料

重点带敲后端与 Agent 核心链路:业务读取、SSE 对话、NL2SQL、SQL 约束、向量检索、路由、LangGraph、动作决策、人工确认与 MCP。前端页面、通用样板及部分辅助实现配套提供代码与讲解,每个主题结合接口或示例问题验证结果。

配套内容围绕项目组织:

  • 图文笔记与章节代码:对应功能、原理、实现和验证方式。
  • 前后端项目代码:对话、业务查询、运行历史、报告、看板与 Agent 核心模块。
  • 数据库结构与示例数据:商品、订单、评价及报告与运行记录,配套数据导入与索引重建脚本。
  • 环境配置示例:自行填写数据库连接与模型密钥,重建本地向量索引。
  • 项目验证代码:用于检查 SQL 约束、人工确认、反馈权限等行为。

按课时提供配套源码

课程源码通过 GitHub 私有仓库持续更新,每节提供对应的 Release 和 Tag,具体版本见各节笔记末尾,方便按学习进度获取代码、对照改动与排查问题。

仓库访问方式

有效 VIP 会员可扫描网站底部二维码,联系站长申请私有仓库访问权限。

教程按章节更新,已发布内容见「课程大纲」;源码包以页面当前开放的下载项为准。知识库向量需在本地重建,运行环境与模型服务需自行配置。

设置你的昵称

在英雄榜和讨论中,使用你自己的名字。

2–12 个字符0 / 12