19 掌柜智库 — 知识图谱 RAG 全栈系统
学习理念:这是整门课程最庞大、最复杂的项目(18 天,30+ 文件,6+ 独立服务)。不要试图一次性理解所有代码。本文档采用 0→1 渐进构建方式——跟随课程原生的逐日递进节奏,从空项目开始,每个阶段新增几个节点,最终搭建成完整系统。每篇文档的开头都有演进架构图,灰色是已建好的,高亮是本阶段新增的。
全文阅读路线:README(总览 5min)→ 01_部署(跑起来 20min)→ 02→03→04(导入三阶段 30min)→ 05→06(查询两阶段 20min)→ 07(回顾 5min)
本节 AI 替代率:~65% | 人工干预率:~35%
| 角色 | 能力范围 |
|---|---|
| 🤖 AI 擅长 | 生成 Docker Compose 配置、节点代码骨架、LLM 提示词模板、Cypher 查询 |
| 👤 人类需理解 | 0→1 构建顺序、节点拆分动机、多服务集成时的排错经验 |
零、0→1 构建路线图
5 个阶段的累积关系
每篇文档对应
| 文档 | 对应课程 | 阶段 | 新增节点数 | 知识标记 |
|---|---|---|---|---|
| 📄 READEME.md(你在这里) | 全篇总览 | — | — | 🔴🟢 总矩阵 |
| 📄 01_部署与项目骨架.md | day01 | 阶段 0 | 3 个(BaseNode/State/Entry) | 🟢 LangGraph(Ch18 第2次) |
| 📄 02_导入流程:文档处理.md | day02~05 | 阶段 1 | +3 个(PDF/图片/切分) | 🔴 MinerU / VLM / MinIO |
| 📄 03_导入流程:AI处理.md | day06~07 | 阶段 2 | +3 个(商品名/嵌入/入库) | 🔵 Milvus(Ch16 第3次) |
| 📄 04_导入流程:知识图谱.md | day08~10 | 阶段 3 | +1 个(Neo4J) | 🔴 Neo4J / GraphRAG |
| 📄 05_查询流程:三路检索.md | day11~16 | 阶段 4 | +5 个(确认/向量/图/MCP) | 🔴 HyDE / 🔵 LangGraph |
| 📄 06_查询流程:融合与输出.md | day17~18 | 阶段 5 | +3 个(RRF/Rerank/Answer) | 🔴 RRF / Reranker |
| 📄 07_完整架构回顾.md | — | 最终 | — | 全量 UML / Mind Map |
一、知识重复标记总表
以下标注每个知识点在整个课程中的出现次数,帮助你在阅读各阶段文档时决定投入多少精力:
| 知识点 | 首次出现 | 本项目的角色 | 第几次学 | 建议 |
|---|---|---|---|---|
| LangGraph StateGraph | Ch18 | 导入/查询双流程编排 | 🟢 第 2 次 | 只看架构图差异,不读语法 |
| Milvus + bge-m3 | Ch16 → Ch17 | 向量嵌入和检索 | 🔵 第 3 次 | 只看本项目新增的"标量索引坑" |
| LLM 客户端封装 | Ch16 | 商品名识别、答案生成 | 🟢 第 2 次 | 了解即可 |
| SSE 流式输出 | Ch17 | 任务进度推送 | 🟢 第 2 次 | 了解即可 |
| MinerU PDF 解析 | 🔥 全新 | PDF→Markdown | 🔴 第 1 次 | 了解配置,深入取决于你 |
| VLM 图片摘要 | 🔥 全新 | 用视觉模型理解图片 | 🔴 第 1 次 | 了解思路即可 |
| MinIO 对象存储 | 🔥 全新 | 图片存储服务 | 🔴 第 1 次 | 了解即可 |
| Neo4J + GraphRAG | 🔥 全新 | 知识图谱构建和查询 | 🔴 第 1 次 | 重点学,完整展开 |
| RRF 融合 | 🔥 全新 | 三路检索结果融合 | 🔴 第 1 次 | 重点学 |
| Reranker 精排 | 🔥 全新 | 重排序提升准确率 | 🔴 第 1 次 | 重点学 |
| MongoDB 历史管理 | 🔥 全新 | 对话历史持久化 | 🔴 第 1 次 | 了解即可 |
| HyDE 检索 | 🔥 全新 | 假设性文档增强检索 | 🔴 第 1 次 | 重点学 |
二、最终全栈架构图(先剧透)
每篇子文档结束时,这个图上的节点会逐步亮起来:
阅读提示:节点颜色对应的知识标记——🟢 第2次 / 🔵 第3次 / 🔴 第1次。新知识集中在 Neo4J、RRF、Reranker 三块,其他都是前面章节学过的。
三、学习路径
以下阅读路线基于实际文档分析得出(面向有开发经验的读者,非零基础视频学习者)。
3.1 先搞清楚:哪些文档值得读
本项目共有 30 篇文档,约 820KB。但分两套完全不同的文档:
| 文档类型 | 数量 | 总大小 | 有效内容占比 | 一句话 |
|---|---|---|---|---|
| 架构流程文档(02~07) | 7篇 | ~64KB | ~70% ✅ | 数据流+设计决策,重点读 |
| 改写对比版(Node实现) | 21篇 | ~730KB | ~15% ⚠️ | 代码占85%,AI能写,跳过 |
| 部署+复现(00~01) | 2篇 | ~26KB | ~50% 🟡 | 快速跑通用,不用深究 |
关键比例:全部文档中 80% 的内容(改写对比版的代码实现)对你有开发经验的人来说是浪费时间——AI 30 秒就能生成。
3.2 阅读优先级(含有效内容占比)
| 优先级 | 文档 | 大小 | 有效内容 | 建议阅读方式 |
|---|---|---|---|---|
| 🔥 P0 | 07_完整架构回顾 | 8KB | 90% | 通读——一张图看懂全局,30min |
| 🔥 P0 | 04_导入流程:知识图谱 | 9KB | 80% | 通读——Neo4J + GraphRAG 核心新知识,1h |
| 🔥 P0 | 06_查询流程:融合与输出 | 8KB | 80% | 通读——RRF + Reranker 核心新知识,1h |
| 🟡 P1 | 02_导入流程:文档处理 | 10KB | 70% | 读架构+设计决策,跳过代码,30min |
| 🟡 P1 | 05_查询流程:三路检索 | 7KB | 70% | 读架构+数据流,跳过代码,30min |
| 🟡 P1 | 03_导入流程:AI处理 | 10KB | 60% | 读设计决策即可(Milvus第3次出现),20min |
| 🟠 P2 | 01_部署与项目骨架 | 12KB | 50% | 需要跑通时再读,不必先看,20min |
| 🟠 P2 | 00_快速复现清单 | 14KB | 50% | 需要排查问题时查阅,10min |
| 🔴 P3 | 21篇改写对比版 | 730KB | 15% | 只读每篇 §1/§3/§6(概念+图+总结),代码全跳过 |
3.3 改写对比版阅读方法(21篇,每篇控制在 10min)
打开每篇改写对比版
→ §1 任务目标(2min)✅ 扫一眼
→ §2 概念扫盲(3min)✅ 如果概念没见过
→ §3 整体流程图(2min)✅ 看数据流向
→ §4 分步实现(❌ 跳过)← 全是代码,AI生成
→ §5 测试运行(❌ 跳过)← 你不需要验证别人的输出
→ §6 总结(3min)✅ 看设计决策
→ 散布的代码块(❌ 全部跳过)21篇 × 10min = 约 3.5 小时扫完。如果逐行读代码,21篇 × 60min = 21 小时,而且学完就忘。
3.4 经验开发者 3 天日程(每天 2-3 小时)
| 天 | 任务 | 时间 | 产出 |
|---|---|---|---|
| 1 | README(30min)→ 07_架构回顾(30min)→ 自己画架构图(1h) | 2h | 手画全栈架构图 |
| 1续 | 04_知识图谱(1h)→ 06_融合输出(1h) | 2h | 理解两个核心新知识 |
| 2 | 02→03→05 三篇架构文档(各30min,跳过代码) | 1.5h | 理解导入+查询数据流 |
| 2续 | 改写对比版:只看 §1/§3/§6(10篇 × 10min) | 1.5h | 理解每个Node的设计意图 |
| 3 | 改写对比版:剩余11篇 × 10min | 2h | 扫完全部Node概览 |
| 3续 | 01_部署:把项目跑起来 | 1h | 能本地运行验证 |
3.5 零基础 vs 有经验:时间对比
| 路线 | 总时间 | 核心学习方式 |
|---|---|---|
| 🎬 视频路线(原课程设计) | 18天 | 白天看老师录播 + 晚上敲代码 |
| 📖 文档路线(零基础) | 5-7天 | 按上面日程读 + 自己跑一遍 |
| ⚡ 功利路线(有经验,目标接单) | 2-3天 | 只读P0-P1,跳过改写对比版代码 |
核心理念:2026 年的 AI Agent 开发,人的价值在于架构设计 + 数据流理解 + 成本选型,不在于写每个 Node 的
process()函数。那些代码 AI 30 秒生成,你读一遍 2 小时——ROI 为负。
四、AI 协作指南
本文档看完后,以下问题直接问 AI:
Q: "Milvus 标量字段索引在 V2.5 和 V2.6 有什么区别?"
Q: "帮我生成一个 docker-compose.yml 包含 Milvus/Neo4J/MinIO/Redis/MongoDB"
Q: "Cypher 查询怎么写才能从知识图谱中找到商品关联关系?"
Q: "RRF 融合算法中 k 值取多少最合适?"
AI 能做的:
- 根据当前阶段状态生成对应的 docker-compose 配置
- 编写每个节点的基础代码骨架
- 生成 MinerU 的 mineru.json 配置文件
- 解释 RRF 和 Reranker 的数学原理和工程实现
- 将已有节点代码翻译成不同 LLM 供应商的版本附录:原始资料索引
| 对应课程 | 网盘路径 |
|---|---|
| day01(环境部署) | E:\...\19_掌柜智库\day01_项目介绍&环境部署\ |
| day02(PDF解析) | E:\...\19_掌柜智库\day02_导入业务(解析PDF)编码实\ |
| day03(图片处理) | E:\...\19_掌柜智库\day03_导入业务(MD图片处理)编码实现\ |
| day04~05(文档切分) | E:\...\19_掌柜智库\day04_...\ + day05_...\ |
| day06~07(商品名/Milvus) | E:\...\19_掌柜智库\day06_...\ + day07_...\ |
| day08~10(Neo4J+图谱) | E:\...\19_掌柜智库\day08_...\ ~ day10_...\ |
| day11~16(查询流程) | E:\...\19_掌柜智库\day11_...\ ~ day16_...\ |
| day17~18(RRF+Rerank+前端) | E:\...\19_掌柜智库\day17_...\ + day18_...\ |
| 完整代码 | E:\...\19_掌柜智库\代码\shopkeeper_brain\ |