LLM之RAG理论(十二)| RAG和Graph RAG对比

       最近Graph RAG非常火,它来自微软的一篇论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》,论文地址:https://arxiv.org/pdf/2404.16130。本文将对RAG 和 Graph RAG在架构和成本方面做简要分析。

一、RAG 和 Graph RAG 的架构

RAG 方法体系结构可以分为两个不同的阶段:索引阶段和查询阶段。

索引阶段,将完成非结构化文本的预处理和矢量存储中的存储。

查询阶段,将用户查询通过嵌入模型转换为嵌入,并从向量数据库中检索类似的内容,LLM根据问题和检索内容生成答案。

1.1 RAG架构

       检索增强生成(RAG)是一个框架,通过支持外部知识源的模型来补充LLM信息的内部表示,从而提高LLM生成响应的质量。

       在基于LLM问答的系统中实施 RAG 的主要好处是它确保模型可以访问最新、最可靠的事实,并且用户可以访问模型的来源,确保其声明可以被检查为准确性并最终被信任。

图片

1.2 Graph RAG

      在检索增强生成 (RAG) 的上下文中,Graph RAG 引入了一项重大增强功能:<

### Graph RAG Retrieval-Augmented Generation Graph RAG(基于检索增强生成的图形结构)是一种结合了图数据结构检索增强技术的方法,旨在提高自然语言处理任务中的性能。通过引入图结构,可以更好地捕捉实体之间的关系并利用这些关系来进行更有效的推理。 #### 图形结构在RAG中的应用 在传统的RAG框架基础上加入图结构能够显著提升模型的表现力。具体来说,在预训练阶段,除了文本语料库外还加入了富含节点间关联信息的知识图谱作为额外输入[^2]。这使得模型不仅学习到了词法特征,同时也掌握了大量背景知识及其相互联系。 #### LangChain实现与使用 LangChain是一个用于构建对话系统的开源工具包,支持多种类型的后端服务集成,包括但不限于大型语言模型(LLMs)[^1]。对于想要实施Graph RAG的应用场景而言,可以通过如下方式将其融入到现有的工作流当中: 1. **环境准备** 安装必要的依赖项以及配置好运行环境是第一步操作。假设已经安装好了Python开发环境,则只需执行以下命令即可完成所需软件包的下载: ```bash pip install langchain transformers torch dgl ``` 2. **加载预训练模型** 接下来是从Hugging Face或其他平台获取预先训练好的LLM实例,并初始化相应的编码器-解码器架构。 ```python from transformers import AutoModelForSeq2SeqLM, AutoTokenizer model_name = "facebook/bart-large" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) ``` 3. **创建图数据库连接** 使用DGL(Depth-First Library)等库建立与外部存储有向无环图(如Neo4j)或者其他形式图表的数据源链接。 ```python import dgl # 这里仅提供了一个简单的例子;实际部署时可能需要根据具体情况调整参数设置 graph_data = ... # 加载或定义您的图数据集 g = dgl.graph(graph_data) ``` 4. **融合图信息至上下文中** 将来自图数据库的信息嵌入到待处理的任务描述内,以便让下游组件理解当前讨论的具体领域背景。 ```python context_with_graph_info = f"{context}\n\n附加知识点:\n{extracted_knowledge_from_graph}" inputs = tokenizer(context_with_graph_info, return_tensors="pt") outputs = model.generate(**inputs) response_text = tokenizer.decode(outputs[0], skip_special_tokens=True) ``` 5. **优化查询效率** 对于大规模应用场景下可能出现的速度瓶颈问题,考虑采用索引机制加速邻接矩阵查找过程,或是借助GPU资源加快计算速度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wshzd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值