Neo4j 课程教你做 GraphRAG,它的博客却说何时别做
这门两小时课程用 SEC 文件建图,但没有向量 RAG 基线,就无法向客户证明图真的有用。
要点速览
- Neo4j 的 Andreas Kollegger 在 DeepLearning.AI 上讲授这门 2 小时 4 分钟的课程:Cypher、上下文检索查询,以及用 Neo4j 和 LangChain 搭建的问答系统
- 按 Neo4j 自己的说法,只需一个段落就能回答的问题,向量检索仍是正确选择;只有问题必须串联多个关系时,图才值得
- 演示基于结构化文档,所以在客户真实数据上做实体去重和混合路由,需要自己去学
这门 2 小时 4 分钟的课程教你为 RAG 构建知识图谱。但对前线部署工程师(FDE)最有用的一句话不在课程里,而在 Neo4j 自家的博客上:如果 GraphRAG 没有改善你的指标,建模和维护图的投入就不值得。
两者并不矛盾。课程教的是怎么做 GraphRAG;在客户现场,更难的是判断要不要做。凡是被客户问到“为什么不用知识图谱?”的人,都应该学这门课,前提是清楚哪些内容能直接用到客户项目上,哪些得自己补。
两小时,三项能用上的技能
“Knowledge Graphs for RAG”是 DeepLearning.AI 上的一门短课,由 Neo4j 生成式 AI 创新负责人 Andreas Kollegger 讲授。官方页面显示最近一次更新是 2025 年 10 月 7 日。
课程承诺三项成果:用 Neo4j 的查询语言 Cypher 管理和检索图中的数据;编写查找并整理文本的查询,让 LLM 获得更相关的上下文;用 Neo4j 和 LangChain 搭建问答系统。
动手内容大多围绕从文本构建图,数据集是 SEC 文件。第 5 课的标题是“Constructing a Knowledge Graph from Text Documents”,与图对话的那一课放在最后。
按什么顺序学?
这门课与 LangChain 绑定很紧。DeepLearning.AI 建议先掌握 LangChain,或者先学“LangChain: Chat with Your Data”。如果从没搭过基于向量的 RAG 数据管道,先学那门课,这样手里才有可对比的基线。
学完之后,Andreas Kollegger 还讲授“Agentic Knowledge Graph Construction”(3 小时 8 分钟)。这门课在 Google ADK 上用多智能体系统自动构建图:先由 Agent 识别用户目标,再提议要抽取哪些节点和关系。它补上的正是 RAG 课程留下的 schema 空白。
第一课:谈图之前,先给问题分类
Neo4j 把 GraphRAG 定义为一组基于图结构的检索模式,而不是某个单一产品。对于何时不用图,这家公司说得很明确:如果问题靠语义匹配从一个段落里就能回答,向量检索仍是正确的工具。
图适合多跳问题,也就是事实之间的关系才是关键的那类问题。
用课程里的 SEC 数据来想象一下。“A 公司在今年的文件中列出的最大风险是什么?”只需要一个段落,向量处理得很好。
但“哪些公司和 A 公司依赖同一家供应商?”需要先从 A 走到供应商,再走回其他公司。这是两跳,图的优势就在这里。
第二课:真正的技能是整理上下文
Cypher 练几次就能上手。更值得掌握的是课程的第二项成果:编写既能查找又能整理文本的查询,供 LLM 使用。好的查询不会返回一堆节点,而是返回模型读得懂的内容。
以上面的两跳问题为例。假设图里有 Company 节点、Supplier 节点和 DEPENDS_ON 关系(这是示意用的 schema,不是课程里的)。查询大致如下:
MATCH (a:Company {name: 'Company A'})-[:DEPENDS_ON]->(s:Supplier)
<-[:DEPENDS_ON]-(other:Company)
RETURN s.name AS supplier, collect(other.name) AS peers
原始结果只是几个名字和列表。整理这一步把它变成一句话:“A 公司依赖供应商 S。同样依赖 S 的其他公司:B、C。”这段字符串连同文件中的原始段落,就是发给 LLM 的上下文。
做练习时有个技巧:把发给 LLM 的上下文字符串原样打印出来,假装自己是模型去读。模型只能看到你给它的东西,如果你自己都觉得费解,就别指望它给出清楚的回答。
第三课:动手之前先写验收测试
Neo4j 的建议是先测量。第一次演示之前,和客户商定一组问题、一个指标和一个阈值。然后跑向量基线,之后才在同一组问题上跑图。
假设客户的问题集几乎全是单段落问题。那么图带来的差异多半不足以覆盖维护成本,而你刚刚为客户省下了几周工作。有证据支撑的“不需要图”,同样是有价值的结论。
课程跳过的部分最费功夫
课程的问答系统跑在结构化文本文档上,而不是客户那里杂乱的数据。有部署经验的工程师 Tian Pan 提醒:如果没有一套有章法的实体去重方法,图就会支离破碎;在他看来,这部分可能比抽取本身还费功夫。
具体来说,如果“Company A”“A Corp”和 A 的股票代码变成三个独立节点,上面的两跳查询只能匹配其中一个,答案就会不完整,而且不报任何错。
Tian Pan 还认为,混合架构需要一个路由器,决定何时用图来丰富上下文、何时只用向量,而这样的路由器很难做好。课程没有教这部分。
简历上别只写“学过 GraphRAG”。要写清楚:你在哪个具体问题集上把图和向量基线做了对比,如何处理重复实体,最终是保留还是放弃了图。如果岗位描述里提到“knowledge graph”或“Neo4j”,面试时要准备好讲这些决策背后的故事。
课程能带你做出一个能跑的演示。至于何时放弃图,只有客户能教你。
这篇文章对你有帮助吗?
感谢你的反馈!
6 个信源
- Knowledge Graphs for RAG - DeepLearning.AI · 2025-10-07
- Knowledge Graphs for RAG - DeepLearning.AI · 2025-10-07
- Agentic Knowledge Graph Construction - DeepLearning.AI
- Intro to GraphRAG - GraphRAG Pattern Catalog · 2025-07-11
- Vector RAG vs. GraphRAG: Which retrieval do you need? · 2026-09-23
- GraphRAG vs. Vector RAG: The Architecture Decision Teams Make Too Late · 2026-04-19