一个全面、先进、公平且模块化的开源RAG框架

两个关键问题限制了 RAG 的发展:

  • 新型 RAG 算法之间缺乏全面和公平的比较。

  • 像 LlamaIndex 和 LangChain 这样的开源工具使用了高级抽象,这导致了透明度的缺失,并限制了开****发新算法和评估指标的能力。

RAGLAB:是一个模块化的开源库。RAGLAB 复现了 6 种先进的算法,并为研究 RAG 算法提供了一个全面的生态系统。利用 RAGLAB,对 10 个基准上的 6 种 RAG 算法进行了公平比较。有了 RAGLAB,研究人员可以高效地比较各种算法的性能并开发新算法

不同 RAG 库和框架的比较公平比较指的是在评估过程中对所有基本组件进行对齐,包括随机种子、生成器、检索器和指令。数据收集器指的是能够收集或生成训练和测试数据的能力,无论是通过从现有的原始数据集中抽样,还是通过使用LLM构建标记数据。

RAGLAB提供了一个模块化的架构,允许用户轻松地替换和扩展算法的各个组成部分,包括检索器(retriever)、生成器(generator)和指令(instruction)。

RAGLAB 框架的架构和组件

  • 检索器(Retriever):集成了基于BERT的模型,如Contriever和ColBERT,提供了统一的查询接口和客户端-服务器架构,以及检索缓存机制。

  • 语料库(Corpus):提供预处理的Wikipedia语料库,包括2018年和2023年的版本,以及对应的索引和嵌入。

  • 生成器(Generator):集成了Huggingface Transformers和VLLM,支持量化和低秩适应(LoRA)技术,允许使用大型模型。

  • 指令实验室(Instruction Lab):包含系统指令、任务指令和算法指令,允许用户自定义和组合指令。

  • 训练器(Trainer):集成了Accelerate和DeepSpeed库,支持模型的微调,包括LoRA和量化LoRA技术。

  • 数据集和度量(Dataset and Metric):收集了10个广泛使用的基准数据集,覆盖五种不同的任务类型,并提供了灵活的数据适配机制和多种评估指标

RAGLAB进行了全面的实验,使用不同的基础模型作为生成器,同时保持其他基本组件的一致性,以促进不同高级RAG算法之间的公平比较。

一个使用 RAGLAB 来复现 Self-RAG 算法的脚本

分析了使用不同基础模型的RAG算法(Naive RAG、RRR 、ITER-RETGEN、Self-Ask、Active RAG、Self-RAG)在多个基准上的性能,发现Self-RAG算法在使用特定生成器时显著优于其他算法。

不同算法的指令

Naive RAG
# read process insruction
"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passages
and your knowledge, please answer the question more succinctly and professionally. ### Background
Knowledge:\n {passages} \n\n### Response:\n" RRR
# rewrite process instruction
"Provide a better search query for Wikipedia to answer the given question, end the query with '**'. \n\n
Question: Ezzard Charles was a world champion in which sport? \n\n Query: Ezzard Charles
champion** \n\n Question: What is the correct name of laughing gas? \n\n Query: laughing gas
name** \n\n Question: {query} \n\n Query: " # read process insruction
"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passages
and your knowledge, please answer the question more succinctly and professionally. ### Background
Knowledge:\n {passages} \n\n### Response:\n"ITER-RETGEN
# read process insruction
"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passages
and your knowledge, please answer the question more succinctly and professionally. ### Background
Knowledge:\n {passages} \n\n### Response:\n" Self ASK
# follow up question instruction
"Question: When does monsoon season end in the state the area code 575 is located? Are follow up
questions needed here: Yes. Follow up: Which state is the area code 575 located in? Intermediate
answer: The area code 575 is located in New Mexico. Follow up: When does monsoon season end in
New Mexico? Intermediate answer: Monsoon season in New Mexico typically ends in mid-September. So the final answer is: mid-September. \n{query} Are follow up questions needed here:" # read process insruction
"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passages
and your knowledge, please answer the question more succinctly and professionally. ### Background
Knowledge:\n {passages} \n\n### Response:\n" Active RAG
# read process insruction
"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passages
and your knowledge, please answer the question more succinctly and professionally. ### Background
Knowledge:\n {passages} \n\n### Response:\n" Self-RAG
# read process instruction
"### Instruction:\n{task_instruction}\n\n## Input:\n\n{query}\n\n### Response:\n"

RAGLAB 系统用户评估问卷

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QML学习三:qml设计器报错 Line: 0: The Design Mode requires a valid Qt kit

开发环境:Qt 6.5.3 LTS 1、Qt 6.5.3 LTS 2、Pyside6 3、Python 3.11.4 4、win11 默认不打开设计器的时候可以看到我们默认是有Python的环境,而且点击运行是可以运行的。但是当打开qml设计器时提示下面这个错误,提示需要一个可用的套件。 解决办法: 点击+号创建新的套件…

OpenAI官宣ChatGPT用户破2亿,新模型比GPT-4强100倍!

在刚刚召开的“KDDI SUMMIT 2024”大会上,OpenAI日本首席执行官長崎忠雄表示,截止至今年8月底,ChatGPT的月活用户数量突破2亿大关,成为史上最快达到这一成就的软件产品。 同时,ChatGPT企业级用户也获得大幅度增长达到…

Windows自动化程序开发指南

