qidao123.com技术社区-IT企服评测·应用市场

标题: 一篇文搞懂RAG和向量数据库 [打印本页]

作者: 怀念夏天    时间: 7 天前
标题: 一篇文搞懂RAG和向量数据库
一、RAG(检索加强生成)

RAG技能的基座是向量数据库向量数据库不仅可以提供对向量化知识的存储,还支持高效的相似性检索,联合Prompt,可有效提升大模子回答的质量。
我们通过一个实例来明白RAG的大致工作原理,以一个智能谈天呆板人为例:
假设您是车企高管,您希望为公司创建一个客户支持谈天呆板人以回答用户,关于产物规格、故障扫除、保修信息等方面的题目。用户提出了一个有关汽车中控显示屏出现故障的题目,客服呆板人借助RAG技能正确回答了用户的题目——其原理是?

当用户提出题目时,系统先把用户题目转换成计算性能明白的向量。这就像把句子翻译成数学暗码,方便后续搜索。随后在向量数据库中进相似性搜索向量数据库中储存的是外部知识库信息,这些信息往往是大模子原生状态下无法知晓的。例如公司的内部产物信息、特定项目的专属资料等。
当系统检索出相干信息后,接着对这些关联信息进行精细排序,把最相干的排前头,然后对排好序的内容剪裁,组合成提示词,就像把找到的资料编排成参考资料包,大模子根据整理好的资料包,联合自身推理能力给出最终回答。

二、RAG流程

我们上面简述了RAG的底子工作原理,下面详细先容RAG的工作流程,以下面流程图为例,我们把RAG简述为4个步骤。

总体流程可分为四步;
● 构建外部知识库:对各类格式(如:PDF、Word等)的文档进行切片处理,将切片后的文本块(Text Chunk)利用嵌入模子转为嵌入向量,存储到向量数据库中。
● 检索(Retrieval): 将用户输入的题目利用嵌入模子转换为向量,到向量数据库中进行相似性搜索。
● 加强(Augment):把知识库中检索到的上下文“注入”提示词。
● 生成(Generation):大模子根据输入的上下文信息,生成连贯、正确且信息丰富的回答或文本。
下面针对以上步骤进行逐一拆解分析。
1、 构建外部知识库

在RAG流程中,对知识库文档进行分割是一个至关重要的步骤,文档分割的质量很大程度上影响了检索的正确性,将文本按照固定规则分割成“块”的过程,叫做切片。它能明显改善信息检索和内容生成效果,提供更精准、相干的效果。这些切片将交由**Embedding Model(嵌入模子)**转换为向量。
向量嵌入

向量嵌入是用一组数值表现的数据对象,在多维空间中捕捉文本、图像或音频的语义和关联,可以让呆板学习算法可以或许更轻松地对其进行处理和解读。
比如:I love Tennis.我们先把I love Tennis.转换为几个token,再用Embeddings Model嵌入模子来生成embeddins。比如:单词I就转换为向量嵌入,所谓向量就是一个数字数组。其中每个数值表现对象在特定维度上的特性或属性,这就是I love Tennis.这句话的Vector Embeddings。

那么这些Embeddings可以用来干嘛?

因为向量嵌入可以或许以数值形式捕捉对象间的语义关系,以是我们可以通过向量搜索(也称为相似性搜索)。在向量空间中查找相似对象,这是一个查询向量(Query)。我们在向量空间中探求与之间隔最近的邻人,这些邻人便是与查询向量最相似的对象。

相似性搜索例子:
给定三个词Cat、kitty、Apple,将这三个词转换为向量,可以看到,语义相近的Cat、kitty向量值比较接近,而Apple与其他词值相差较大,表现在向量空间中,语义相近的对象间隔更近。

OpenAI三维可视化示例:
在向量空间中包含了动物、运动员、电影、交通工具、墟落等多个类别的向量,这些不同的类别在向量嵌入空间中形成了五个清晰的簇。相似的对象在向量空间中会靠的更近,而不相似的对象则会分散的更远。在这个例子中,与动物相干的数据点聚集在一起,与运动员相干的数据点也形成了一个独立的聚集区域,那么这些Embeddings存储在那里呢?它们存储在向量数据库中。

什么是向量数据库?

向量数据库是一种专门用于存储和检索高维向量数据的数据库。它们重要用于处理与相似性搜索相干的任务。向量数据库可以或许存储海量的高维向量,这些向量可以表现数据对象的特性。
向量数据库可以作为AI系统的长期记忆库。向量存储在向量数据库中,这些向量重要是由非结构化数据通过嵌入模子(Embedings Model)转化而来的。非结构化数据,如文本、视频和音频,占全球数据的大约80%,它们通常泉源于人类生成的内容,不易以预定义格式存储,这类数据可以通过转换为向量嵌入,有效地存储在向量数据库中。以便进行管理和检索而结构化数据则以表格形式存在,与非结构化数据形成对比,对于这些非结构化数据,可以基于语义相似度进行相似性搜索(Similarity Search)

向量数据库和传统数据库有什么区别

传统数据库重要用于存储结构化数据,数据通常以行和列的形式组织,实用于存储明确的数据类型,如整数、字符串、日期等。向量数据库专注于存储和检索高维向量数据,通常用于处理非结构化数据,如图像、文本和声音经过特性提取后的向量表现。向量数据库则重于相似性搜索,它通过语义明白来检索相干效果,不依赖精确匹配来检索相干搜索效果,对拼写错误和同义词有较好的包容性。而传统数据库通过精确匹配关键词来检索数据,实用于结构化数据的高效查询。
向量数据库关系数据库数据类型存储高维向量数据结构化数据查询方式相似性搜索精确匹配和范围查询应用场景AI相干管理系统等代表数据库Milvus、Elasticsearch等MySQL、Oracle等 2、 检索(Retrieval)

