硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库

news2025/5/18 15:53:27

文章目录

  • 一、引言
  • 二、安装Ollama+部署DeepSeekR1
  • 三、安装Docker
  • 四、安装使用RAGFlow
    • 4.1 系统架构
    • 4.2 部署流程
    • 4.3 使用RAGFlow
    • 4.4 在RAGFlow中新增模型
    • 4.5 创建知识库
    • 4.6 创建私人助理使用RGA

一、引言

本地部署DeepSeek R1 + Ollama + RAGFlow构建个人知识库,通过将数据完全存储在本地硬盘,彻底杜绝隐私泄露风险,规避云端服务不稳定导致的延迟或中断问题;借助RAGFlow的自定义知识库能力,可精准解析专业文档(如法律、医疗资料),突破通用大模型的领域局限,实现高效检索与智能问答,打造安全、稳定且持续进化的专属知识中枢。

我们部署DeepSeekR1需要借助Ollama开源大模型平台,部署RAGFlow需要借助Docker来实现,整体流程:安装Ollama->部署DeepSeek R1模型->基于Docker部署RAGFlow->配置RAGFlow->知识库构建->问答测试

二、安装Ollama+部署DeepSeekR1

亲测有效!使用Ollama本地部署DeepSeekR1模型,指定目录安装并实现可视化聊天与接口调用:安装Ollama+部署DeepSeekR1
在完成Ollama与DeepSeek R1的本地部署后(部署流程详见以上文章),若需通过Docker容器化部署的RAGFlow集成该模型服务,需针对性调整Ollama的网络配置以打通容器间通信链路。Docker默认采用独立网络命名空间,容器内服务无法直接访问宿主机本地环回地址 (127.0.0.1)。当RAGFlow容器尝试连接宿主机Ollama服务时,需将Ollama的API端点暴露至容器可达的网络接口。
具体操作方法:
编辑系统环境变量->高级->环境变量->新建用户变量->变量名(OLLAMA_HOST) 变量值(:11434)->重启电脑
h环境变量

三、安装Docker

Docker官网:Docker
进入官网后选择Download for Windows -AMD64进行安装
安装Docker
在Windows系统上部署Docker(支持 Windows 10/11 专业版/企业版/教育版,家庭版需通过WSL2间接支持)
安装完毕Docker后选择Use advanced settings 使用高级设置,选择Update to the latest version of WSL 2 from Microsoft(Recommended - requires administrator passwod)从Microsoft更新到最新版本的WSL 2,点击Finish完成
配置Docker
如果安装成功后显示报错Docker Engine stopped...说明缺少wsl,此时会自动弹框提示我们安装适用于Linux的Windows子系统,安装一下就ok了。如果没有自动弹框,我们需要到Windows PoweShell中执行wsl --update命令来进行安装。

如果安装完wsl依旧报错,这个时候我们需要检查下报错内容看看是否打开了虚拟机,如果没有打开的话我们需要启用虚拟机平台,然后在BLOS中启用虚拟化,这个大家可以自行去网上来查相应的解决方案,这里也不在过多叙述了。

安装完成后我们需要配置一下Docker的镜像源来提高国内的下载速度 https://docker.1ms.run,这个镜像源可能会失效,如果大家有更好更快的镜像源可以自行配置
配置Docker镜像源

四、安装使用RAGFlow

RAGFlow开源代码:RAGFlow Github地址
RAGFlow 是一款基于 检索增强生成(Retrieval-Augmented Generation, RAG) 技术的开源框架,专注于构建企业级智能知识库与问答系统。它通过结合大语言模型(LLM)与结构化文档处理能力,实现从海量非结构化数据(如PDF、Word、扫描件等)中精准提取信息并生成专业回答,是当前私有化知识管理的先进工具。

4.1 系统架构

RAGFlow系统架构

