AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


一文解读大模型RAG
发布日期:2024-04-18 17:44:47 浏览次数: 3051


RAG



对于

RAG(Retrieval Augmented Generation)即检索增强生成,现在已经成为最流行的LLM应用架构方案。那么,什么是RAG?


RAG = 检索技术(Search)+ LLM 提示



为了方便理解,请看下面这张图,主要分三步,我们来一起看一下:

1、提问阶段:用户向系统提出问题,也就是发送提示语。

2、检索阶段:问题不会直接流向大模型,RAG而是先要去嵌入式搜索引擎去检索(也有人称它是一个外挂的专业知识库),而这个嵌入式搜索引擎,可以是向量数据库,也可以是大型文档集合中(例如维基百科)等,这块的架构和实现方式有很多。

3、生成阶段:增强,将这些检索到的知识和提问的原始问题进行丰富后组成新的提示语,一起输入到大模型中,大模型结合这些信息会生成一个准确的回答,反馈给用户。


说到这里,不知道大家有没有下面这些疑问:

为什么不直接从大模型查询?为什么不把嵌入式搜索引擎知识库的内容直接给大模型进行训练?如果要是从知识库查询的内容过多,大模型上下文装不下怎么办?那为什么不直接查询知识库,要大模型干嘛?


首先,先说最重要的一个原因:幻觉问题。AI大模型的底层原理都是基于数学概率,它不具备专业领域知识,所以有时候会一本正经地胡说八道。


其次,知识的局限性:现在公开的大模型中,包括ChatGPT也一样,训练大模型的数据主要来自于网上,不可能做到实时,并且有些企业内部的私有数据是不可能公开出去的。


第三,不把外挂的知识库直接加入训练的原因是,训练成本太高,因为大模型一般是进行一波训练后,以一个稳定的状态提供查询,无法做到边训练边提供查询服务。所以外部知识库如果有新知识的情况下,很难直接加入到其中进行训练,只能大模型再一次进行训练的时候加入,本质上还是训练成本太高。大家想想ChatGPT最新支持的数据时间就可以知道了。


第四,关于大模型装不下知识库上下文的问题,这里我们要先了解,一般外部知识库选用的是向量数据库,文本会转变为向量进行存储(向量本身是一串数字表示的高维数据),最重要的特性就是保持了文本的语意信息,这样在查询的时候,查询到的是在语义上最相近的片段,既保证了查询效率,查询结果也不会太长,所以就不用担心大模型装不下知识库上下文的问题。


最后,不直接查询知识库是因为查询的结果是片段式的,类似于谷歌和百度搜索的结果一样,一条一条的,你需要自己去筛选信息,还不一定准确。而加入大模型之后,它会将内容进行消化吸收后重新组织,直接给出问题的答案。


在整体过程中,大模型主要是发挥自己的语言的天赋,而回答的准确性,是由外挂的知识库保证的。


上面举的例子是最简单的一种场景,现在基于此的RAG模式变种有很多。

比如每次拿到大模型的结果之后,再反向存储到知识库中,当下次遇到类似问题,可以直接从知识库中获取答案,现在很多垂直领域的应用,比如客服系统,都是这种模式。


还有一种模式,不把知识库的查询结果给大模型,而是等大模型正常输出之后,对大模型的输出进行事实性检查,然后再整合后进行新的组装输出。


---------


最后,这里推荐一个斯坦福大学的开源项目WikiChat,它的背后是(Wikipedia + LLM)大家可以去github上了解下,并且经过测试对比,WikiChat输出的事实准确度高达97.3%,而ChatGPT-4只有66.1%。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询