检索本质上是在向量空间中探求与查询向量最相似的邻人。这一过程,通过计算“查询向量”与数据库中其他向量之间的间隔,找到间隔最近的邻人,从而返回最相干的对象。

例子:
要找到与“Kitten”(幼猫)这个词相似的词,我们可以为这个查询词生成一个向量嵌入,也称为查询向量,并检索其所有最近邻。显然,它跟Cat和Dog靠的更近,离apple、banana等更远。

如何衡量向量嵌入的相似性?

怎样计算两个向量之间的间隔来确定它们是否相似?
最常用的是余弦相似度
余弦相似度计算的是两个向量在多维空间中投影后夹角的余弦值,这一度量的优势在于,纵然两份文档因为长度不同而在欧氏间隔上相距甚远,它们之间的夹角可能仍然很小,从而具有较高的余弦相似度
余弦相似度的值范围从-1到1,1表现两个向量完全雷同,0表现它们正交(也就是没有相干性),-1表现它们方向相反,接近1的值,则表明向量之间有很高的相似性。

假设我们有“狼”、“狗”和“鸭子”的“向量嵌入”。“狗”和“狼”向量之间的夹角比“狗”和“鸭子”向量之间的夹角要小。如果我们计算狗和狼向量之间的余弦相似度,可能会得到一个较高的值(这个值接近1),因为它们是相似的。然而,狗和鸭子之间的余弦相似度可能会较低(这个值更接近0),因为它们代表的是具有不同特性的不同动物。

总结一下,夹角越小,余弦值越高,表现相似性越大!
3、加强

ReRanking(重新排序)
例如,系统从向量数据库中检索到了10个相干的候选文本块,但它们的初始排序可能并不是最优的,这10个文本块会被送入重排序模子(re-rangking model),重新进行排序,进而优化它们与用户查询的相干性适配程度。在已完成重新排序的文本块里,筛选出排名靠前的Top_N个文本。在这个例子中,原先排名第7和第10的文本块,经过重新排序后乐成进入了TOP5,这些重新排序过的文本,之后将作为“上下文相干信息”(context)发送给大模子。
通过ReRanking系统可以更正确地挑选最符合的片段,从而提升整体响应质量。

4、生成(Generation)

大模子根据提示词(Prompt)将前面检索到的知识作为上下文,生成回答。
提示词模版:
例如:“请参照知识库检索信息回答用户题目,如果没办法依据给出的信息往返答的话,请回复‘我不知道’”。知识库检索信息:{{context}}。

总结

RAG(检索加强生成) 的核心代价在于通过动态知识检索机制明显提升大模子生成质量,其核心优势表现在三个方面:起首,通过实时检索外部知识库为模子提供最新信息源,将生成效果锚定在究竟性数据上,有效淘汰大模子的幻觉征象;其次,对比传统微调方案具备更强的经济性,能以不足20%的资本实现跨范畴知识快速迁移;再者,支持即时的知识更新,省去重复训练的算力消耗。
向量化处理技能作为RAG的基石在其中发挥着关键作用:通过语义编码模子将文本转化为高维向量,构建可扩展的向量数据库(如利用FAISS/HNSW索引),使得十亿级文档可实现亚秒级语义检索。该技能突破不仅实现多路召回(MMR)与重排序的高效协同,还能捕捉深层语义关联,如通过余弦相似度匹配正确识别96%的潜在相干段落,从而确保输入大模子的知识片段兼具相干性与多样性。当前典型应用中,RAG+向量化组合方案已在金融分析、医疗诊断等场景实现正确率15-30%的提升,证明其在高实时性、高正确性需求场景的技能良好性。
如何学习大模子 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,以是实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“开始掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。资助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,以是在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法得到正确的资料得到学习提升,故此将并将重要的AI大模子资料包括AI大模子入门学习思维导图、佳构AI大模子学习册本手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模子 AI 学习资料已经上传CSDN,朋友们如果须要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


第一阶段(10天):初阶应用

该阶段让大家对大模子 AI有一个最前沿的熟悉,对大模子 AI 的明白凌驾 95% 的人,可以在相干讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 谈天,而你能调教 AI,并能用代码将大模子和业务衔接。

第二阶段(30天):高阶应用

该阶段我们正式进入大模子 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开辟一个完整的基于 agent 对话呆板人。掌握功能最强的大模子开辟框架,抓住最新的技能进展,适合 Python 和 JavaScript 步伐员。

第三阶段(30天):模子训练

恭喜你,如果学到这里,你基本可以找到一份大模子 AI相干的工作,本身也能训练 GPT 了!通过微调,训练本身的垂直大模子,能独立训练开源多模态大模子,掌握更多技能方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

第四阶段(20天):商业闭环

对全球大模子从性能、吞吐量、资本等方面有一定的认知,可以在云端和本地等多种情况下部署大模子,找到适合本身的项目/创业方向,做一名被 AI 武装的产物经理。

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的本身。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模子 AI 的正确特性了。
这份完整版的大模子 AI 学习资料已经上传CSDN,朋友们如果须要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4