高级 RAG 实战:Neo4j 与 LangChain 构建知识图谱驱动的 AI 系统

news/2025/10/16 9:38:07/文章来源:https://www.cnblogs.com/llm-daily/p/19144830

学习如何结合 Neo4j 知识图谱和 LangChain,打造精准、可解释、适合生产环境的 Retrieval-Augmented Generation (RAG) 系统。

6fb2d5b76df05b73b9aade119d7b1097

Retrieval-Augmented Generation (RAG) 已经迅速成为让 Large Language Models (LLMs) 在生产环境中真正发挥作用的首选架构。RAG 不再仅仅依赖 LLM 的内部记忆,而是将其与外部知识源连接起来。

虽然大多数教程展示的是使用 Pinecone、Weaviate 或 FAISS 等向量数据库的 RAG,但在现实世界的问题中,单靠语义相似度往往不够。你需要关系、推理和可解释性。这正是 Neo4j 驱动的知识图谱大放异彩的地方。

在这篇文章中,我们将使用 LangChain 构建一个 Neo4j 驱动的 RAG 管道,内容包括:

  • • 为什么将知识图谱与 RAG 结合

  • • 安装和配置 Neo4j + LangChain

  • • 将数据导入 Neo4j(节点、关系、嵌入)

  • • 编写 Cypher 查询 + 混合检索器

  • • 使用 LangChain 的 graph chain 连接 Neo4j 和 LLM

  • • 一个完整的实际示例

为什么在 RAG 中使用知识图谱?

传统的向量检索会找到与查询相似的文本片段。但在以下情况下它会失败:

  • • 答案需要多跳推理(例如:“哪些供应商间接影响产品 X?”)

  • • 关系是关键(药物 → 靶点 → 蛋白质 → 疾病)

  • • 需要可解释性(用户想知道模型为什么这样回答)

Neo4j 允许你以图谱形式显式存储实体和关系,并使用 Cypher 进行查询。通过 LangChain,你可以结合:

  • • 图谱遍历进行结构化查询

  • • 嵌入进行语义相似性匹配

  • • LLM 进行推理和自然语言回答

这就形成了混合检索管道:精准、可解释、适合生产环境。

设置

首先安装依赖:

pip install langchain langchain-community neo4j openai

你还需要一个运行中的 Neo4j 数据库(本地或 AuraDB Free)。

步骤 1:连接到 Neo4j

LangChain 提供内置的 Neo4j 图谱集成:

from langchain_community.graphs import Neo4jGraphgraph = Neo4jGraph(
    url="bolt://localhost:7687",
    username="neo4j",
    password="password"
)
# 检查 schema
print(graph.schema)

这让 LangChain 能够理解你的知识图谱的实体和关系。

步骤 2:将数据导入 Neo4j

让我们插入一个小型医疗知识图谱:

CREATE (d1:Disease {name: "Diabetes"})
CREATE (d2:Disease {name: "Hypertension"})
CREATE (drug1:Drug {name: "Metformin"})
CREATE (drug2:Drug {name: "Insulin"})
CREATE (drug3:Drug {name: "Lisinopril"})CREATE (drug1)-[:TREATS]->(d1)
CREATE (drug2)-[:TREATS]->(d1)
CREATE (drug3)-[:TREATS]->(d2)

现在我们可以直接查询类似 (:Drug)-[:TREATS]->(:Disease)
 的关系。

步骤 3:使用 LangChain 的 Cypher Chain

LangChain 有一个 CypherChain,可以将自然语言问题转化为 Cypher 查询:

from langchain_openai import ChatOpenAI
from langchain.chains import GraphCypherQAChainllm = ChatOpenAI(model="gpt-4.1")
cypher_chain = GraphCypherQAChain.from_llm(
    llm=llm,
    graph=graph,
    verbose=True
)
response = cypher_chain.run("Which drugs treat Diabetes?")
print(response)

LLM 会将自然语言问题翻译成 Cypher 查询,在 Neo4j 上执行,然后返回人类可读的答案。

步骤 4:添加向量检索(混合 RAG)

如果用户问一些模糊的问题,比如“用来控制血糖的是什么?”单靠图谱可能不够。

这时候混合 RAG 就派上用场了:

  • • 使用嵌入 + 向量数据库进行语义召回

  • • 使用 Neo4j 进行关系推理

在 LangChain 中,你可以组合检索器:

from langchain.retrievers import EnsembleRetriever
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings# 示例 FAISS 检索器
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_texts(
    ["Metformin is first-line treatment for type 2 diabetes.",
     "Insulin regulates blood glucose levels.",
     "Lisinopril is used for hypertension."],
    embeddings
)
faiss_retriever = vectorstore.as_retriever()
# 组合 Neo4j + FAISS 检索器
hybrid_retriever = EnsembleRetriever(
    retrievers=[faiss_retriever, graph],
    weights=[0.5, 0.5]
)

现在你的管道同时利用了语义和结构。

