RAG与本地知识库,向量数据库,以及知识图谱的联系与区别

前言

“RAG的本质是高效检索,而知识库,向量数据库和知识图谱只是组织数据的一种形式”

这两天在之前的一篇关于RAG检索增强的文章中有一个评论,问RAG和知识图谱的区别;这时才发现,原来很多人对RAG技术还没有一个本质的认识,以及与其相关的本地知识库,向量数据库等。

所以,今天就来介绍一下上面的这些概念,以及其联系与区别。

RAG——检索增强生成

前面写过好几篇关于RAG的文章,但可能到现在很多人还不明白什么是RAG——检索增强生成。

先说RAG技术产生的背景,RAG技术是基于大模型文本生成而产生的一种技术;目的是解决大模型的缺陷问题,因此就有了RAG技术来帮助大模型,简单来说RAG就相当于给大模型配备了一个资料库,遇到不懂的问题不要胡扯,先去查查资料。

大模型主要缺陷:

知识更新不及时:大模型的知识仅限于训练数据的截止时间,无法获取之后的知识

大模型幻觉问题:大模型一本正经的胡说八道,

大模型知识不足:大模型的知识有限,很多垂直领域的知识它都不知道

RAG技术的运作流程是什么样的呢?

RAG与本地知识库,向量数据库,以及知识图谱的联系与区别_语言模型

如上图所示,完整呈现了RAG的运作流程;RAG技术主要分为三个部分:

  1. 创建资料库
  2. 查资料
  3. 带着资料问问题

举个生活中的例子,你是一个学生,有一天遇到一个你不懂的问题;然后,你爸妈就让你去问邻居家上大学的哥哥姐姐;如果是一些常识性的问题,那么他们可以直接告诉你结果。

但你这个问题比较特殊,涉及到具体的专业知识,比如说化学,物理等;这时上大学的哥哥姐姐可能也不知道该怎么回答你的问题,但以他多年的学习经验,他觉得这个问题他可以解决,但需要先看一下你的课本或资料。

这个步骤就是RAG中的第三步,你就是用户,大模型就是邻家的哥哥姐姐;而你比较聪明,在来的时候就怕哥哥姐姐需要看你的课本,你随身就把课本和资料给带着了;这个就是第二步。

然后,邻家的哥哥姐姐看了一会你的课本,然后告诉你这个问题应该怎么巴拉巴拉的给你讲,然后你的问题就解决了。

现在回到RAG的问题,为什么需要这三步?

因为大模型上面的缺陷,所以导致大模型能力并不是很强,因此有些东西需要查资料才能知道;但怎么才给大模型建一个资料库呢?

这就是第一步,比如需要从不同的文档加载数据,如word,pdf,txt,音频,视频等;然后需要把这些文档中有关联的数据放到一块,这个就叫做嵌入(embedding),最后把这些数据存储到一个地方,比如向量数据库。

第二步就是检索,有了这些资料之后,怎么才能根据不同的问题,从中找到相关联的资料;比如,你不可能因为一个历史问题就去翻阅整个永乐大典;所以这就需要一种检索技术,比如目录/索引。

接着是第三步,你带着第二步检索到的数据给到大模型,然后大模型就可以根据这些数据来回答你的问题;这时你可能会说,既然有了这些资料我自己看不就行了,还要大模型干什么;那如果你是公司客服,你会为每个用户都重新介绍一下你们公司的产品和企业文化吗?

RAG与本地知识库,向量数据库,以及知识图谱的联系与区别_语言模型_02

而这就是整个RAG技术的实现流程,每个环节又涉及到不同的技术;比如第一步创建资料库,需要文档加载技术,分词技术,嵌入技术等;第二步需要向量化技术,准确高效的检索技术等;第三步需要提示词技术,大模型调用技术等,因为第二步查到的资料需要放到提示词中让大模型自己去“看”。

所以,从这里也可以看出,严格来说RAG技术和大模型没太大直接关系(这里的没关系是指进行业务处理的大模型,而文档嵌入本质上使用的也是嵌入大模型);大模型不管你使用的是什么资料库,也不关心你查到了哪些资料,大模型关心的只是你最后在提示词中携带的资料。

大模型与本地知识,向量数据和知识图谱

那么,RAG和本地知识库,向量数据库,还有知识图谱有什么关系呢?

什么是本地知识库?

本地知识库说白了就是资料库的一种,比如说你们公司的技术档案,销售记录,公司的规章制度等都属于本地知识库的范围;本地知识库的作用是把一个组织内部的资料梳理出来方便大家使用。

所以,本地知识库的本质是资料库;而这个资料库可以有多种不同的组织形式,比如以文档,书籍,或者网页,视频,甚至是会议记录等形式存在,也可能是多种形式的混合。

而向量数据库是一种存储数据的方式,只不过由于大模型的出现,导致基于以前的字符存储变成了基于语义的向量存储;向量数据库从功能上来说和传统的数据库没有本质区别,不论是mysql,还是redis;只不过传统的数据库是基于字符匹配,而向量数据库基于语义匹配(本质上一种数学模型,如欧式距离和余弦函数)。