自动化程序的概念 “自动化程序”指的是通过电脑编程来代替人类手工操作的一类程序或软件。这类程序具有智能性高、应用范围广的优点,但是自动化程序的开发难度大、所用技术杂。 本文对自动化程序开发的各个方面进行讲解。 常见的处理对象 自动化程序要处理的对…

STM32关于keil使用过程中遇到的问题

1.设备管理器STlink驱动确认安装完成,但是keil里一直识别不到,换下载器也没用 (1)问题描述 我的问题是这样产生的:之前用标准库开发STM32的时候,STLink能够正常使用,然后使用HAL库开发的时候出…

声音克隆工具CosyVoice

阿里的免费声音克隆工具CosyVoice CosyVoice 是阿里通义实验室在七月初开源的一款专注于自然语音合成的语音大模型,它具备多语言、多音色和细腻的情感控制能力。这个系统支持中文、英文、日文、粤语和韩语五种语言的语音生成,并且在语音合成的效果上远超…

WebShell流量特征检测_哥斯拉篇

90后用菜刀,95后用蚁剑,00后用冰蝎和哥斯拉,以phpshell连接为例,本文主要是对后三款经典的webshell管理工具进行流量分析和检测。 什么是一句话木马? 1、定义 顾名思义就是执行恶意指令的木马,通过技术手…

STM32G474之DAC

STM32G474分别使用CORDIC硬件和“math.h”的正弦值,从DAC1和DAC2输出。 1、DAC特点 PA4的附加功能为DAC1_OUT1,无需映射,直接将它配置为模拟功能,就可以使用了。 PA6的附加功能为DAC2_OUT1,无需映射,直接将…

物料主数据的分类及编码规则概述

物料主数据分布在设计、工艺、生产、采购、销售、存储、物流过程中的多个业务部门中,类型繁杂且不易于管理,必须对于物料主数据进行分类管理。 本文将从物料主数据的分类原则、编码样例、编码规范以及编码设计等方面进行详细介绍,帮助企业更…

STM32高级定时器生成互补PWM的原理与代码实现

文章目录 前言一 CubeMx配置1.1 TIM1 Mode and Configuration1.2 Paramter Settings 二 程序代码三 仿真分析总结 前言 互补 PWM(Complementary PWM)是指一对逻辑状态互为反相的 PWM(脉冲宽度调制)信号。这种信号配置常见于电机控…

数字人实战第三天——wav2lip部署教程

wav2lip数字人 一、wav2lip简介 Wav2Lip 是一种通过将音频与视频中的嘴唇动作同步的技术,旨在生成与音频内容高度匹配的口型动画。其主要应用是让视频中的人物嘴唇动作与配音或其他音频输入精确同步,这在电影配音、虚拟主持人、在线教学、影视后期处理等…

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜…

CSS —— display属性

用于指定一个元素在页面中的显示方式 HTML中标签元素大体被分为三种类型:块元素、行内元素和行内块元素 块元素 :block 1.独占一行 2.水平方向,占满它父元素的可用空间(宽度是父级的100%) 3.垂直方向,占据的…

Idea 创建 Maven项目的时候卡死

文章目录 一、Archetype 和 Catalog1.1 Archetype(原型)1.2 Catalog(目录) 二、可能遇到的问题2.1 问题描述2.2 原因分析2.3 解决方案 参考资料 一、Archetype 和 Catalog 1.1 Archetype(原型) Archetype…

【自考zt】【软件工程】【21.10】

关键字: 软件需求基本性质、软件系统需求挑战、耦合(高内容,低无直接)、内聚(初始化时间)、uml包、rup边界类、测试首要目标、单元测试最后工作、性能需求 软件开发本质、软件需求规约三种风格、提炼、用…

9.7(QT.Day 1)

一、自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面 要求&#xff1a;每行代码都有注释 【需要用到的图片或者动图&#xff0c;自己去网上找】 1.mywidget.h代码 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> //图…

2024全国大学省数学建模竞赛A题-原创参考论文(部分+第一问代码)

一问题重述 1.1 问题背景 "板凳龙"&#xff0c;又称"盘龙"&#xff0c;是浙闽地区的传统地方民俗文化活动。这种独特的表演艺术形式融合了中国传统龙舞的精髓和地方特色&#xff0c;展现了人们对美好生活的向往和对传统文化的传承。 在板凳龙表演中&am…

为elementui的el-date-picker时间选择器添加快捷选项

1、效果图 2、实现方法 直接在elementui的时间选择器上修改&#xff0c;添加shorcuts选项&#xff0c;但是样式要自己修改。 有几个注意点&#xff1a; 1&#xff09;如图我是选中后有显示背景颜色的&#xff0c;也就意味着要给选中的选项添加类名&#xff0c;elementui没有…

一. 从Hive开始

1. 怎么理解Hive Hive不能理解成一个传统意义上的数据库&#xff0c;应该理解成一个解决方案。 是Hadoop在hdfs和mapreduce之后才出现的一个结构化数据处理的解决方案。 Hdfs解决了大数据的存储问题&#xff0c;mapreduce解决了数据的计算问题。 一切似乎很美好。 但是使用成本…

微信小程序页面制作——个人信息

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

探索fastFM:Python中的高效推荐系统库

文章目录 &#x1f680; 探索fastFM&#xff1a;Python中的高效推荐系统库背景&#xff1a;为何选择fastFM&#xff1f;快照&#xff1a;fastFM是什么&#xff1f;安装指南&#xff1a;如何将fastFM加入你的项目&#xff1f;快速入门&#xff1a;五个基础函数的使用实战演练&am…