返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 23:39 |阅读模式 打印 上一主题 下一主题

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

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

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

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

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

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

RAGLAB 框架的架构和组件

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.578px;">

    ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;letter-spacing: 0.25px;text-align: left;text-wrap: wrap;background-color: rgb(49, 49, 58);" class="list-paddingleft-1">
  • 检索器(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 passagesand your knowledge, please answer the question more succinctly and professionally. ### BackgroundKnowledge:\n{passages}\n\n###Response:\n"
RRR# rewrite process instruction"rovide a better search query for Wikipedia to answer the given question, end the query with '**'. \n\nQuestion: Ezzard Charles was a world champion in which sport? \n\n Query: Ezzard Charleschampion** \n\n Question: What is the correct name of laughing gas? \n\n Query: laughing gasname** \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 passagesand your knowledge, please answer the question more succinctly and professionally. ### BackgroundKnowledge:\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 passagesand your knowledge, please answer the question more succinctly and professionally. ### BackgroundKnowledge:\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 upquestions needed here: Yes. Follow up: Which state is the area code 575 located in? Intermediateanswer: The area code 575 is located in New Mexico. Follow up: When does monsoon season end inNew 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 passagesand your knowledge, please answer the question more succinctly and professionally. ### BackgroundKnowledge:\n {passages} \n\n### Response:\n"
ActiveRAG# read process insruction"### Instruction:\n {task_instrucion} \n## Input:\n\n{query}\n\n Now, based on the following passagesand your knowledge, please answer the question more succinctly and professionally. ### BackgroundKnowledge:\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 系统用户评估问卷

RAGLAB:AModularandResearch-OrientedUnifiedFrameworkforRetrieval-AugmentedGenerationhttps://arxiv.org/pdf/2408.11381https://github.com/fate-ubw/RAGLab

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