图书前言

中文版推荐序一

作为在知识图谱与知识增强领域深耕多年的研究者,我非常有幸能为《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》这本书撰写这篇推荐序。

在通用人工智能的浪潮中,大语言模型(LLM)展现出了令人惊叹的语言理解与生成能力。然而,随着应用场景从简单对话延伸至复杂的企业级任务,LLM在知识幻觉、时效性滞后以及垂直领域知识匮乏等方面的局限也愈发凸显。为了弥补这些缺陷,检索增强生成(Retrieval-Augmented Generation, RAG)应运而生,并迅速成为大模型落地的标准范式。

从向量检索到图谱增强:RAG的演进必然

早期的RAG主要依赖向量检索(Vector-based RAG)。这种方法通过将文本片段转化为高维向量,利用相似度匹配来获取上下文,在处理非结构化语义匹配上表现出色。然而,它本质上是一种点对点的检索,难以处理复杂的、跨文档的关联性问题。当用户提出需要全局视野或多步推理的问题时(例如,“分析该行业近五年的供应链风险演变”),传统的向量RAG往往因缺乏结构化的语义联系而陷入碎片化,导致回答流于表面甚至出现事实性错误。

向量检索的这一结构性缺陷,决定了图谱增强并非锦上添花,而是填补空白的必然选择。知识图谱天然具备表达复杂关联、支持逻辑推理和提供确定语义上下文的能力,而这些正是向量检索所欠缺的。正如我曾指出的:“智能的本质不仅在于对信息的感知,更在于对知识关联的深度建模”。在此基础上,GraphRAG(基于知识图谱的检索增强生成)将结构化的实体关系与非结构化的语义向量相结合,为LLM提供了一套更具逻辑性、可解释性和全局视野的结构化知识底座,成为技术前沿的新焦点。

本书的价值:从理论到实践的桥梁

由Tomaž Bratanič和Oskar Hane撰写的这本书,正是当前技术栈中所急需的。两位作者长期活跃于Neo4j和LangChain社区,前者是图数据库领域的核心贡献者,后者在LLM应用工程化方面积累了丰富的实战经验,这使得本书兼具扎实的理论基础与一线工程实践的智慧。

本书最令我欣赏的地方在于其循序渐进的系统性。它不仅介绍了LLM的局限性,还详尽讲解了RAG架构的各个核心组件。书中深入探讨了如何将自然语言问题转换为Cypher查询语句——这是连接人类直觉与机器检索的关键一步。第5章对智能体(Agentic RAG)的论述,展示了未来AI系统自主决策的可能性;第7章对微软GraphRAG实现的深度拆解,则反映了工业界最顶尖的技术实践。对于开发者而言,这不仅是一本技术手册,更是一份关于“如何构建可靠、可解释的AI系统”的思维蓝图。

GraphRAG与企业智能化:重塑生产力

在企业智能化转型(Enterprise Intelligence)的进程中,数据的资产化与知识化是核心命题。企业内部沉淀了大量专利、文档、合同和流程,它们往往以复杂的关系网络形式存在,单靠向量检索难以有效利用。一方面,GraphRAG通过构建实体间的结构化关联,使系统能够在复杂关系中进行路径推理与溯源,从而在合规性审查、金融风控、医疗诊断等高要求场景中,给出具备可解释性的严谨回答,切实提升决策精度。另一方面,借助图谱的社区检测和路径发现能力,企业还能从海量数据中挖掘隐藏的深层洞察,实现从数据驱动向知识驱动的跨越。

我始终相信:好的技术应当能够降低复杂性,拓展人类的认知边界。GraphRAG正是这样一种技术。它让我们不再仅仅满足于让大模型“能说会道”,而是追求让它“博学审问、慎思明辨”。无论你是数据科学家、软件工程师,还是对生成式AI充满好奇的业务决策者,我都强烈建议你读一读这本书——前者可从中获得构建下一代智能应用的系统方法,后者则能建立起对这项技术潜力的清晰认知。

愿你借助此书,在GraphRAG的帮助下,从纷繁复杂的数据迷雾中,织就一张结构清晰、推理严谨的知识图谱,让智能真正生长于关联之中。

王昊奋

同济大学长聘教授

OpenKG轮值主席

中文版推荐序二

在过去几年中,大模型的快速发展让我们重新思考:知识应该如何被组织、理解并用于推理?传统基于关键词的检索方式已无法满足复杂问题求解的需求,而结构化知识正在成为支撑下一代智能系统的关键能力。