向量数据库既然是数据库,那么它就具备数据库的特性,存储数据和查询数据;它是数据存储的载体,就类似于工作中的文件夹。

而知识图谱又是什么?

所谓的知识图谱是由谷歌推出的一种搜索引擎技术,面对互联网中日益增长的数据,怎么表示这些数据,以及这些数据之间的关系成为了一个难题;因此,谷歌就推出了知识图谱技术,用这个方式去记录这些数据以及其关联关系。说白了知识图谱就是一种组织数据的方式,比如我们日常工作和生活中,会按照日期,地点,任务名称等来存放不同的文件,资料。

RAG与本地知识库,向量数据库,以及知识图谱的联系与区别_ai_03

所以,本地知识库,向量数据库,还有知识图谱有什么关系?

本地知识库即可以使用简单的日期,部门,工作任务来组织资料,也可以使用知识图谱这种更加专业的方式来搭建本地知识库;而搭建的本地知识库存储在什么地方?

即可以存储在传统的关系性数据库中,也可以存储在文本文件中,当然也可以存储在向量数据库中。

这就是其三者之间的关系。

那么它们和RAG又有什么关系?

前面说了,RAG是为了解决大模型本身存在的几个缺陷;大模型需要的是你在提示词中拼接的最终资料,而不会关心你这个资料从哪里来。而RAG就是从外部检索资料然后拼接到大模型提示词中的一种方法论。

RAG最终的目的就是准确,高效的检索到相关的资料;而不管是去知识图谱中检索,还是去本地知识库中检索,还是去向量数据库中检索,亦或者是从传统的关系型数据库中检索,或者直接去网络上搜索。

比如说,你想让大模型告诉你怎么做西红柿炒蛋,你需要的是使用RAG技术检索到做番茄炒蛋的内容,而不是告诉大模型哪里大米产量高,哪里发生了自然灾害,原子弹怎么造。

而至于你这个资料是从哪家餐厅的菜谱中找到的,还是从网络上搜索到的,或者还是路边听说的都可以。

问题,传统数据库可以用来做RAG吗?

答案是可以,比如说价格表这种精确的不需要语义检索的数据;使用传统数据库效果会更好。一般企业场景中是把语义检索和字符匹配同时使用,需要语义理解的就使用语义检索库,比如向量数据库;精确的数据就放到传统数据库中。

总结

RAG是一种从外部检索数据的方式;本地知识库相当于一个资料库;而知识图谱是组织数据的一种更加科学的方式;向量数据库是用来存储向量化数据的一个载体。

所以,本地知识库,向量数据库和知识图谱和RAG没什么直接关系,如果说有关系就是它们三者可以作为RAG技术的一种具体实现;但RAG也可以使用其它的实现方式。

RAG,本地知识库,向量数据库,知识图谱是四个完全独立的技术,它们之间没有任何直接关系,但又可以互相合作以达到某种效果。

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

### 使用大模型RAG增强知识图谱检索 #### 方法概述 为了提升知识图谱的检索效率准确性,可以采用基于Retrieval-Augmented Generation (RAG) 的方法。这种方法结合了密集向量索引技术生成式预训练模型的优势,在处理复杂查询时表现出色[^1]。 #### 实现细节 具体来说,Graph RAG 技术将整个知识图谱视为一个巨大的词汇表,其中每个实体关系都被当作独立词条来对待。这种设计允许系统在执行检索操作期间把实体及其关联的关系作为一个整体来进行考虑,从而提高了上下文理解能力连贯性[^2]。 当接收到用户提出的自然语言形式的问题后: - **编码阶段**:利用BERT或其他类似的双向Transformer架构对输入文本进行编码得到固定长度的表示; - **检索阶段**:根据上述获得的语义特征从预先构建好的知识图谱数据库里挑选出最有可能包含答案的部分;此时会特别关注那些问题中提到的关键概念密切相连的知识片段; - **解码/生成阶段**:最后一步则是调用T5这样的序列到序列转换器完成最终的回答合成工作。它可以根据前面找到的相关资料自动生成一段流畅且准确回应原问句的内容。 以下是简化版Python伪代码展示这一过程的核心部分: ```python from transformers import BertTokenizer, T5ForConditionalGeneration def rag_knowledge_retrieval(query_string): tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = T5ForConditionalGeneration.from_pretrained('t5-small') # 编码阶段 inputs = tokenizer.encode("question: " + query_string, return_tensors="pt") # 假设这里有一个函数可以从KG中检索相关信息并返回top-k条目 retrieved_facts = retrieve_top_k_facts_from_kg(inputs) context = ' '.join([fact['text'] for fact in retrieved_facts]) input_ids = tokenizer( f"context: {context} </s> question: {query_string}", max_length=512, truncation=True, padding='max_length', return_tensors='pt' )["input_ids"] outputs = model.generate(input_ids=input_ids) answer = tokenizer.decode(outputs[0], skip_special_tokens=True) return answer ``` 此段代码展示了如何集成现有的Hugging Face Transformers库中的组件来创建一个简单的RAG框架用于增强型知识图谱检索应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值