本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测

如何使用 Langchain、Ollama 和 Streamlit 构建 RAG 在本博客完成中,我们将指导您创建可在本地运行的 RAG 的过程。这个过程不仅会加深您对尖端语言如何计算机工作的理解,还将使您能够在自己的项目中实施它们无论您是希望将 RAG 集成到现有应用程序中,还是只是探索 NLP 的前沿领域,本教程都是您的入门之选。 阅读详情

引言

如何科学的评估RAG系统,对于RAG系统的性能优化至关重要。为此,本文提供了一个详细操作指南,帮助用户使用Ollama本地部署最新的DeepSeek R1模型,并使用最新的XRAG1.0框架来构建RAG系统并评估你的本地RAG知识库系统。

这一过程分为三个主要步骤:

  • Ollama安装

  • 下载启动DeepSeek R1模型

  • 配置XRAG使用本地模型和知识库,运行评估以解锁全流程自动化评测能力。

RAG技术核心流程

检索增强生成(Retrieval-Augmented Generation, RAG)通过结合文档检索与大模型生成能力,让AI回答既精准又可靠。RAG核心流程分为四步:

  1. 检索准备:解析用户问题,优化查询语句

  2. 文档检索:从海量文档中匹配相关片段

  3. 结果精炼:过滤排序,保留核心信息

  4. 答案生成:基于上下文生成最终回答
    上图展现了一个完整的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协议),防止未经授权用户访问。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

RAG实战指南(一)——从零搭建RAG开发环境 本文详细介绍了如何从零开始搭建RAG(Retrieval-Augmented Generation)开发环境,包括硬件与软件基础配置、核心依赖安装、知识库与API配置等关键步骤。通过实战案例,帮助开发者快速掌握RAG技术,有效提升AI问答系统的准确性和可靠性。 阅读详情

相关推荐

简话 RAG 本地部署(DeepSeek + RAGFlow)

RAG = DeepSeek + OLlama + Docker + RAGFlow + Windows 11 简话 RAG 本地部署

捉虫客 de 博客 1万+

【LLM大模型】使用Ollama本地离线体验SimpleRAG(手把手教程)

Ollama是一个开源项目,专注于开发和部署大语言模型,特别是像LLaMA这样的模型,用于生成高质量的文本和进行复杂的自然语言处理任务。

2301_81940605的博客 2066

【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘

虚拟化平台安装好之后,一般情况下,只有一个硬盘在工作,其他的外接硬盘(我的只有一个ssd硬盘,其他的均是usb外接,SATA接口的硬盘是否这样我暂时不清楚哈)没有在工作,但是一个硬盘明显不够我们使用的,所以我们需要去挂载外接的硬盘来扩容。...

Rubik Blog 4834

通过 Ollama、Langchain 实现 RAG

RAG 在 Langchain 上的定义是,作为大语言模型最常用的场景就是问答系统,可以针对特别来源数据做问题回答,就是私有数据,这就是 RAG,英文全称是Retrieval Augmented Generation。就是对现有模型数据的增广,大语言模型都是在公众数据上训练,而且只是拿到了某一个时间点之前的数据。RAG 是数据增广,也可以说是数据过滤,按照今天大模型的发展,上下文的长度已经卷到200 万个汉字的无损上下文,那么 RAG 会不会以后就不需要了,每次对话都把文档带上,让我们拭目以待。

hawk2014bj的博客 5083

ENVI5.6 自动化流程:GF系列卫星影像批处理与质量优化

本文详细介绍了如何利用ENVI5.6构建针对GF-2、GF-6、GF-7系列卫星影像的自动化批处理流水线。通过配置Batch Processing工具,实现从正射校正到图像融合的全流程批量处理,并分享参数设置、质量监控与故障排查的实战经验,旨在显著提升海量遥感影像的处理效率与成果质量。

efc1234567的博客 603

直流电源EMI滤波器设计实战:从器件选型到PCB布局的完整指南

