微信扫码
与创始人交个朋友
我要投稿
这是北航团队发布的 XRAG-Ollama 框架,让 RAG 实验与分析更便捷,代码已开源!核心内容:1. XRAG 全面的 RAG 测评与优化2. Ollama 高效的本地化推理能力3. XRAG-Ollama 本地化的集成优势
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是一个全面且可定制的RAG框架,它通过组件化和模块化的设计,集成了查询重写、高级检索、问答模型和后处理等核心组件。XRAG提供了超过50个测试指标和多种先进算法,以及高效的数据预处理脚本,简化了复杂RAG场景下的模型测试与验证流程,使得用户能够轻松实现和优化他们的RAG模型。
Ollama作为专注本地化部署的轻量级推理框架,通过硬件加速、量化压缩和注意力机制优化等技术,显著提升大语言模型在异构计算环境中的推理效率。其模块化设计支持与向量数据库(如ChromaDB)无缝集成,为构建RAG系统提供高性能的本地推理能力支撑,特别适用于需要快速响应且对数据隐私要求严格的场景。
XRAG-Ollama本地化检索推理框架结合了XRAG的检索增强生成能力和Ollama的高效推理能力,提供了更准确、更快速的用户体验。基于XRAG的模块化设计和Ollama的本地化推理优化,这个框架实现了相较于传统推理方法显著的性能提升。通过结合检索增强知识和高效的推理技术,XRAG-Ollama框架为用户提供了敏捷高效的使用体验,使得输出结果更加准确,满足了用户对于高性能RAG系统的需求。
在XRAG-Ollama本地化检索推理框架中,Ollama扮演着至关重要的角色。作为一个开源、易用的本地大模型运行框架,Ollama为XRAG提供了强大的本地化检索推理能力,使得XRAG能够充分发挥其检索增强生成的优势。
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之前,需要确保电脑上安装了Docker或者可以运行exe文件的环境。Docker是一个开源的应用容器引擎,能够让应用的部署变得更容易。如果还没安装,可以访问Docker官网下载并安装适合操作系统的Docker版本。
Ollama提供了多种安装方式,包括Docker镜像和直接的exe安装包。对于希望直接通过exe安装的用户,可以从Ollama的官方网站或GitHub仓库下载适合自己操作系统的exe安装包。 当你运行 ollama --version
命令成功查询到版本时,表示 Ollama 的安装已经顺利完成,接下来便可以用 pull
命令从在线模型库下载模型来玩了。
无论是通过Docker还是直接exe安装,都可以使用Ollama的命令行工具来拉取和运行模型。例如:
这将从Ollama的模型库中下载llama3.1模型,并在本地运行它,为XRAG提供强大的推理支持。
通过以上步骤,XRAG能够借助Ollama实现高效的本地化检索推理,为用户提供更准确、更快速的RAG系统体验。
证明环境配置基本完成, XRAG已经启动初次使用可能需要填入邮箱
如页面所示, 我们为 XRAG 框架收集并预处理了三个基准数据集。除此之外, 我们还开发了一个统一的数据集结构, 以促进检索和生成模块的性能测试, 并提供了标准化格式。您可以通过上传指定格式的json文件将您的定制数据集加载到系统中。
配置阶段需要配置的主要内容为使用的生成模型和编码模型
该部分需要配置的主要内容为:
其中Text QA Template 和 Refine Template 预设了问答任务所需的通用提示词。
Pre-retriever 方法:在检索之前,我们利用预检索组件来优化用户查询,从而提高信息检索过程的质量和相关性。主要方法包括拓展提示:拓宽查询以丰富答案的上下文基础,增强答案生成的上下文基础。
假设文档嵌入(HyDE 技术):将原始查询转换为与索引文档更一致的形式,从而提高检索的一致性和效率。
验证链 (CoVe):执行验证计划,以进一步将系统响应提炼为增强的响应。
Advanced retriever方法:我们模块化了LlamaIndex实现的标准高级方法。例如我们在LexicalBM25检索器中根据语料库中的查询词出现次数和稀有度对文档进行排名。
Simple Fusion Retriever(SQFusion)通过生成相关的子查询来增强查询,并返回所有查询和索引中的前 k 个节点。RRFusion 将索引与基于 BM25 的检索器融合在一起,从而同时捕获语义关系和关键字相关性。
SentenceWindow Retriever 将文档解析为单个句子作为叶节点,在检索到叶节点时并合并周围的句子以增加上下文。
RecursiveChunk Retriever遍历节点关系以根据引用获取节点。
Postprocess 方法:后处理器方法旨在转换和过滤返回节点,从而进一步提高检索的准确性和效率。
XRAG 整合了重新排名器,通过利用上下文理解模型而不是嵌入匹配模型来增强相关性评估的准确度。我们利用 Huggingface和transformers来集成(BGE-BASE)1reranker,它通过 Cross-Encoder 模型处理问题和文档,直接输出相似度分数。ColBERT reranker采用多向量表示进行粒度查询文档匹配。此外,LongContextReorder将高分节点重新定位到列表的顶部和底部,从而加快相关信息的识别。
确认完成配置后点击确定以开始整体流程的构建, 这可能需要一点时间。 随后,您可以使用单个问题测试您的RAG系统。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-01-23
Vertex AI RAG Engine:Google Cloud最新打造的RAG超级引擎(含代码)
2025-01-23
大模型生成内容靠谱吗?CRAAP测试告诉你
2025-01-23
反思 Reflection Agent —— 提升 AI 决策能力的利器
2025-01-22
Dify &Coze 知识库分段新功能体验
2025-01-22
一篇大模型GraphRAG最新综述
2025-01-22
阿里通义等提出Chronos:慢思考RAG技术助力新闻时间线总结
2025-01-22
RAG系统里的查询构建技术:解锁高效数据检索的密码
2025-01-21
深度解读:高级 RAG 技术的进阶之路
2024-07-18
2024-09-04
2024-05-05
2024-06-20
2024-07-09
2024-07-09
2024-05-19
2024-06-13
2024-10-27
2024-07-07