赞
踩
图检索增强生成(Graph RAG)正逐渐流行起来,成为传统向量搜索方法的有力补充。这种方法利用图数据库的结构化特性,将数据以节点和关系的形式组织起来,从而增强检索信息的深度和上下文关联性。
图在表示和存储多样化且相互关联的信息方面具有天然优势,能够轻松捕捉不同数据类型间的复杂关系和属性。而向量数据库在处理这类结构化信息时则显得力不从心,它们更擅长通过高维向量处理非结构化数据。在 RAG 应用中,结合结构化的图数据和非结构化的文本向量搜索,可以让我们同时享受两者的优势,这也是本文将要探讨的内容。
构建知识图谱通常是利用图数据表示的强大功能中最困难的一步。它需要收集和整理数据,这需要对领域知识和图建模有深刻的理解。为了简化这一过程,我们开始尝试使用大型语言模型(LLM)。LLM 凭借其对语言和上下文的深刻理解,可以自动化知识图谱创建过程中的大部分工作。通过分析文本数据,这些模型能够识别实体,理解它们之间的关系,并提出如何在图结构中最佳表示这些实体。基于这些实验,我们已经将图构建模块的首个版本集成到了 LangChain 中。
首先,安装neo4j,建议还是安装neo4j,不要走安装neo4j desktop这条路,因为后续要安装APOC.
下载neo4j:Neo4j Deployment Center - Graph Database & Analytics
解压之后记住文件位置,
设置一下环境变量(此处不讲了,有些读者反馈操作简单的就不要详细讲了):
java也要装一下,jdk17,不会的百度。
之后可以运行一下neo4j,是在自己的虚拟环境中运行neo4j.bat console(虚拟环境是anaconda中的graphRAG,python==3.10),然后pip install langchain langchain-community langchain-openai langchain-experimental neo4j wikipedia tiktoken yfiles_jupyter_graphs
在运行jupyter notebook,打开enhancing_rag_with_graph.ipynb,运行后会发现有问题,缺APOC,这是neo4j的重要插件(库)。要下载对应版本,
安装的官方文档在这儿:
Installation - APOC Documentation
如果找不到apoc-5.21.0-core.jar文件(光有extended文件不行),
可以通过这个链接下载:https://github.com/neo4j/apoc/releases/download/5.21.0/apoc-5.21.0-core.jar
APOC version | Neo4j version |
---|---|
5.21.0 (5 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。