《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》一书的目标,正是帮助读者跨越从“信息”到“知识”这道鸿沟!

GraphRAG 本身是一个开放的生态项目,它通过一整套数据管道与转换流程,将非结构化文本提取为结构化知识图谱,使 LLM 能够在理解实体、关系和语义结构的基础上进行更具可解释性的推理。这种方式不仅提升了问答质量,更让结果具备可追溯性和一致性。因此,GraphRAG在现代AI应用中具有长期而深远的价值,也受到了许多技术社区与企业团队的关注。它不仅是一套工具,更体现了一种理念:让复杂技术真正为人类所用,并让开发者能够构建出更可靠、更透明的人工智能系统。

本书以讲解GraphRAG的应用方法为主线,同步介绍了LLM和RAG等相关基础知识,并给出了具体应用案例。在讲解复杂概念时,本书选择文学作品作为切入点——以莎翁名剧《奥赛罗》为案例,讲解GraphRAG的用法。文学文本结构丰富、人物关系复杂,是理解知识图谱构建与语义抽取的极佳素材。通过戏剧人物和故事情节,读者能够更直观地看到知识是如何从自然语言中“生长”出来的,也更容易理解图谱在推理中的作用。例如,通过分析故事中人物之间的互动、事件链条的因果关系,读者可以清楚看到GraphRAG如何提炼出结构化的知识节点,并将其用于后续的问答或推理。读者未来可以将这一方法迁移到工作场景中,用于表示技术文档或研究报告等。

本书非常适合以下几类读者:1)对当前最前沿AI技术感兴趣的人;2)希望理解知识图谱如何辅助推理的工程师与学生;3)尝试将大模型能力落地到真实业务中的从业者。

本书既不过于理论化,也没有陷入纯范例式的堆叠,而是以一种轻巧、友好且系统的方式,引导读者理解其技术基础、使用方法及应用价值。更重要的是,写作风格严谨却不失亲和,将理论介绍、代码示例与实践结果自然串联起来,使读者能够真正“跑得起来”,而不仅仅停留在概念理解层面。

《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》既是一本AI与知识图谱的入门教材,也是一本能够帮助读者建立技术自信的实践指南。它将助力你理解结构化知识在大模型时代的重要性,理解为何知识图谱将重新成为智能系统的关键基础设施,也将助力你打开用大模型构建真实应用的大门。希望这本书能成为你迈向更高层次知识组织与推理能力的第一步,也期待能够看到更多读者借助GraphRAG构建属于自己的知识系统,推动AI应用在更多场景中落地。

李烨

微软AI亚太区首席应用科学家

推 荐 序

在《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》一书中,Tomaž Bratanič和Oskar Hane展示了如何脱离现有框架,从零开始实现一个GraphRAG系统。他们揭开了GraphRAG系统的帷幕,展示了当代AI应用背后的代码。本书通过可供你编码和运行的实例,详细讲解了GraphRAG的主要创新技术。你将通过诸多练习探索各种精妙之处和替代方案,书中还提供了arXiv上的主要相关文献。本书内容的安排从简单的RAG模式开始,逐步深入GraphRAG技术,最后探讨Agentic工作流。通过实践这些代码清单示例、阅读引用的文献以及完成练习,你将掌握:  

●  RAG如何通过检索外部数据来提升大语言模型的准确性。

●  知识图谱如何扩展RAG,实现更结构化、更精确的信息检索。

●  如何使用查询重写技术,以及适用于各种用例的嵌入和文档分块策略。

●  如何针对复杂场景构建Agentic系统。

在学习过程中的每一步,Tomaž Bratanič和Oskar Hane都会指导你提升检索的准确性、构建响应结构和评估结果,帮助你理解如何根据特定需求混合搭配不同方法,并权衡其利弊。

归根结底,AI应用的强大力量并非源于什么不可言喻的魔法,而是源于那些充满自信且经验丰富的构建者,他们能够深刻理解这些技术,并通过实践持续学习。在过去八年中,基于大语言模型的应用快速发展,未来也将迎来更多突破。本书将为你构建未来AI应用奠定坚实的基础。

——帕科·内森(Paco Nathan)

Senzing公司,首席开发者关系工程师

关于作者

