首页 > 其他分享 >大模型RAG(检索增强生成)技术综述

大模型RAG(检索增强生成)技术综述

时间:2024-10-23 22:52:14浏览次数:7  
标签:检索 RAG 嵌入 综述 矩阵 文本 数据 向量

概念

        从数据源中检索信息来辅助大语言模型(Large Language Model, LLM)生成答案。简而言之,RAG 结合了搜索技术和大语言模型的提示词功能,即向模型提出问题,并以搜索算法找到的信息作为背景上下文,这些查询和检索到的上下文信息都会被整合进发送给大语言模型的提示中。在大模型的提升方面主要有:(1)有效避免幻觉问题,知识库中的内容可控具有生成的权威性;(2)经济高效的处理知识&开箱即用,用户的问题和知识库进行相关性搜索结合,就能高效的提供大模型不知道的知识;(3)数据安全:企业的数据可以得到有效的保护,通过私有化部署基于 RAG 系统开发的AI产品,可以有效避免企业数据的泄露。

技术逻辑

完整的 RAG 应用流程主要包含两个阶段:

  • 数据准备阶段:(1)数据提取–> (2)分块(Chunking)–> (3)向量化(embedding)–> (4)数据入库

  • 检索生成阶段:(1)问题向量化–> (2)根据问题查询匹配数据–> (3)获取索引数据 --> (4)将数据注入Prompt–> (5)LLM生成答案 

 数据提取

           将不同格式的多种数据过滤,整理成同一个格式的数据

分块(Chunking)

        通常大型文档或数据集可能包含大量的数据信息,直接处理这样的数据在技术和管理上都极具挑战,可以通过分块的方式将数据集分解成更小的部分,有如下的优势:

  • 提高检索效率:
  • 优化内存使用:通过分块技术,系统可以每次只加载和处理一个块,从而减少内存使用
  • 增强可扩展性:提高实时或频繁的更新的能力

        根据场景和应用需求具体实现分块的策略有很多种,这包括确定块的大小、形状、边界以及是否保留特定的上下文信息。包括

  • 基于规则的切分:文本按照固定长度(字符数,或句子单词数)进行切分,简单但可能会破坏文本的连贯性;基于特定符号的切分 (段落分隔符,换行符等),能保证更好的文本连贯性但依赖文本中是否有这些符号。
  • 基于语义的切分:
  • 基于机器学习的切分:

向量化(embedding)

         神经网络等算法没有办法直接处理文本,需要将文本转化成数学表达,这个数学表达的方式就是嵌入向量,这个转换的过程就是embedding的过程,embedding包括两个步骤:

  1. 首先将文本根据词表(vocab)转化成整数序列索引或者one-hot矩阵
  2. 使用embedding层将高维稀疏的one-hot整数序列或索引通过嵌入矩阵转化成低维的嵌入向量

常见的词嵌入算法,例如word2vec、fasttext、Glove来构建嵌入矩阵

使用嵌入矩阵来获取嵌入向量的方法有两种:

  1. 一种是使用one-hot矩阵与嵌入矩阵相乘,所得到的矩阵就是所求的嵌入向量;
  2. 另一种是使用token在词表中的索引(即one-hot中不为零的元素所在的列数)直接查找对应嵌入向量的对应行,所得到的矩阵就是所求的嵌入向量。

参考视频:学习Transformer,应该从词嵌入WordEmbedding开始_哔哩哔哩_bilibili

数据入库

        将处理好的向量数据以及原始文本数据一起存储到数据库或搜索引擎中,以便后续快速检索。数据库或搜索引擎需要支持高效的向量搜索功能,以便能够快速地找到与给定查询最相似的文本。

        向量数据库

问题向量化

        当用户提出一个问题时,首先使用相同的向量化技术将这个问题转换为向量形式。这个向量将用于在数据库中搜索最相关的文本。

        基于英文的实现中可以使用正则表达式将非字母字符删除,然后拆分成关键词

根据问题查询匹配数据

        使用问题向量在数据库中执行向量搜索,找到与问题最相似的文本片段。这些文本片段将作为候选答案集

检索方式有很多种,基于关键词的检索、基于知识向量的检索、基于图的检索

获取索引数据

        从数据库中检索出与问题最相关的文本片段及其相关信息(如来源、上下文等)

将数据注入prompt

        将检索到的文本片段作为“提示”(Prompt)注入到大型语言模型中。这个提示可以包含问题、检索到的文本片段以及任何其他有用的上下文信息。

LLM生成答案

        基于提供的 Prompt,大型语言模型(LLM)将生成一个回答。这个回答不仅考虑了问题的直接内容,还融合了检索到的外部知识,从而提高了回答的质量和相关性。

        

        

