spring-ai-alibaba-graph-example
📊 项目模块总览
这个项目有 18 个子模块,我按难度分成 5 个级别:
| 难度 | 模块 | 核心技能 |
|---|---|---|
| ⭐ 入门 | stream-node | 基础流式节点 |
| ⭐⭐ 初级 | chatflow, big-tool | 对话编排、工具调用 |
| ⭐⭐⭐ 中级 | parallel-stream, human-node, reflection | 并行处理、人类介入、反思 |
| ⭐⭐⭐⭐ 高级 | interruptable, workflow-review, product-analysis | 可中断工作流、分类器 |
| ⭐⭐⭐⭐⭐ 专业 | multiagent, mcp-node, langfuse | 多智能体、MCP、可观测性 |
🚀 由易到难学习路径
第一阶段:入门
1️⃣ stream-node(⭐ 入门)
做什么:最简单的流式处理示例,理解 Graph 的基本结构
学习重点:
- 什么是 Node(节点)
- 什么是 StateGraph(图)
- 基础配置怎么写
启动:
bash
cd stream-node
mvn spring-boot:run
curl "http://localhost:8080/graph/stream/expand"
第二阶段:初级
2️⃣ chatflow(⭐⭐ 初级)
做什么:智能待办助手,实现多轮对话 + 意图识别
这是重点项目! 学会了能懂:
- 多轮对话怎么玩
- 意图识别(判断用户是想建待办还是闲聊)
- 主流程 + 子图怎么配合
- 每个 session 独立隔离怎么实现
启动:
bash
cd chatflow
mvn spring-boot:run
# 测试多轮对话
curl -X POST "http://127.0.0.1:8080/assistant/chat?sessionId=123&userInput=待办:学习Java"
curl -X POST "http://127.0.0.1:8080/assistant/chat?sessionId=123&userInput=待办:用Java写个demo"
curl -X POST "http://127.0.0.1:8080/assistant/chat?sessionId=123&userInput=我有哪些待办?"
核心代码位置:
GraphConfiguration.java- 图配置ChatController.java- 对话入口- Node 节点实现
3️⃣ big-tool(⭐⭐ 初级)
做什么:大模型工具调用(Function Calling)
学这个:理解 AI 怎么调用外部工具
启动:
bash
cd big-tool
mvn spring-boot:run
curl "http://localhost:8080/bigtool/search"
第三阶段:中级
4️⃣ parallel-node / parallel-stream-node(⭐⭐⭐ 中级)
做什么 :并行处理多个节点,加快执行速度
面试常问:如何让多个 AI 调用同时跑、一起等结果?
核心概念:
parallel节点写法- 流式输出 + 并行结合
启动:
bash
cd parallel-stream-node
mvn spring-boot:run
curl "http://localhost:8080/graph/parallel-stream/expand-translate"
5️⃣ human-node(⭐⭐⭐ 中级)
做什么 :人类介入工作流
场景:AI 拿不准主意的,让人类来确认
两个接口:
expand- 暂停,等人类确认resume- 人类确认后继续执行
启动:
bash
cd human-node
mvn spring-boot:run
# 触发 human node
curl "http://localhost:8080/graph/human/expand"
# 人类确认后继续
curl "http://localhost:8080/graph/human/resume?action=approve"
6️⃣ reflection(⭐⭐⭐ 中级)
做什么 :反思节点,AI 自我检查输出
高级玩法:让大模型先回答,再让另一个模型"审查"一下
第四阶段:高级
7️⃣ interruptable-action-example(⭐⭐⭐⭐ 高级)
做什么 :可中断的动作,工作流随时可以停
场景:用户中途取消、超时自动停止
8️⃣ workflow-review-classifier(⭐⭐⭐⭐ 高级)
做什么:工作流审查 + 分类器
复杂:多级分类、多流程分支
9️⃣ product-analysis-graph(⭐⭐⭐⭐ 高级)
做什么:产品分析图
综合实战:综合运用前面学的各种节点
第五阶段:专业级
🔟 graph-observability-langfuse(⭐⭐⭐⭐⭐ 专业)
做什么 :集成 Langfuse 可观测性平台
学这个:生产环境怎么监控 AI 调用、成本追踪
1️⃣1️⃣ multiagent-openmanus(⭐⭐⭐⭐⭐ 专业)
做什么 :多智能体协作
最复杂:多个 AI Agent 配合干活
1️⃣2️⃣ mcp-node(⭐⭐⭐⭐⭐ 专业)
做什么 :集成 MCP 协议(Model Context Protocol)
最新技术:AI 工具调用标准协议
📈 推荐学习顺序
第1天 → stream-node(入门)
│
第2天 → chatflow(初级核心!)
│
第3天 → big-tool(工具调用)
│
第4-5天 → parallel-stream + human-node(并行+介入)
│
第6-7天 → reflection + interruptable(高级特性)
│
第8天+ → multiagent / mcp-node(专业级)
💡 学习小贴士
| 建议 | 说明 |
|---|---|
| 先跑起来 | 每个模块先 mvn spring-boot:run 跑通再看代码 |
| 从 chatflow 入手 | 这个是最完整的示例,包含所有核心概念 |
| 看 GraphConfiguration | 所有图配置都在这个文件里,是核心 |
| 多改参数 | 试着改 prompt、调整节点顺序,理解更深刻 |
| 画流程图 | 每个模块画一个流程图,理清数据流向 |
🎯 必读资源
- Spring AI Alibaba Graph 官方文档
- 项目里每个模块的
README.md - 模块目录下的
.http文件(可直接在 IDE 里运行测试)
下面就先从 stream-node 跑起来,有问题随时问我!🐴