步骤 5:完整的 Neo4j RAG 链

以下是如何将它组装成完整的 LangChain RAG 流程:

from langchain.chains import RetrievalQArag_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=hybrid_retriever,
    chain_type="stuff"
)
query = "What drugs are commonly prescribed for high blood sugar?"
answer = rag_chain.run(query)
print(answer)

检索器会从 Neo4j 和向量嵌入中拉取上下文,LLM 则生成自然语言答案。

高级扩展

  • • 图谱 + LLM 代理
    :使用 LangChain Agents 结合工具(Neo4j 查询工具 + 向量检索工具)。

  • • Schema 感知提示
    :将 Neo4j 的 schema 提供给 LLM,让它写出更好的 Cypher 查询。

  • • 路径解释
    :返回答案旁边的实际图谱路径,以提高可解释性。

  • • 图谱嵌入
    :使用 Neo4j Graph Data Science 计算实体/路径的嵌入。

使用场景

  • • 医疗 RAG
    :检索有效的药物-疾病关系,防止幻觉。

  • • 金融风险
    :建模机构之间的风险暴露,使用混合检索查询“间接风险”。

  • • 法律搜索
    :将案例法引用表示为图谱,进行多跳先例推理。

  • • 企业知识
    :基于本体论的聊天机器人,用于内部文档发现。

结论

仅依赖向量检索会限制系统处理复杂推理和多跳查询的能力。通过引入知识图谱,你不仅能获得更丰富的关联,还能提升可解释性和结构化推理能力。

使用 LangChain 的 Neo4jGraph 和 CypherQAChain,将 Neo4j 集成到 RAG 管道中变得无缝。此外,采用混合检索策略——结合嵌入和基于图谱的遍历——能提供语义灵活性和关系准确性之间的最佳平衡。

在实践中,LangChain 和 Neo4j 的结合使开发出既强大又可解释、值得信赖的生产级 RAG 系统成为可能。

关注 GenAI Lab,获取更多关于 AI 系统设计的实用教程——欢迎在下方评论你的想法或问题!

qrcode_for_gh_dc0f07db3b18_430

关注公众号“AI大模型观察站” 每天推送最新的AI技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

朴诚乳业携手纷享销客CRM6周实现项目全国推广(附9大核心能力)

4周完成项目立项到4个分公司试点,6周实现项目全国推广!朴诚乳业携手纷享销客SFA-拜访管理,以渠道、拜访、促销的精细化管理,在巨头林立的食品饮料行业赛道,跑出了“新鲜加速度”。 朴诚乳业的低温乳品对产品新鲜度…

2025 年最新推荐 AI 健康管理公司榜单:覆盖多场景,为机构选品提供权威参考

当前 “AI + 健康管理” 领域飞速发展,各类厂商层出不穷,却也让医疗机构、健康管理公司、连锁药房等机构面临选品难题 —— 部分厂商技术适配性差,无法贴合细分场景需求;有些虽宣传效果亮眼,实际服务成效却缺乏数…

从playfield开源代码复制的opensl es初始化代码

