RAG-FiT

GitHub
769 61 中等 1 次阅读 1周前Apache-2.0其他语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

RAG-FiT 是一个专为提升大语言模型(LLM)检索增强生成(RAG)能力而设计的开源框架。它核心解决了通用大模型在利用外部信息时往往不够精准的问题,通过基于特制 RAG 数据集的微调,显著增强模型对检索内容的理解与整合能力。

该工具非常适合 AI 研究人员和开发者使用,尤其是那些希望快速原型化 RAG 方案、探索不同检索配置或需要定制化训练流程的技术团队。RAG-FiT 将复杂的工作流模块化为四大核心环节:数据集构建、高效训练、推理预测及多维评估。其独特亮点在于支持参数高效微调(PEFT),大幅降低训练成本;同时提供高度灵活的配置系统(基于 Hydra),允许用户通过配置文件轻松管理从数据清洗、检索排序到提示词生成的全流程。此外,它还内置了丰富的 RAG 专用评估指标,不仅能衡量最终输出质量,还能深入分析检索结果、推理逻辑及引用准确性,帮助使用者科学量化模型性能的提升。

使用场景

某医疗科技团队正在构建一个基于最新医学文献的智能问答系统,旨在让医生能通过自然语言快速查询复杂的临床指南。

没有 RAG-FiT 时

  • 模型“幻觉”严重:通用大模型在缺乏微调的情况下,经常忽略检索到的专业文献,凭固有知识编造错误的用药建议。
  • 数据准备繁琐:人工构建包含“问题 - 检索片段 - 标准答案”的训练数据集耗时极长,且难以统一格式以适配不同的检索策略。
  • 训练成本高昂:直接全量微调大模型需要昂贵的算力资源,团队难以在有限预算下进行多次实验迭代。
  • 评估维度单一:仅靠人工抽查或简单的文本相似度无法量化模型是否真正利用了外部证据,难以发现深层的逻辑错误。

使用 RAG-FiT 后

  • 显著降低幻觉:利用 RAG-FiT 生成的增强数据集对模型进行参数高效微调(PEFT),使模型学会严格依据检索到的医学文献作答,准确性大幅提升。
  • 自动化数据流水线:通过配置即可自动完成从文献加载、检索增强到提示词构建的全流程,快速生成高质量的训练数据。
  • 低成本快速迭代:借助内置的 PEFT 支持,团队能在单张消费级显卡上高效完成模型训练,并将优化后的模型直接推送至 Hugging Face。
  • 全方位效果量化:利用集成的 RAGAS 和 Deepeval 等专用指标,不仅能评估答案质量,还能精确衡量模型对检索内容的引用率和归因能力。

RAG-FiT 通过标准化的数据构建与高效微调流程,将原本需要数周的研发周期缩短至几天,让垂直领域的专业问答系统落地变得触手可及。

运行环境要求

GPU

未说明

内存

未说明

依赖
notes该工具基于 Hydra 进行配置管理,支持通过配置文件自定义工作流。虽然 README 未明确列出具体硬件指标,但由于涉及大语言模型(LLM)的微调(PEFT)和推理,实际运行通常需要 NVIDIA GPU 及较大的显存。支持安装可选包以集成 Haystack 检索框架或 Deepeval 评估工具。
python未说明
hydra-core
TRL
PEFT
transformers
haystack (可选)
deepeval (可选)
RAGAS
evaluate
RAG-FiT hero image

快速开始


RAG-FiT 是一个库,旨在通过在专门构建的 RAG 增强数据集上微调模型,来提升大语言模型利用外部信息的能力。该库可以根据给定的 RAG 技术帮助创建训练数据,支持使用参数高效微调(PEFT)轻松训练模型,并最终帮助用户使用各种专为 RAG 设计的指标来衡量性能提升。该库具有模块化设计,可通过配置文件自定义工作流。此前名为 RAG Foundry