标签:检索,RAG,嵌入,综述,矩阵,文本,数据,向量
From: https://blog.csdn.net/weixin_67031452/article/details/141673607

相关文章

  • 【RAG系列】基于代码仓库的RAG问答,为仓库构建知识图谱
    目录前言一、为什么要在代码仓库上构建知识图谱二、如何在代码仓库上构建知识图谱简单的知识图谱更高级的知识图谱总结Reference前言今天介绍的场景是基于代码仓库的RAG问答,RAG有效的关键在于能够根据用户查询检索到相关的文档,这中间涉及到索引构建和文档检索两......
  • 一文读懂RAG和LLM微调,教你结合业务场景落地LLM应用
    随着大家对大型语言模型(LLM)的兴趣激增,许多开发者也在构建基于LLM的应用。当直接使用Prompt驱动的LLM表现不如预期时,问题就出现了:如何提高LLM应用的可用性。这时我们需要权衡:是选择检索增强生成(Retrieval-AugmentedGeneration缩写RAG)还是模型微调来改善结果?01在深入探......
  • RAFT:一种适应特定领域RAG的大模型训练新方法!
    对大量文本数据的语料库进行大型语言模型(LLMs)的预训练已经成为一种标准范式。当将这些LLMs用于许多下游应用时,通常还会通过基于RAG的提示或微调,将新知识(例如,时效性新闻或私有领域知识)额外融入预训练模型中。然而,模型获取这些新知识的最优方法论仍然是一个开放的问题。在此背......
  • 【IEEE独立出版(ISBN号:979-8-3315-2986-4) | 连续多届稳定检索 | 大咖云集 | IEEE计算智
    重要信息大会网站:https://ais.cn/u/VRr6Rf【投稿参会】大会时间:2024年12月13-15日大会地点:中国-广州截稿时间:以官网信息为准出版检索:IEEE出版,见刊后由出版社提交至IEEEXplore, EI,Scopus检索组织单位征稿主题参会方式1、作者参会:一篇录用文章允许1名作者免......
  • 【西安理工大学主办,八大高校联合协办并重点推荐/品牌会议/JPCS独立出版,EI, Scopus稳定
    重要信息大会网站:https://ais.cn/u/2yymE3【投稿参会】截稿时间:以官网信息为准线下召开:2024年11月29日-12月1日会议地点:陕西·西安收录检索:EI,Scopus稳定双检索!征稿主题出版信息所录用的论文将以论文集形式递交JPCS出版,并提交至EICompendex,Scopus检索。......
  • LocalStorage和SessionStorage存储
    认识Storage◼WebStorage主要提供了一种机制,可以让浏览器提供一种比cookie更直观的key、value存储方式:cookie:服务器返回自动返回一个cooki,浏览器将cookie存储到本地,浏览器再发送请求自动把cooki传递过去localStorage:本地存储,提供的是一种永久性的存储方法,在关闭掉网页......
  • tocaf1的学习日志_两综述一文献
    基于深度学习的目标检测算法研究与应用综述张阳婷张阳婷,黄德启,王东伟,贺佳佳;新疆大学电气工程学院,乌鲁木齐830017摘要:总结基于深度学习的目标检测技术比较两阶段和单阶段网络架构的优缺点分析经典算法的改进策略及应用现状指出未来的研究方向前言:深度学习推动目标检测......
  • 大模型的检索增强生成综述研究
    人工智能咨询培训老师叶梓转载标明出处大模型(LLMs)在处理特定领域或知识密集型任务时,它们仍面临挑战,例如产生“幻觉”、知识过时以及推理过程不透明、难以追溯等问题。为了解决这些问题,检索增强生成(Retrieval-AugmentedGeneration,RAG)作为一种有前景的解决方案应运而生,它通......
  • 探索创新之光:我们的网址与专利检索的魅力
    在创新的世界里,每一件物品都可能蕴含着无数的专利可能性。以一根火柴为例,它不仅是点火的工具,更是创新的火花。我们的网址,作为一个集合知识产权、商标、软件著作权的综合性平台,提供了一个强大的专利检索工具,让用户能够一键触达全球的专利信息,发现那些隐藏在日常生活背后的创新力......
  • 在C#中基于Semantic Kernel的检索增强生成(RAG)实践
    SemanticKernel简介玩过大语言模型(LLM)的都知道OpenAI,然后微软Azure也提供了OpenAI的服务:AzureOpenAI,只需要申请到APIKey,就可以使用这些AI服务。使用方式可以是通过在线Web页面直接与AI聊天,也可以调用AI的API服务,将AI的能力集成到自己的应用程序中。不过这些服务都是在线提供的......