专栏名称: 深度学习自然语言处理
一个从大三就接触NLP的小小NLPer,本公众号每天记录自己的一点一滴,每篇文章最后也有托福单词等新知识,学技术同时,也一点一滴积累额外的知识。期待与你在知识的殿堂与你相遇!
51好读  ›  专栏  ›  深度学习自然语言处理

北航团队发布XRAG-Ollama:助力轻便本地化部署RAG实验框架

深度学习自然语言处理  · 公众号  ·  · 2025-01-23 15:42

正文

XRAG支持全面的RAG测评Benchmark与Toolkit,涵盖了50+以上的测试指标与RAG的全面评测与失败点优化,支持4类Advanced RAG模块( 查询重构, 先进检索, 问答模型, 后处理) 的对比, 并集成模块内的多种具体实现,支持OpenAI大模型 API。XRAG1.0版本还提供了简单的Web UI Demo、轻交互的数据上传与统一标准格式, 集成了 RAG失败点检测与优化方法。目前文章和代码已开源发布。

论文标题:XRAG: eXamining the Core - Benchmarking Foundational Component Modules in Advanced Retrieval-Augmented Generation

作者机构:北航、ZGCLAB

论文链接:https://arxiv.org/abs/2412.15529

项目链接:https://github.com/DocAILab/XRAG

项目亮点

一. XRAG-Ollama 本地化检索推理框架

XRAG:灵活且可扩展的RAG框架

XRAG是一个全面且可定制的RAG框架,它通过组件化和模块化的设计,集成了查询重写、高级检索、问答模型和后处理等核心组件。XRAG提供了超过50个测试指标和多种先进算法,以及高效的数据预处理脚本,简化了复杂RAG场景下的模型测试与验证流程,使得用户能够轻松实现和优化他们的RAG模型。

Ollama:高效的本地化推理引擎

Ollama作为专注本地化部署的轻量级推理框架,通过硬件加速、量化压缩和注意力机制优化等技术,显著提升大语言模型在异构计算环境中的推理效率。其模块化设计支持与向量数据库(如ChromaDB)无缝集成,为构建RAG系统提供高性能的本地推理能力支撑,特别适用于需要快速响应且对数据隐私要求严格的场景。

XRAG-Ollama本地化检索推理框架:检索增强生成与高效推理的完美结合

XRAG-Ollama本地化检索推理框架结合了XRAG的检索增强生成能力和Ollama的高效推理能力,提供了更准确、更快速的用户体验。基于XRAG的模块化设计和Ollama的本地化推理优化,这个框架实现了相较于传统推理方法显著的性能提升。通过结合检索增强知识和高效的推理技术,XRAG-Ollama框架为用户提供了敏捷高效的使用体验,使得输出结果更加准确,满足了用户对于高性能RAG系统的需求。

二、Ollama框架:助力XRAG实现高效本地化检索推理

在XRAG-Ollama本地化检索推理框架中,Ollama扮演着至关重要的角色。作为一个开源、易用的本地大模型运行框架,Ollama为XRAG提供了强大的本地化检索推理能力,使得XRAG能够充分发挥其检索增强生成的优势。

为什么本地化部署XRAG?

  • 降低外部风险: 使用本地部署可以减少对外部服务的依赖,降低因第三方服务不稳定或数据泄露带来的潜在风险。
  • 离线可用性 :本地化的RAG系统不依赖互联网连接,即使在网络中断的情况下也能正常运行,保证服务的连续性和稳定性。
  • 数据自主管理 :本地部署使用户能够完全掌控数据的存储、管理和处理方式,例如将私有数据嵌入到本地向量数据库中,确保数据处理符合企业自身的安全标准和业务要求。
  • 数据隐私与安全 :在本地环境中运行RAG系统,可以避免敏感数据通过网络传输带来的泄露风险,确保数据始终处于本地控制范围内。这对于处理机密信息的企业尤为重要。

为什么选择Ollama?

Ollama是一个轻量级、可扩展的框架,用于在本地机器上构建和运行大型语言模型(LLM)。它提供了一个简单的API来创建、运行和管理模型,以及一个预构建模型库,可以轻松用于各种应用程序。它不仅支持多种模型,如DeepSeek、Llama 3.3、Phi 3、Mistral、Gemma 2等,还能够利用现代硬件加速计算,从而为XRAG提供高性能的推理支持。另外,Ollama还提供了对模型量化的支持,这可以显著降低显存要求。例如,4-bit量化可以将FP16精度的权重参数压缩为4位整数精度,从而大幅减小模型权重体积和推理所需显存。这使得在普通家用计算机上运行大型模型成为可能。

通过与Ollama的结合,XRAG能够在本地高效运行大型语言模型,无需依赖复杂的环境配置和大量的计算资源,大大降低了部署和运行成本。同时,本地部署方案赋予开发者完整的数据处理控制权,支持从原始数据清洗、向量化处理(如通过ChromaDB构建私有知识库)到最终应用落地的全链路定制。其基于本地基础设施的部署架构天然具备离线运行能力,不仅确保了服务连续性,还能满足特殊环境(如涉密网络等)对系统可靠性的严苛要求。

下面是一些可直接下载使用的模型( 参考链接 ):

以下给出几个本地化大模型与GPU的适配方案,供您本地化部署XRAG+Ollama参考:

安装使用

一、安装与使用Ollama

在开始使用Ollama之前,需要确保电脑上安装了Docker或者可以运行exe文件的环境。Docker是一个开源的应用容器引擎,能够让应用的部署变得更容易。如果还没安装,可以访问Docker官网下载并安装适合操作系统的Docker版本。

下载Ollama

Ollama提供了多种安装方式,包括Docker镜像和直接的exe安装包。对于希望直接通过exe安装的用户,可以从Ollama的官方网站或GitHub仓库下载适合自己操作系统的exe安装包。当你运行 ollama --version 命令成功查询到版本时,表示 Ollama 的安装已经顺利完成,接下来便可以用 pull 命令从在线模型库下载模型来玩了。

拉取和运行模型

无论是通过Docker还是直接exe安装,都可以使用Ollama的命令行工具来拉取和运行模型。例如:

这将从Ollama的模型库中下载llama3.1模型,并在本地运行它,为XRAG提供强大的推理支持。

安装成功测试

通过以上步骤,XRAG能够借助Ollama实现高效的本地化检索推理,为用户提供更准确、更快速的RAG系统体验。

二. 安装XRAG

  • 使用conda创建虚拟环境
  • 克隆代码到本地并配置环境
  • 尝试启动XRAG
  • 得到输出为:

证明环境配置基本完成, XRAG已经启动初次使用可能需要填入邮箱

三. 交互式使用XRAG-Ollama框架

启动XRAG并访问Web页面

如页面所示, 我们为  XRAG  框架收集并预处理了三个基准数据集。除此之外, 我们还开发了一个统一的数据集结构, 以促进检索和生成模块的性能测试, 并提供了标准化格式。您可以通过上传指定格式的json文件将您的定制数据集加载到系统中。

选择其中一个数据集再点击Load Dataset,开始加载数据,以Drop为例







请到「今天看啥」查看全文