RAG相关理论知识与经验整理。
谈到大模型在各垂直领域中的应用,一定离不开RAG,本系列开始分享一些RAG相关使用经验,可以帮助大家在效果不理想的时候找到方向排查或者优化。
本系列以医疗领域为例,用面试题的形式讲解RAG相关知识,开始RAG系列的分享~
本篇主要是理论知识与经验;后续会结合最新的优化方法给出详细的优化代码,和实践中衍生的思考。
下面是本篇的快捷目录。
1. RAG思路
2. RAG中的prompt模板
3. 检索架构设计
一、RAG思路
这里有一张经典的图:
具体步骤是:
-
加载文件
-
读取文本
-
文本分割
-
文本向量化
-
问句向量化
-
在文本向量中匹配出与问句向量最相似的top k个
-
匹配出的文本作为上下文和问题一起添加到 prompt 中
-
提交给 LLM 生成回答
二、RAG中的prompt模板
已知信息:{context}
根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。
问题是:{question}
其中 {context} 就是检索出来的文档。
三、检索架构设计
基于LLM的文档对话架构分为两部分,先检索,后推理。重心在检索(推荐系统),推理一般结合langchain交给LLM即可。
因此接下来主要是检索架构设计内容。
1. 检索要求
-
提高召回率
-
能减少无关信息
-
速度快
2. 检索逻辑
拿到需要建立检索库的文本,将其组织成二级索引,第一级索引是 [关键信息],第二级是 [原始文本],二者一一映射。 [关键信息]用于加快检索, [原始文本]用于返回给prompt得到结果。
向量检索基于关键信息embeddig,参与相似度计算,检索完成后基于关键信息与原始文本的映射,将原始文本内容作为 {context} 返回。
主要架构图如下:
3. 切分与关键信息抽取
关键信息抽取前需要先对拿到的文档进行切分。
其实文档切分粒度比较难把控,粒度过小的话跨段落语义信息可能丢失,粒度过大噪声又太多。因此在切分时主要是按语义切分。
因此拿到文档先切分再抽取关键信息,可根据实际情况考虑是否进行文章、段落、句子更细致粒度的关键信息抽取。
下面具体来讲讲方法和经验:
1)切分
- 基于NLP篇章分析(discourse parsing)工具
提取出段落之间的主要关系,把所有包含主从关系的段落合并成一段。这样对文章切分完之后保证每一段在说同一件事情。
- 基于BERT中NSP(next sentence prediction)的训练任务
基于NSP(next sentence prediction)任务。设置相似度阈值t,从前往后依次判断相邻两个段落的相似度分数是否大于t,如果大于则合并,否则断开。
2)关键信息抽取
-
直接存储以标点切分的句子:只适用于向量库足够小(检索效率高)且query也比较类似的情况。
-
传统NLP工具:成分句法分析(constituency parsing)可以提取核心部分(名词短语、动词短语……);命名实体识别(NER)可以提取重要实体(货币名、人名、企业名……)。
-
生成关键词模型:类似于ChatLaw中的keyLLM,,即:训练一个生成关键词的模型。在医疗领域中,这个方法是目前比较靠谱且能通用的方法。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