一、背景介绍

UltraRAG 框架由清华大学THUNLP联合东北大学NEUIR面壁智能团队及9#AISoft团队共同提出,基于敏捷化部署与模块化构造,引入了自动化的“数据构建-模型微调-推理评测”知识适配技术体系,提供了一站式、科研与开发双重友好的 RAG 系统解决方案。UltraRAG 显著简化了 RAG 系统在领域适配过程中,从数据构建到模型微调的全流程,助力科研人员与开发者高效应对复杂任务:

  • 零代码编程WebUI支持: 零编程经验用户亦可上手操作全链路搭建和优化过程,包括 多模态RAG方案VisRAG ;
  • 合成与微调一键式解决: 以自研KBAlign、RAG-DDR等方法为核心,一键式系统化数据构建 + 检索、生成模型多样微调策略支持下的性能优化;
  • 多维多阶段稳健式评估: 以自研RAGEval方法为核心,融入面向有效/关键信息的多阶段评估方法,显著提升“模型评估”的稳健性;
  • 科研友好探索工作集成: 内置THUNLP-RAG组自研方法及其他前沿RAG方法,支持模块级持续探索与研发。

以上全部功能,都可以直接通过 web 前端快速实现。

二、整体架构

UltraRAG 的架构由 前端 、服务和后端 三个部分组成,具体介绍如下:

  • 后端
    • Modules (模块层): 定义 RAG 系统中的关键组成部分,例如知识库、检索模型、生成模型等,支持用户基于标准类进行灵活定制。
    • Workflow(流程层): 规范 RAG 系统的组成模式,提供标准化的基础 RAG 实现,并集成团队自研的典型方法,如 Adapative-Note、VisRAG 等,支持用户灵活搭建与调整,且将持续补充与优化。
    • Function (功能层): 负责 RAG 系统优化过程中的关键操作,包括数据合成、系统评估和模型微调等,助力系统性能的全面提升。
  • 服务 :UltraRAG 除了支持基于实例方式搭建 RAG 系统,还提供微服务部署模式,以优化应用过程中的用户体验,支持 Embedding Model、LLM 以及向量数据库等关键服务的灵活部署。
  • 前端 :前端划分为资源管理与功能页面两个部分。其中,资源管理包括 模型管理 和 知识库管理 ,而功能页面涵盖 数据构造、模型训练、效果评测 及 推理体验 ,为用户提供便捷的交互支持。

三、效果评估

为了验证 UltraRAG 在垂直领域的应用效果,我们以法律领域为例,收集了各类专业书籍,构建了包含 88 万个切片 的知识库,并基于相对完备的评测数据集,在 UltraRAG 上进行了系统性评估。以下为我们的评测结果。如需了解评测的详细内容,请参阅相关文档:评测报告

端到端效果 **法条预测(3-2)**ROUGE-L
VanillaRAG 40.75
UltraRAG-DDR 53.14
UltraRAG-KBAlign 48.72
端到端效果 **咨询(3-8)**ROUGE-L
VanillaRAG 23.65
UltraRAG-Adaptive-Note 24.62
VanillaRAG-finetune 25.85

四、实践代码

环境依赖

CUDA 版本在12.2及以上

Python 版本在3.10及以上

快速部署

你可以通过以下几种方式部署 UltraRAG,运行前端页面:

  1. 通过docker部署

运行以下命令,然后在浏览器访问“http://localhost:8843"。

docker-compose up --build -d
  1. 通过conda部署

运行以下命令,然后在浏览器访问“http://localhost:8843"。

# 创建conda环境
conda create -n ultrarag python=3.10

#激活conda环境
conda activate ultrarag

# 安装相关依赖
pip install -r requirements.txt

# 运行以下脚本下载模型,默认下载到resources/models目录下
# 下载的模型列表在resources/models/model_list.txt中
python scripts/download_models.py

# 运行demo页面
streamlit run ultrarag/webui/webui.py --server.fileWatcherType none

简单上手

为了方便您使用 UltraRAG,我们提供了一份详细的说明文档,方便您上手 UltraRAG 完成体验和调优模型使用说明

如果您对其中涉及到的技术方案更感兴趣,您可以通过UltraRAG系列获取更全面的了解。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