托马兹·布拉塔尼奇(Tomaž Bratanič)在图技术、机器学习和生成式AI领域拥有丰富的经验。他撰写了一本深度探讨图算法实际应用的著作。目前,他专注于生成式AI和LLM,为LangChain和LlamaIndex等流行框架贡献代码,并撰写关于LLM应用的博文。

奥斯卡·哈内(Oskar Hane)是Neo4j的资深软件工程师。他拥有超过20年的软件工程师经验,以及10年以上使用Neo4j和知识图谱的经验。他目前领导Neo4j的生成式AI工程团队,专注于为使用Neo4j构建GenAI应用的开发者提供最佳体验。

致    谢

感谢所有助力本书问世的人。感谢Neo4j的同事们:你们的见解、反馈以及对图技术和生成式AI的共同热忱,让本书的编写工作顺利步入正轨,并激励作者不断深入探索。尤其要感谢工程和研究团队——你们的工作为本书中的诸多创意奠定了基础。

感谢Manning团队,他们以耐心和专业的精神指导并完成了本书的整个出版流程,将粗糙的草稿雕琢成值得一读的佳作。特别感谢Paco Nathan为本书作序,也十分感激技术编辑Arturo Geigel为本书提供宝贵的意见和建议。Arturo是一位来自波多黎各的独立研究者,他是“神经木马”(Neural Trojans)的发明者,目前从事机器学习、图论和技术分析的研究。

还要感谢以下审稿人,他们抽出宝贵的时间阅读了本书的早期版本,并提出了尖锐且具有建设性的意见,使本书的质量得以提升:Abhilash Babu、Adil Patel、Avinash Tiwari、Balbir Singh、George Robert Freeman、Giampiero Granatella、Gourav Sengupta、Harpal Singh、Igor Karp、Jared Duncan、Jayesh Kapadnis、Jeremy Chen、John Montgomery、Kanak Kshetri、Kasanicova Kristina、Laurens Meulman、Mehmet Yilmaz、Michael Bateman、Najeeb Arif、Peter V. Henstock、Praveen Gupta Sanka、Rani Sharim、Ravindra Jaju、Richard Meinsen、Ronald Borman、Saravanan Muniraj、Sergio Fernández Gonzalez、Shiroshica Kulatilake、Shyam Viswanathan、Sumit Pal、Tathagata Dasgupta、Varadharajan Pundi Sridhar、Wayne Mather和Yilun Zhang。

致家人(Oskar的家人:Johanna、Stella、Molly;Tomaž的家人:Anica、Blaz、Brina)和朋友们:感谢你们包容我们深夜工作和我们无休止的专业讨论,你们的鼓励是我们前行的动力。最后,要特别感谢更广泛的图技术领域和GenAI社区——你们的创新和讨论是撰写这本实用著作的重要动力。这本书的问世,既因我们的努力,亦赖集体的智慧。

关于本书封面

本书封面上的图案是“Likanienne”,即“来自利卡(Lika)的女人”,图案取自Balthasar Hacquet 的Illustrations de L’Illyrie et la Dalmatie。在那个年代,人们仅凭服饰就很容易辨识出对方居住在哪里,从事什么行业或处于什么样的社会地位。几个世纪前丰富多样的地区文化,通过这类图片收藏得以重现生机。Manning公司选用这些图片作为图书封面,以此致敬计算机行业的创造力和进取精神。

序    言

撰写这本书的起因是,我们(Oskar和Tomaž)在Neo4j共事多年,一直萌生出同一个想法:应该有人写一本关于结合知识图谱与检索增强生成(Retrieval-Augmented Generation,RAG)的书。思来想去,我们觉得不如就由我们两人来写。这个想法并非源于什么了不起的顿悟——它只是一个切合实际的认知。我们两人都在图技术、机器学习和生成式AI领域投入了足够多的时间和精力,因而认识到大语言模型(Large Language Models,LLM)存在切实的局限性,例如,信息过时或缺乏特定领域的细节。知识图谱似乎是解决这些问题的明智之选,同时将这两者结合起来也相当直接。

我们的专业背景使这项工作变得水到渠成。Oskar是一名拥有20余年经验的软件工程师,并在Neo4j工作了10年之久,他领导着生成式AI工程团队,专注于帮助开发者利用图技术构建GenAI应用。Tomaž在图算法、机器学习和LLM领域积累了深厚的经验,他不仅为LangChain和LlamaIndex等框架贡献代码,还撰写了许多关于LLM实际应用的文章。我们早已开始携手探索这些想法——从文本中提取结构化数据,将其注入图,并用它来增强RAG。这套方法在我们的日常工作中效果颇佳,因此我们认为其他人也能从中受益。