图中组件功能解释
File用户上传的原始文件(如 PDF、Word、扫描件等),是系统的输入源。
Document Parser文档解析引擎,负责文件格式解析、OCR 识别、版式分析与结构化分块。
Documents解析后的结构化文档数据(分块文本、表格、图像等),存储于向量数据库中。
Task Dispatch任务调度器,管理文档处理、检索、生成等任务的队列与资源分配。
Tasks具体任务实例(如解析任务、检索任务、生成任务),由调度器分发执行。
Questions用户输入的自然语言问题,触发检索与生成流程。
LMs大语言模型(如 DeepSeek R1),负责根据检索结果生成最终答案。
Answer系统输出的结构化回答,结合检索内容与模型生成能力。

流程图

拆分解析任务
调用模型任务
用户上传文件 File
Document Parser 文档解析
Task Dispatch 任务调度
Tasks 解析子任务
生成结构化数据 Documents
向量数据库存储
用户提问 Questions
检索增强模块
Task Dispatch 任务调度
Tasks 生成子任务
LMs 大语言模型
生成最终答案 Answer

异步任务处理

并行分发
并行分发
TaskDispatch
解析任务
生成任务
OCR处理
表格提取
检索上下文
模型推理

4.2 部署流程

前提条件
CPU >= 4 核
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1

运行以下命令会自动下载 RAGFlow slim Docker 镜像 v0.16.0-slim。请参考下表查看不同 Docker 发行版的描述。如需下载不同于 v0.16.0-slim 的 Docker 镜像,请在运行 docker compose 启动服务之前先更新 docker/.env 文件内的 RAGFLOW_IMAGE 变量。比如,你可以通过设置 RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0 来下载 RAGFlow 镜像的 v0.16.0完整发行版。

$ cd ragflow-main
$ docker compose -f docker/docker-compose.yml up -d

Docker发行版描述
如果需要修改不同的发行版,可以进入到ragflow-main的docker文件夹中,然后修改.env文件
目录
默认的发行版是RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0,这个是精简版,仅包含核心运行依赖,如果我们想使用标准版的话可以把它注释掉,然后打开RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0 标准版的注释,标准版包含核心依赖以及开发调试工具
修改发行版
此时我们需要切换到ragflow-main目录,然后运行docker compose -f docker/docker-compose.yml up -d来安装Docker镜像,我们可能会在安装的过程中安装失败或者安装速度缓慢,此时我们需要配置Docker的镜像源,下面是RAGFlow提供的一些镜像源可供参考:(可能需要借助魔法,魔法需要大家自行解决)

  • 华为云镜像名:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow
  • 阿里云镜像名:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow

使用Docker安装

4.3 使用RAGFlow

RAGFlow安装完成后,默认端口是80,此时我们访问localhost如果能访问到登录页面就证明部署成功了,此时我们需要注册一个账号来进行登录
RAGFlow登录页面
进入到首页就是这个样子,此时我们需要添加并配置Ollama模型到RAGFlow中
RAGFlow首页

4.4 在RAGFlow中新增模型

第一步点击头像
第一步
第二步新增Ollama模型
选择模型提供商,然后选择添加Ollama模型,随后模型类型选择chat,模型名称就是你本地部署的DeepSeek的模型名称,我这里本地部署的是deepseek-r1:1.5b,如果不知道模型名称是什么的可以去DOS窗口去执行ollama list命令来进行查询,基础URL的话我们这个需要写http://host:port,host获取方式需要通过DOS窗口执行ipconfig命令去查询,端口号默认是11434,最大token数这里大家随意设置,token数取决于大模型输出内容的长度。最后点击确定。
新增LLM模型
查询本机ip地址
在查询ip地址
查询本地部署模型名称
查询模型名称
第三步:随后我们需要去配置系统模型,这里我们聊天模型选择deepseek-r1
系统模型设置

4.5 创建知识库

新增知识库
这里我们需要对自己的知识库新增文件后然后解析我们上传的知识库
创建知识库文件
知识库解析成功

4.6 创建私人助理使用RGA

这里我们需要设置助理的名称以及配置刚刚我们创建的知识库
新建助理

提示引擎
模型设置
我们这里可以看出它引用了我刚刚上传的知识库
进行对话