欢迎提出评论、建议、问题和拉取请求!❤️

安装

克隆并运行:

pip install -e .

也可以安装可选包:

pip install -e .[haystack]
pip install -e .[deepeval]

快速入门

如需一个简单、端到端的示例,请参阅 PubmedQA 教程

概述

RAG-FiT 框架能够快速原型化和实验各种 RAG 设置与配置,包括数据选择与过滤、处理、检索、排序、查询改写、提示生成、训练、推理、输出处理以及评估。该库由四个模块组成:数据集创建、训练、推理和评估。

  • 数据集创建:处理模块负责创建数据集,持久化 RAG 交互过程,以便用于 RAG 训练和推理。RAG 交互包括加载数据、列归一化、数据聚合(少样本生成)、使用外部工具和框架进行信息检索、API 集成、基于模板的提示生成以及其他形式的预处理。数据会以一致的、模型无关的输入-输出格式保存,并附带所有其他字段和元数据。详情请参阅 Processing.md

  • 训练:利用 PEFT 进行高效训练,结合 TRL(例如监督式微调),用户可以对任何模型在增强的数据集上进行训练。训练基于完成序列进行。训练好的模型可以上传至 Hugging Face Hub。详情请参阅 Training.md

  • 推理:使用增强的数据集,借助已训练或未训练的语言模型生成预测。详情请参阅 Inference.md

  • 评估:对推理模块生成的输出进行评估。用户可以提供要运行的指标列表;自定义指标也可轻松实现。当前支持的指标包括 EM、F1、ROUGE、BERTScore、Deepeval、RAGAS、HF evaluate 以及分类指标。这些指标可以是 局部的——针对每个样本单独计算,也可以是 全局的——针对整个数据集计算,例如召回率。评估指标可以利用数据集中任意特征,如检索结果、推理过程、引用和归属信息等,而不仅限于输入和输出文本。详情请参阅 Evaluation.md

运行

四个模块分别以脚本形式呈现:顶层目录下的 processing.pytraining.pyinference.pyevaluation.py。每次调用的格式均为 python SCRIPT options...

该库使用 Hydra 配置工具;它支持分层配置、在命令行中轻松覆盖配置值,以及远程运行多个任务(例如与 SLURM 和 Ray 的集成)。它采用“配置即代码”的方法,能够根据配置实例化 Python 类(_target_ 关键字指定了在特定上下文中使用的 Python 类)。

每个模块在 configs 文件夹中都有默认配置。可以通过以下方式覆盖配置文件:

python processing -cp configs/paper -cn processing-asqa-retrieval

也可以单独覆盖某些参数:

python processing -cp configs/paper -cn processing-asqa-retrieval   \
       output_path=/store/data/here                                 \
       cache=true

如需完整的配置集合,特别是为了复现论文中使用 ASQA 数据集的实验,请参阅 Paper 文件夹中的配置。

引用

如果本文对您的研究有所帮助,请引用我们的论文:RAG Foundry: 用于增强 LLMs 检索增强生成能力的框架

@article{fleischerRAGFoundryFramework2024,
  title =        {{RAG} {Foundry}: {A} {Framework} for {Enhancing} {LLMs} for {Retrieval} {Augmented} {Generation}},
  author =       {Fleischer, Daniel and Berchansky, Moshe and Wasserblat, Moshe and Izsak, Peter},
  year =         2024,
  note =         {arXiv:2408.02545 [cs]},
  annote =       {注释:10页},
  url =          {http://arxiv.org/abs/2408.02545},
  publisher =    {arXiv},
}

许可证

代码采用 Apache 2.0 许可证 许可。

免责声明

本项目并非英特尔官方产品。

版本历史

v1.5.02024/11/12
v1.2.02024/10/06
v1.1.22024/09/11
v1.1.12024/08/19
v1.0.02024/08/13

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|6天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

151.3k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|2天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|2天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|5天前
插件开发框架