首页 > 其他分享 >RAG 2.0架构详解:构建端到端检索增强生成系统

RAG 2.0架构详解:构建端到端检索增强生成系统

时间:2024-04-19 12:00:11浏览次数:42  
标签:检索 RAG 微调 生成 LLM 2.0 端到

关于检索增强生成(RAG)的文章已经有很多了,如果我们能创建出可训练的检索器,或者说整个RAG可以像微调大型语言模型(LLM)那样定制化的话,那肯定能够获得更好的结果。但是当前RAG的问题在于各个子模块之间并没有完全协调,就像一个缝合怪一样,虽然能够工作但各部分并不和谐,所以我们这里介绍RAG 2.0的概念来解决这个问题。

什么是RAG?

简单来说,RAG可以为我们的大型语言模型(LLM)提供额外的上下文,以生成更好、更具体的回应。LLM是在公开可用的数据上训练的,它们本身是非常智能的系统,但它们无法回答具体问题,因为它们缺乏回答这些问题的上下文。

所以RAG可以向LLM插入新知识或能力,尽管这种知识插入并不是永久的。而另一种常用向LLM添加新知识或能力的方法是通过对我们特定数据进行微调LLM。

通过微调添加新知识相当困难,昂贵,但是却是永久性。通过微调添加新能力甚至会影响它以前拥有的知识。在微调过程中,我们无法控制哪些权重将被改变,因此也无法得知哪些能力会增加或减少。

选择微调、RAG还是两者的结合,完全取决于手头的任务。没有一种适合所有情况的方法。

RAG的经典步骤如下:

  • 将文档分成均匀的块。
  • 每个块是一段原始文本。
  • 使用编码器为每个块生成嵌入(例如,OpenAI嵌入,sentence_transformer等),并将其存储在数据库中。
  • 找到最相似的编码块,获取这些块的原始文本,并将其作为上下文与提示一起提供给生成器。

RAG 2.0

当今典型的RAG系统使用现成的冻结模型进行嵌入,使用向量数据库进行检索,以及使用黑盒语言模型进行生成,通过提示或编排框架将它们拼接在一起。各个组件技术上可行,但整体远非最佳。这些系统脆弱,缺乏对其部署领域的任何机器学习或专业化,需要广泛的提示,并且容易发生级联错误。结果是RAG系统很少通过生产标准。

而我们要说的RAG 2.0的概念,通过预训练、微调并对所有组件进行对齐,作为一个整体集成系统,通过语言模型和检索器的双重反向传播来最大化性能:

 

https://avoid.overfit.cn/post/18853fc6f10e4e23a992880c624ea1dd

标签:检索,RAG,微调,生成,LLM,2.0,端到
From: https://www.cnblogs.com/deephub/p/18145557

相关文章

  • Ubuntu22.04安装MySQL8
    Ubuntu22.04安装MySQL8第一部分:安装mysql使用apt安装sudoaptupdatesudoaptinstall-ymysql-server安装完成之后自动结束,不需要输入密码。更新用户密码这里默认安装的是mysql8.0版本,因为i没有输入密码;所以无法使用mysql-uroot-p进入mysql,需要执行这个命令(一定要......
  • Ubuntu22.04安装PostgreSQL15
    Ubuntu22.04安装PostgreSQL15启用PostgreSQL包存储库sudosh-c'echo"debhttp://apt.postgresql.org/pub/repos/apt$(lsb_release-cs)-pgdgmain">/etc/apt/sources.list.d/pgdg.list'wget-qO-https://www.postgresql.org/media/keys/ACCC4CF8......
  • 《Pyramid Codes: Flexible Schemes to Trade Space for Access Efficiency in Reliab
    问题1:Introduction部分,第五段,[16,12]ERC和3-Copy达到了相同的可靠性,在每一个块独立失败概率为0.01的情况下,这个是怎么证明的。问题2:同上,第五段后半部分,那么多的IO次数是怎么计算出来的。在系统中,要分清各种性能指标,读和写是不一样的,第六段提到的是写性能,主要方法就是先用复制的方......
  • Ubuntu 22.04切换图形界面和字符界面
    台式机上安装了Ubuntu22.04,经测试研究,默认进入的终端是tty2,总共可用的终端有有tty1-tty6,切换快捷方式为Ctrl+Alt+F1--F6,其中tty1,tty2是图形终端,其余为字符终端。一直想知道怎么在图形界面和字符界面之间进行切换,比如tty2是图形界面,我想把他切换为字符界面,怎么办?下面是字符界面......
  • 【高级RAG技巧】在大模型知识库问答中增强文档分割与表格提取
    前言文档分割是一项具有挑战性的任务,它是任何知识库问答系统的基础。高质量的文档分割结果对于显著提升问答效果至关重要,但是目前大多数开源库的处理能力有限。这些开源的库或者方法缺点大致可以罗列如下:只能处理文本,无法提取表格中的内容缺乏有效的分割策略,要么是一整个文档......
  • Ubuntu22.04安装谷歌浏览器
    参考文档:https://blog.csdn.net/howard2005/article/details/124906494简要概括下:下载Chrome安装包:wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb执行命令:sudodpkg-igoogle-chrome-stable_current_amd64.deb执行命令:sudoapt-get......
  • 群晖DS918+ 6.2.3完美升级迁移7.2.0
    近日黑群晖6.2.3系统的docker突然发生了故障了,导致什么镜像都无法拉取想尽办法依然无法解决,无意中在openos论坛中类似升级的版本逻辑就大胆尝试了一番(是无损升级跨版本),之所以选择传统引导方式折腾,其优势是可以无损迁移恢复旧版本的数据,有些必要的参数可以自定义设置大大提......
  • ATM2.0
    Author:Zenodate:2024/4/16time:11:51【1】注册:(1)存储到文件中(2)存储数据格式:用户名-登录密码-年龄-银行卡号(1314)-取款密码-余额(1000)默认余额1000(3)校验用户名存在不允许注册(4)校验密码,必须是6位,并且字母和数据混合--->提高数据的安全等级(5)取款密码,必......
  • 构建RAG应用-day01: 词向量和向量数据库 文档预处理
    词向量和向量数据库词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。词向量搜索和关键词搜索的比较优势1:词向量可以语义搜索比如百度搜索,使用的是关键词搜索。而词向量搜索,是对句子的语义进行搜索,他会找到意思相近的前k个句子。优势2:词......
  • CF81C Average Score 题解
    题目简述给定一个长度为$n$的序列,在其中取出$x$个数,构成一个数列$a$,剩下的$y$个数构成数列$b$。若第$i$个数在数列$a$中,$ans_i$等于$1$,否则等于$2$,请你给出一种方案使得两数列的平均数之和最大且$ans$的字典序最小.题目分析我们先考虑$x=y$的情况,在这种情......