从playfield开源代码复制的opensl es初始化代码/* -*- coding: utf-8; tab-width: 8; indent-tabs-mode: t; -*- *//** Copyright (c) 2025, Awe Morris. All rights reserved.*//** HAL for OpenSL ES on Android*//*…

2025 年螺带混合机优质厂家最新推荐排行榜:聚焦综合实力、产品性能与服务质量的权威筛选榜单

在化工、制药、食品、新能源等关键行业的生产流程中,螺带混合机作为保障物料混合均匀度、提升生产效率的核心设备,其品质与服务直接决定企业生产效益。当前市场上螺带混合机厂家数量众多,但产品质量参差不齐,部分厂…

P2151 HH 去散步

问题: 给定一个无向图,\(n\) 个点编号为 \([0,n-1]\),\(m\) 条边。从 \(s\) 出发,走 \(k\) 条边,其中相邻的两步不能走同一条边,求最后停在终点 \(t\) 的方案数。放在 noip 模拟赛 T2 还多测卡常 (?)。考场思路…

2025年钢结构建材厂家最新推荐排行榜,彩钢瓦,镀锌板,折弯件,C型钢,Z型钢,压型瓦,楼承板,钢结构安装,次檩条公司推荐

2025年钢结构建材厂家最新推荐排行榜:彩钢瓦、镀锌板、折弯件等专业选购指南行业背景与发展趋势钢结构建筑作为现代建筑体系的重要组成部分,近年来在工业厂房、商业综合体、仓储物流等领域的应用持续扩大。随着绿色建…

2025年发电机组厂家最新权威推荐榜:柴油/燃气/船用/静音箱式/移动拖车/集装箱发电机组,上柴/玉柴/潍柴/康明斯/沃尔沃/道依茨/帕金斯/MTU品牌全覆盖

2025年发电机组厂家最新权威推荐榜:柴油/燃气/船用/静音箱式/移动拖车/集装箱发电机组,上柴/玉柴/潍柴/康明斯/沃尔沃/道依茨/帕金斯/MTU品牌全覆盖行业背景与发展趋势发电机组作为现代能源供应体系的重要组成部分,…

2025年铣刀厂家最新权威推荐榜:雕刻机铣刀/金刚石铣刀/木工铣刀/绝缘材料铣刀/碳纤维铣刀/亚克力铣刀/金属加工铣刀/铝合金铣刀/石墨铣刀/不锈钢铣刀/金属切削铣刀/电木铣刀/塑胶铣刀/PC铣刀

2025年铣刀厂家最新权威推荐榜:专业选购指南与品牌深度解析随着制造业向高精度、高效率方向不断发展,铣刀作为数控加工的核心工具,其性能和质量直接影响着加工效率和产品质量。在现代工业体系中,不同类型的材料需要…

2025年下半年权威信息公布:西安学区房/书包房/五大名校/交大书包新楼盘口碑推荐榜前十强出炉,高得房率/推荐好房/地铁口/小高层/低总价/低单价/高性价比/高赠送/四代宅

摘要 随着西安城市化进程加速,2025年房产市场持续火热,购房者关注点转向口碑、配套和教育资源。本文基于市场调研和用户反馈,整理出西安新楼盘口碑排行榜前十,旨在为购房者提供参考。榜单综合了楼盘品质、口碑评分…

.NET 10中GC(垃圾收集器)更新

.NET GC的大总管Maoni发了一篇新文章《准备 .NET 10 GC》,准备 .NET 10 GC” 并非单一动作,而是 “代码优化(减少 GC 压力)+ 配置预留(适配新特性)+ 环境兼容(保障运行基础) ” 的组合:核心是基于 .NET GC 的演…

【转】扫盲:Windows桌面应用开发框架:原生、跨平台、云桌面

https://blog.csdn.net/m0_57344393/article/details/135970018官方文档例子:https://dotnet.microsoft.com/en-us/learn/maui/first-app-tutorial/next ---------------------一、原生框架 在 Windows 桌面应用开发中…

vxe-table v4版本使用注意事项

1.v4版本(项目已经升级为VxeUI)把之前的vxe-table项目分成了几类:比如按钮,分页等组件 放到了vxe-pc-ui项目里,而vxe-table则只剩与其他前端UI框架类似的专注表格的功能,所以要正常使用原来的 分页/工具栏等功能,必须按…

​​电容瞬态放电原理:大电流的产生机制深度解析​

本文系统解析电容瞬态放电的物理机制,涵盖储能本质、电流生成条件及能量释放限制,强调低阻抗、低ESR和低电感设计对大电流的关键作用。电容瞬态放电现象是电力电子和脉冲功率技术中的核心物理过程,其大电流产生机制…

Chrome浏览器离线版下载,谷歌(Google)浏览器离线安装包下载,手机版,Mac版,window版都有,不上网也可以安装

下载地址获取 https://pan.quark.cn/s/0065796ea9dc 所在目录使用教程 双击直接打开 特点 功能强大 ​

基于Java+Springboot+Vue开发的在线摄影预约管理系统源码+运行步骤

项目简介该项目是基于Java+Springboot+Vue开发的在线摄影预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。…

2025 年超微粉碎机厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析

随着 2025 年化工、制药、食品、新能源等下游行业对超微粉体的需求持续攀升,市场对超微粉碎机的粉碎效率、粒度控制精度及物料适配性提出了更严苛的要求。然而当前行业内存在技术同质化严重、部分企业缺乏核心专利支撑…

若干树形dpの总结

洛谷P3574(POI 2014) 题目描述 在一个叫做比特村的小村庄中,有 \(n-1\) 条路连接着这个村庄中的全部 \(n\) 个房子。 每两个房子之间都有一条唯一的通路。这些房子的编号为 \(1\) 至 \(n\)。 \(1\) 号房子属于村庄的…

2025 年最新推荐!国内冷库厂商综合实力排行榜出炉,涵盖冷冻 / 装配式 / 超低温等多类型冷库解决方案

随着冷链物流行业在食品保鲜、医药存储、化工冷链等领域的深度渗透,冷库作为核心基础设施,市场需求持续攀升。但当前市场上冷库制造商数量众多,技术水平、产品质量与服务能力差异显著,企业在选型时常常面临 “技术…

2025 年景观石厂家最新推荐榜单:千层石 / 泰山石 / 鹅卵石等各类石材企业全面盘点,助力客户精准选择优质景观石品牌

当前园林景观行业飞速发展,景观石作为关键构成元素,市场需求日益增长,但行业问题也随之凸显。优质景观石资源因过度开采面临枯竭,开采对环境破坏大,可持续发展受阻;产品同质化严重,缺乏创新,部分企业技术水平有…

详细介绍:Java-Spring 入门指南(十六)SpringMVC--RestFul 风格

详细介绍:Java-Spring 入门指南(十六)SpringMVC--RestFul 风格pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…