引言
如何科学的评估RAG系统,对于RAG系统的性能优化至关重要。为此,本文提供了一个详细操作指南,帮助用户使用Ollama本地部署最新的DeepSeek R1模型,并使用最新的XRAG1.0框架来构建RAG系统并评估你的本地RAG知识库系统。
这一过程分为三个主要步骤:
-
Ollama安装 -
下载启动DeepSeek R1模型 -
配置XRAG使用本地模型和知识库,运行评估以解锁全流程自动化评测能力。
RAG技术核心流程
检索增强生成(Retrieval-Augmented Generation, RAG)通过结合文档检索与大模型生成能力,让AI回答既精准又可靠。RAG核心流程分为四步:
-
检索准备:解析用户问题,优化查询语句 -
文档检索:从海量文档中匹配相关片段 -
结果精炼:过滤排序,保留核心信息 -
答案生成:基于上下文生成最终回答 上图展现了一个完整的RAG流程的各个步骤,其中蓝色字体标注的部分是RAG技术中值得深入理解并改进的关键组成部分。
然而,有过实战经验的小伙伴的经验应该知道,搭建RAG系统是比较简单的,但如何让系统达到预期目标是一件非常有挑战性的任务。当前系统功能优化基本也是围绕这四个关键节点展开,那么如何有效的评测RAG关键节点模块的性能对于RAG系统的优化起着关键的作用。
XRAG
为了更深入地评测RAG技术中的各个模块性能,北航团队发布的可全面测评RAG系统的框架:XRAG。paper:https://arxiv.org/abs/2412.15529
code:https://github.com/DocAILab/XRAG
利用XRAG并借助DeepSeek模型,可以实现本地的RAG知识库系统,并对其中的不同模块快速进行检验测试。具体来说,XRAG支持全面的RAG测评Benchmark与Toolkit,涵盖了50+以上的测试指标与RAG的全面评测与失败点优化,支持4类Advanced RAG模块( 查询重构, 先进检索, 问答模型, 后处理) 的对比, 并集成模块内的多种具体实现,支持OpenAI大模型 API。XRAG1.0版本还提供了简单的Web UI Demo、轻交互的数据上传与统一标准格式, 集成了 RAG失败点检测与优化方法。
具体XRAG框架内容细节可以阅读原论文。
XRAG安装使用
XRAG安装使用主要分为三个主要步骤,首先安装Ollama,然后通过ollama安装DeepSeek R1模型,最后配置XRAG使用本地模型和知识库、运行评估以解锁全流程自动化评测能力。
1、Ollama安装
Ollama 是一个开源工具,允许用户在本地机器上运行 LLM,如 DeepSeek R1。进入Ollama官网(官网链接:https://ollama.com)后,点击页面右上角的Download按照提示按步骤下载安装即可,如上图所示。
然后,进入选择自己电脑操作系统的页面,即可等待下载并安装完成。
2、下载启动Deepseek模型
完成上述的Ollama的安装步骤后,就可以开始拉取并运行DeepSeek R1模型了。具体操作如下:
可以首先打开一个命令行终端,首先输入ollama serve
进行ollama服务的启动,如下图所示:之所以图片的第一次命令运行出现error,是因为我事先启动过ollama服务了。所以大家也可以通过这个命令查看自己电脑上是否已经启动了ollama服务,如果启动了就不需要再次运行这个命令。
接下来终于到了下载模型的环节:如上图所示,首先选择目前火热的deepseek-r1模型,由于是本地服务,这里选择最小的模型1.5b(如果资源足的小伙伴,也可以下载参数量多的版本)。
将官网的下载命令粘贴到命令行中,下载过程展示如上图所示。
下载速度一般很快,喝杯水的功夫就完成了。上面是下载完的结果展示图,此时我们已经可以在简陋的命令行中跟刚刚下载的deepseek-r1模型进行聊天了。当然,由于是本地的小模型,所以可能稍微没有想象中的那么聪明,但至少不会出现服务器繁忙的回复了哈哈哈。
到这一步骤,我们已经完成在Ollama的基础上运行本地deepseek模型的流程。
3、XRAG安装评测
以下是使用XRAG的详细步骤:
1、XRAG安装
确保 Python 版本为 3.11 或更高。在这里,我们使用conda创建虚拟环境(具体安装细节可参考conda官方网站):安装 XRAG:
2、配置 XRAG
XRAG 使用 config.toml 文件进行配置。一般情况,我们保持默认配置即可。我们可以在使用可视化界面时,直接对XRAG进行配置,更简洁方便。
3、运行评估运行以下命令,打开XRAG的可视化网页。通过上面的可视化网页,我们可以选择本地的文件作为我们的知识库:
加载数据需要一定的时间:
然后,可以对我们本地知识库所采用的配置进行设置:包括回答生成时所使用的大模型等等。这里,我们将选择前面步骤中运行的本地模型:
4、自动评测配置完毕后,我们点击下一步,就可以开始针对本地知识库系统进行回答问题了:XRAG能够根据你的本地RAG知识库系统的回答自动进行评测(通过使用openai的大模型进行评估),并利用各种经典指标量化回答的质量,下面的图片是其中一些指标的实例:
到这里为止,我们就可以利用XRAG框架完成本地RAG知识库系统的搭建,并对我们的本地知识库进行了评估了。祝各位玩的开心!
注意事项(Notice!)
近期互联网披露,如果Ollama直接暴露服务端口(默认为 11434)于公网,并且未启用身份认证机制,远程攻击者可以在未授权的情况下访问其高危接口。建议受影响的用户尽快修改相关配置或部署安全策略,以收敛安全风险。
根据CNVD漏洞平台最新修复建议(https://mp.weixin.qq.com/s/QKrJXmOYv9KVfIEHBLeCww):
-
1、若Ollama只提供本地服务,设置环境变量Environment="OLLAMA_HOST=127.0.0.1",仅允许本地访问。 -
2、若Ollama需提供公网服务,选择以下方法添加认证机制: -
1)修改config.yaml、settings.json 配置文件,限定可访问Ollama 服务的IP地址; -
2)通过防火墙等设备配置IP白名单,阻止非授权IP的访问请求; -
3)通过反向代理进行身份验证和授权(如使用OAuth2.0协议),防止未经授权用户访问。
推荐阅读
[1]>>专注大模型学术前沿的知识分享!
[2]2万字长文!一文了解Attention,非常详细!
[4]这几天!DeepSeek发布5个重要代码库!
[5]每周速递44期!大模型最前沿!
投稿或寻求报道联系:ainlperbot
点击下方链接?关注我们