如果大家在部署的任何环节中出现问题的话可以在评论区中留言,或者可以添加下方的名片来咨询遇到的问题!感谢大家阅读,谢谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2305936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!

背景 为满足实验室横向项目需求,在2024年12月中下旬导师提出基于FPGA的NVMe SSD控制器研发项目。项目核心目标为:通过PCIe 3.0 x4接口实现单盘3000MB/s的持续读取速率。 实现过程 调研 花了半个月的时间查阅了一些使用FPGA实现NVME SSD控制器的论文、…

pytorch入门级项目--基于卷积神经网络的数字识别

文章目录 前言1.数据集的介绍2.数据集的准备3.数据集的加载4.自定义网络模型4.1卷积操作4.2池化操作4.3模型搭建 5.模型训练5.1选择损失函数和优化器5.2训练 6.模型的保存7.模型的验证结语 前言 本篇博客主要针对pytorch入门级的教程,实现了一个基于卷积神经网络&a…

yolov12部署(保姆级教程)

yolov12部署 戳链接访问原论文论文地址 戳链接访问原代码代码地址 直接把源代码以ZIP的形式下载到本地,然后解压用IDE打开就可以了(这一步比较简单不过多介绍) 在IDE中打开可以看见一个README.md文件,这里有我们将yolov12部署本…

五、Three.js顶点UV坐标、纹理贴图

一部分来自1. 创建纹理贴图 | Three.js中文网 ,一部分是自己的总结。 一、创建纹理贴图 注意:把一张图片贴在模型上就是纹理贴图 1、纹理加载器TextureLoader 注意:将图片加载到加载器中 通过纹理贴图加载器TextureLoader的load()方法加…

汽车零部件工厂如何通过ESD监控系统闸机提升产品质量

在汽车零部件工厂的生产过程中,静电带来的危害不容小觑。从精密的电子元件到复杂的机械部件,静电都可能成为影响产品质量的 “隐形杀手”。而 ESD 监控系统闸机的出现,为汽车零部件工厂解决静电问题、提升产品质量提供了关键的技术支持。 一、…

Pi币与XBIT:在去中心化交易所的崛起中重塑加密市场

在加密货币市场迅猛发展的背景下,Pi币和XBIT正在成为投资者关注的焦点。Pi币作为一项创新的数字货币,通过独特的挖矿机制和广泛的用户基础,迅速聚集了大量追随者,展示了强大的市场潜力。同时,币应XBIT去中心化交易所的…

【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)

本章将详细介绍四大主流金融数据源(Tushare、AkShare、Baostock、通联数据(DataAPI)),分析其特点与适用场景,并通过实战案例展示数据获取与处理的全流程。 👉 点击关注不迷路 👉 点击…

首次使用WordPress建站的经验分享(一)

之前用过几种内容管理系统(CMS),如:dedeCMS、phpCMS、aspCMS,主要是为了前端独立建站,达到预期的效果,还是需要一定的代码基础的,至少要有HTML、Css、Jquery基础。 据说WordPress 是全球最流行的内容管理系统CMS,从现在开始记录一下使用WordPress 独立建站的步骤 选购…

Mysql 主从集群同步延迟问题怎么解决

目录 前言: 复制过程分为几个步骤: 一、同步延迟的危害 二、同步延迟的常见原因 1. 主库写入压力过大 2. 网络传输瓶颈 3. 从库硬件性能不足 4. 配置参数不合理 5. 特殊操作影响 三、深度诊断方法 1. 查看同步状态 2. 性能分析工具 四、十大解…

Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果

目录 一、基本的后处理流程 - 以将画面转化为灰度图为例 1. C#调用shader 2. Shader实现效果 二、Bloom辉光效果 1. 主要变量 2. Shader效果 (1)提取较亮区域 - pass1 (2)高斯模糊 - pass2&3 (3&#xff…

三、《重学设计模式》-单例模式