本文提供了一份直流电源EMI滤波器的完整实战设计指南。针对EMI噪声超标问题,文章深入剖析了差模与共模噪声的抑制原理,详细讲解了从电路拓扑、核心器件(如X/Y电容、共模电感)的选型计算,到决定性能成败的PCB布局艺术。重点强调了低阻抗路径、干净接地及输入输出隔离等关键布局原则,并分享了常见的调试坑点与排查方法,旨在帮助硬件工程师设计出真正有效的滤波器,确保电源系统通过EMC测试。

q9r0s的博客 641

本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测,大模型入门到精通,收藏这篇就足够了!

本文提供了一个详细操作指南,帮助用户使用Ollama本地部署最新的DeepSeek R1模型,并使用最新的XRAG1.0框架来构建RAG系统并评估你的本地RAG知识库系统。

2301_81888214的博客 637

Seurat 单细胞转录组测序数据分析教程(三)——python(scanpy)

文章参考至,做了一个更详细的解读。本教程探讨了 scanpy 的可视化可能性,分为三个部分:嵌入的散点图(例如 UMAP、t-SNE)使用已知标记基因鉴定簇差异表达基因的可视化在本教程中,我们将使用来自 10x 的数据集,其中包含来自PBMC的 68k 个细胞。Scanpy 在其分布中包括该数据集的简化样本,该数据集仅包含 700 个细胞和 765 个高度可变的基因。该数据集已经过预处理和 UMAP 计算。在本教程中,我们还将使用以下文献标记:B细胞:CD79A、MS4A1。

coffeeii的博客 5827

从零开始:三步搭建DeepSeek R1 + Ollama + XRAG本地部署RAG系统,实现全流自动化评测

具体来说,XRAG支持全面的RAG测评Benchmark与Toolkit,涵盖了50+以上的测试指标与RAG的全面评测与失败点优化,支持4类Advanced RAG模块( 查询重构, 先进检索, 问答模型, 后处理) 的对比, 并集成模块内的多种具体实现,支持OpenAI大模型 API。如何科学的评估RAG系统,对于RAG系统的性能优化至关重要。如上图所示,首先选择目前火热的deepseek-r1模型,由于是本地服务,这里选择最小的模型1.5b(如果资源足的小伙伴,也可以下载参数量多的版本)。

2401_84494441的博客 1416

新手必看:C#调用YOLO模型完成图片/视频目标检测(上位机版)

新手学习C#调用YOLO模型,核心是先把基础流程跑通,再逐步优化。图片检测是基础,视频检测就是在图片的基础上加循环和线程,而上位机的实际项目,就是在这个基础上适配工业硬件和业务需求。本文的代码都是新手能直接复制运行的,如果你运行时遇到问题,先检查前期准备是否到位,再看避坑指南。记住,新手别追求一步到位,先实现功能,再慢慢优化性能和界面。等你能熟练调用YOLO模型后,再去研究模型训练、量化优化等进阶内容,会轻松很多。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 984

ARFoundation系列讲解 - 手部跟踪编程

通过使用ARFoundation的手部跟踪子系统,我们可以轻松地在AR应用程序中实现与用户手部的交互。通过设置AR环境、创建场景和相机、添加手部跟踪功能以及编写相应的脚本,我们可以开始在AR场景中跟踪和操作用户的手部。在Unity中创建一个新场景,并将AR Session组件添加到场景中的一个空对象上。手部跟踪的具体实现可能因AR设备和平台的不同而有所差异,你可能需要根据你的使用情况进行一些适配和调整。当你将手部放入AR场景中时,手部跟踪系统将触发相应的事件,并调用脚本中的回调函数。

2301_79325339的博客 355

ChatOllama | 基于Ollama实现100%本地化RAG应用

RAG - 检索增强生成,是优化大型语言模型的输出的过程,使其在生成响应之前引用其训练数据源之外的权威知识库。大型语言模型(LLMs)在大量数据上进行训练,并使用数十亿个参数来为回答问题、翻译语言和完成句子等任务生成原始输出。