于是,便有了这本书。本书的目的并非故弄玄虚,也不是要向你推销什么革命性的突破。我们撰写本书的动因在于,我们已经看到GraphRAG能以一种实用且可行的方式解决问题,无论你是这个领域的新手,还是早已深耕多年的资深人士。如果你希望了解如何利用图技术让LLM变得更加精准高效,那么本书将阐述我们的见解与经验。仅此而已。

关于本书

撰写《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》一书的目的是指导读者将知识图谱与大语言模型(Large Language Models,LLM)相结合,进而增强检索增强生成(Retrieval-Augmented Generation,RAG)系统。本书旨在通过实用的方法和动手实例,将结构化与非结构化数据相结合,解决LLM知识过时、产生幻觉问题以及缺乏领域特定数据等局限。《GraphRAG实践:使用知识图谱提升LLM和RAG应用性能》的主要目标是展示知识图谱如何在生成式AI应用中提升RAG系统的准确性、性能和可追溯性。本书探索了如何使用结构化和非结构化数据为LLM提供事实依据,为从零开始构建GraphRAG系统提供了一份全面的指南。本书融合了图技术、机器学习和应用开发领域的专业知识,在这个快速发展的领域中提炼出稳定的架构模式。读者将学习如何在不依赖现有框架的情况下实现GraphRAG技术,从文本中提取结构化知识,并开发融合了基于向量与图的检索方法的应用,其中也包括微软的GraphRAG方法。本书鼓励读者积极参与liveBook讨论区,以帮助完善内容并加深共同理解。

本书的目标读者 

本书的目标读者是希望将知识图谱纳入RAG工作流以增强其生成式AI工具箱的数据科学家、软件工程师和开发人员。本书非常适合那些具备Python、LLM和数据处理概念基础,并渴望解决LLM事实不准确或知识断层等局限性的读者。这种结构化的方法适合广泛的读者群体:初级从业者将为GraphRAG技术打下坚实的基础,而经验丰富的专业人士将找到高级策略(例如,微软的GraphRAG实现)和提升工作的新视角。对于法律、文学或商业智能等领域的专家而言,结构化数据和叙事摘要至关重要,他们也将从本书的实践案例和方法论中获益。

本书的组织结构:路线图

本书共分8章,部分章节以前一章为基础,内容层层递进,引导读者从基础概念学起,直至掌握高级GraphRAG的实现:

●  第1章介绍LLM及其局限性(例如,知识时限、幻觉问题),并探讨RAG如何利用知识图谱,通过结合结构化与非结构化数据来解决这些问题。

●  第2章涵盖嵌入、向量相似性搜索和混合搜索技术。本章从非结构化数据入手,提供一个RAG应用的实践演练。

●  第3章深入探讨用于提升RAG性能的复杂检索方法。

●  第4章讲解如何将自然语言问题转换为图数据库的Cypher查询,以增强检索的灵活性。

●  第5章探索利用LLM和图执行复杂任务的Agentic RAG系统。

●  第6章指导读者使用Neo4j等工具,从文本(如法律合同)中提取结构化数据,并构建知识图谱。

●  第7章以《奥德赛》为例,探索微软的GraphRAG管道,重点关注实体与关系提取、社区检测,以及面向以总结为主的RAG应用的全局和局部搜索检索。

●  第8章重点讨论如何评估GraphRAG系统的性能和可靠性。

本书的内容循序渐进,从理解LLM的局限性和RAG的基础知识开始,逐步深入到高级的图增强技术,其中也包括微软以摘要为中心的创新方法,最后以实践应用和评估收尾。

关于代码 

本书配套的GitHub仓库(https://github.com/tomasonjo/kg-rag)提供了源代码示例。该仓库为每一章都提供了Jupyter notebook和Python脚本,方便你对照书中的内容进行学习。代码按章节组织,便于你查找具体的示例和实现。此外,该仓库还包含了在本地运行代码所需的环境和依赖的安装说明。

你可以从本书的liveBook(在线)版本(https://livebook.manning. com/book/essential-graphrag)获取可执行的代码片段,也可以从Manning网站(https://www.manning.com/books/essential-graphrag)或通过扫描本书封底的二维码下载书中示例的完整代码。