单例模式 单例模式分为四大类,饿汉式、懒汉式、静态内部类、枚举 饿汉式 优点:类装载时进行实例化,避免同步问题 缺点:造成内存浪费 实现一 1.构造器私有化 2.内部创建对象实例 3.提供静态方法 public class Type1 {public s…

SpringBoot3整合Swagger3时出现Type javax.servlet.http.HttpServletRequest not present错误

目录 错误详情 错误原因 解决方法 引入依赖 修改配置信息 创建文件 访问 错误详情 错误原因 SpringBoot3和Swagger3版本不匹配 解决方法 使用springdoc替代springfox&#xff0c;具体步骤如下&#xff1a; 引入依赖 在pom.xml文件中添加如下依赖&#xff1a; <…

项目实战--网页五子棋(匹配模块)(4)

上期我们完成了游戏大厅的前端部分内容&#xff0c;今天我们实现后端部分内容 1. 维护在线用户 在用户登录成功后&#xff0c;我们可以维护好用户的websocket会话&#xff0c;把用户表示为在线状态&#xff0c;方便获取到用户的websocket会话 package org.ting.j20250110_g…

【Java毕业设计】商城购物系统(附源码+数据库脚本)

本系统是基于JavaEEServletJSPMysql实现的商城购物系统。包括用户登录、用户注册、商品分类、添加购物车、订单支付等基本功能&#xff0c;具体页面及功能如下&#xff1a; 感谢阅读&#xff01; 如需获取完整项目源码及更多项目信息&#xff0c;可添加V&#xff1a;

POST请求提交数据的三种方式及通过Postman实现

1、什么是POST请求&#xff1f; POST请求是HTPP协议中一种常用的请求方法&#xff0c;它的使用场景是向客户端向服务器提交数据&#xff0c;比如登录、注册、添加等场景。另一种常用的请求方法是GET&#xff0c;它的使用场景是向服务器获取数据。 2、POST请求提交数据的常见编…

Spring Boot 整合 Spring MVC /(整合Web)笔记

1. Spring Boot 整合 Web 功能 Spring Boot 通过自动配置简化了 Spring MVC 的集成。只需在 pom.xml 中添加 spring-boot-starter-web 依赖&#xff0c;Spring Boot 就会自动配置 Spring MVC 的相关组件。 <dependency><groupId>org.springframework.boot</gr…

[特殊字符]清华大学:DeepSeek从入门到精通.pdf(清华领航,驾驭DeepSeek,开启AI新境界)

不愧是清华大学出品的deepseek手册&#xff0c;简直是新手 福音&#xff0c;非常实用&#xff01; 这份《DeepSeek&#xff1a;从入门到精通》手册从基础到高 阶&#xff0c;手把手教你玩转DeepSeek&#xff0c;特别适合刚入门的小白&#xff0c;拿来就能用&#xff01; 1.Deep…

深度学习技术全景图:从基础架构到工业落地的超级进化指南

&#x1f50d; 目录导航 基础架构革命训练优化秘技未来战场前瞻 &#x1f9e9; 一、基础架构革命 1.1 前馈神经网络&#xff08;FNN&#xff09; ▍核心结构 import torch.nn as nnclass FNN(nn.Module):def __init__(self):super().__init__()self.fc1 nn.Linear(784, 25…

PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)

PyTorch-基础 环境准备 CUDA Toolkit安装&#xff08;核显跳过此步骤&#xff09; CUDA Toolkit是NVIDIA的开发工具&#xff0c;里面提供了各种工具、如编译器、调试器和库 首先通过NVIDIA控制面板查看本机显卡驱动对应的CUDA版本&#xff0c;如何去下载对应版本的Toolkit工…

IO/网络IO基础全览

目录 IO基础CPU与外设1. 程序控制IO&#xff08;轮询&#xff09;2. 中断中断相关知识中断分类中断处理过程中断隐指令 3. DMA&#xff08;Direct Memory Access&#xff09; 缓冲区用户空间和内核空间IO操作的拷贝概念传统IO操作的4次拷贝减少一个CPU拷贝的mmap内存映射文件(m…