2301_81888214的博客 1875

机器人外接 USB 音响完整配置指南

摘要:本文介绍了为机器人配置外接音响的方法。由于内置音响音量小且有散热噪音,建议使用Type-C接口外接音响。配置步骤包括:1)通过aplay -l命令查看音响端口信息;2)使用aplay命令测试音频播放;3)通过amixer命令设置音量。关键点在于正确识别音响的卡号(如card 2)和设备号(如device 0),并在命令中准确配置这些参数即可实现外接音响的正常使用。

m0_47999117的博客 356

Ollama利用嵌入模型实现RAG应用

Ollama支持embedding models嵌入模型,从而支持RAG(retrieval augmented generation)应用,结合文本提示词,检索到文档或相关数据。嵌入模型是通过训练生成向量嵌入,这是一长串数字数组,代表文本序列的关联关系。Ollama的嵌入模型有三种:mxbai-embed-large、nomic-embed-text 、all-minilm。

小龙在线 1万+

外部PLC触发VisionMaster多流程运行

上一讲,介绍了海康VisionMaster与西门子PLC1200进行S7通信。在前一讲的基础上,讲解如何通过PLC触发,实现VisionMaster的多流程运行。

haier123888的博客 4652

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Elasticsearch:使用在本地计算机上运行的 LLM 以及 Ollama 和 Langchain 构建 RAG 应用程序

Ollama 是一个轻量级且灵活的框架,专为在个人计算机上本地部署 LLM 而设计。它通过直观的 API 简化了 LLMs 的开发、执行和管理,并提供了一系列预配置模型,可立即在各种应用程序中使用。其设计的核心是将模型权重、配置和数据捆绑到一个统一的包中,并封装在模型文件中。该框架具有一系列精选的预量化、优化模型,例如 Llama 2、Mistral 和 Gemma,可供部署。

Elastic 中国社区官方博客 4138

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用LlamaIndex,Qdrant,Ollama和FastAPI构建本地RAG api

互联网上有大量关于如何构建RAG管道的教程,问题在于,大多数都依赖于在线服务和云工具,特别是在生成部分,许多教程都主张使用OpenAI LLM API,不幸的是,这些API并不总是免费的,而且在处理敏感数据时可能不被认为是可信的。现在我们已经成功地将我们的数据(研究论文)加载到我们的向量存储(Qdrant)中,我们可以开始查询它以获取相关数据,以供我们的LLM使用。Llamaindex支持各种数据加载器,在我们的情况下,我们的数据将是一个文件夹中的一堆PDF,这意味着我们可以使用。对我们的数据进行分块。

myboyliu2007的专栏 3478

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用Ollama从头构建Embedding和RAG系统

检索增强生成(RAG)赋予大型语言模型新的能力,使其能够与任何大小的文档或数据集进行互动。接下来,请跟随我一起了解如何解析和操作文档,探讨如何利用嵌入向量来描述抽象概念,实现一种简单而强大的方法,以找出文档中与特定查询最相关的部分,并最终构建一个脚本,使本地托管的大型语言模型能够处理您自己的文档。

年少的勇气已经用完,剩下的就是三思而后行 7631

【LLM】五、open-webui+ollama搭建自己的RAG服务

往期文章中,已经讲解了如何用ollama部署本地模型,并通过open-webui来部署自己的聊天机器人,同时也简单介绍了RAG的工作流程,本篇文章将会基于之前的内容来搭建自己的RAG服务,正文开始。

qq_55068938的博客 2万+

北航团队发布XRAG-Ollama! 基于Ollama的XRAG本地化部署与实验基准框架:让你的RAG实验与分析更加简单

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

m0_59235699的博客 1402
上一篇: GraphRAG vs DeepSearch?GraphRAG 提出者给你答案
下一篇: dify案例分享-知识库检索整合Ragflow
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2826原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值