硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库
文章目录
- 一、引言
- 二、安装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)->重启电脑

三、安装Docker
Docker官网:Docker
进入官网后选择Download for Windows -AMD64进行安装

在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 Engine stopped...说明缺少wsl,此时会自动弹框提示我们安装适用于Linux的Windows子系统,安装一下就ok了。如果没有自动弹框,我们需要到Windows PoweShell中执行wsl --update命令来进行安装。
如果安装完wsl依旧报错,这个时候我们需要检查下报错内容看看是否打开了虚拟机,如果没有打开的话我们需要启用虚拟机平台,然后在BLOS中启用虚拟化,这个大家可以自行去网上来查相应的解决方案,这里也不在过多叙述了。
安装完成后我们需要配置一下Docker的镜像源来提高国内的下载速度 https://docker.1ms.run,这个镜像源可能会失效,如果大家有更好更快的镜像源可以自行配置

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

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

如果需要修改不同的发行版,可以进入到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

4.3 使用RAGFlow
RAGFlow安装完成后,默认端口是80,此时我们访问localhost如果能访问到登录页面就证明部署成功了,此时我们需要注册一个账号来进行登录

进入到首页就是这个样子,此时我们需要添加并配置Ollama模型到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数取决于大模型输出内容的长度。最后点击确定。

查询本机ip地址

查询本地部署模型名称

第三步:随后我们需要去配置系统模型,这里我们聊天模型选择deepseek-r1

4.5 创建知识库

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


4.6 创建私人助理使用RGA
这里我们需要设置助理的名称以及配置刚刚我们创建的知识库



我们这里可以看出它引用了我刚刚上传的知识库

如果大家在部署的任何环节中出现问题的话可以在评论区中留言,或者可以添加下方的名片来咨询遇到的问题!感谢大家阅读,谢谢!!!
相关文章:
硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库
文章目录 一、引言二、安装Ollama部署DeepSeekR1三、安装Docker四、安装使用RAGFlow4.1 系统架构4.2 部署流程4.3 使用RAGFlow4.4 在RAGFlow中新增模型4.5 创建知识库4.6 创建私人助理使用RGA 一、引言 本地部署DeepSeek R1 Ollama RAGFlow构建个人知识库,通过将…...
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
1.打开MySQL的官网,选择下载(Download) MySQL[这里是图片001]https://www.mysql.com/cn/ 2.往下划点击MySQL Community(GPL)Downloads 3.要下载MySQL的jar包的选择Connector/J 4.进入后,根据自己的需求选择相应的版本 5.下载完成后,进行解压…...
idea 2019.3常用插件
idea 2019.3常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2019.3常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl;”,键入一个字符,然后在Ace Jump…...
对CSS了解哪些?
CSS(Cascading Style Sheets,层叠样式表)是用来描述HTML文档外观和布局的语言。以下是对CSS的常见了解范围: 1. CSS 基础 选择器:如通用选择器 (*)、类型选择器、类选择器 (.class)、ID选择器 (#id)、后代选择器、伪类…...
TikTok账户安全指南:如何取消两步验证?
TikTok账户安全指南:如何取消两步验证? 在这个数字化的时代,保护我们的在线账户安全变得尤为重要。TikTok,作为全球流行的社交媒体平台,其账户安全更是不容忽视。两步验证作为一种增强账户安全性的措施,虽…...
从零到一:构建现代 React 应用的完整指南
1. create-react-app (CRA) 简介: create-react-app 是官方推荐的 React 项目脚手架工具,提供了一个开箱即用的开发环境,帮助开发者快速启动 React 应用。它会自动配置 Webpack、Babel、ESLint 等工具,让你专注于开发而不需要手动配置工具链。 特点: 零配置:CRA 自动配…...
【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
机器学习数学基础:28.卡方检验
卡方检验教程 一、引言 在统计学的广阔领域中,卡方检验(Chi - Square Test)宛如一把锐利的手术刀,能够精准剖析数据背后隐藏的关系与模式。它主要用于两大核心任务:一是深入分析两个及两个以上分类变量之间错综复杂的…...
【工具插件类教学】实现运行时2D物体交互的利器Runtime2DTransformInteractor
目录 编辑 1. 插件核心功能 1.1 基础变换操作 1.2 高级特性 2. 安装与配置 2.1 导入插件 2.2 配置控制器参数 2.3 为物体添加交互功能 3. 使用示例 3.1 基础操作演示 3.2 多选与批量操作 3.3 自定义光标与外观 4. 高级配置技巧 4.1 动态调整包围框控件尺寸 4.…...
回调处理器
文章目录 什么是回调处理器回调处理器的工作流程回调处理器的使用自定义链组件中的回调 内置回调处理器自定义回调处理器 在编程领域中,回调是一个非常重要的概念。简而言之,回调是一种特殊的函数或方法,它可以被传递给另一个函数作为参数&am…...
Redis-03高级篇中-多级缓存:
说明: 分布式缓存和多级缓存的视频,与springcloud高级篇redis的一模一样。这里就不在重复学习了,如果后面用到关于redis的配置,直接到springcloud模块安装的redis中学习即可。 多级缓存 0.学习目标 1.什么是多级缓存 传统的缓…...
Spring Boot ShardingJDBC分库分表(草稿)
ShardingJDBC分库分表 1.Maven 引用 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version></dependency><dependency><…...
Jenkins 环境搭建---基于 Docker
前期准备 提前安装jdk、maven、nodeJs(如果需要的话) 创建 jenkins 环境目录,用来当做挂载卷 /data/jenkins/ 一:拉取 Jenkins 镜像 docker pull jenkins/jenkins:lts 二:设置 Jenkins挂载目录 mkdir -p ~/jen…...
如何在自定义组件中使用v-model实现双向绑定
在 Vue 2 中,v-model 是双向数据绑定的语法糖,它默认将 value 作为 prop 传入组件,并通过监听 input 事件来更新父组件的数据。若要在自定义组件中实现 v-model 的双向绑定,需遵循以下步骤: 1. 基本实现:va…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_pool_t 类型
ngx_pool_t 定义在 src/core/ngx_core.h typedef struct ngx_pool_s ngx_pool_t; ngx_pool_s 定义在 src/core/ngx_palloc.h struct ngx_pool_s {ngx_pool_data_t d;size_t max;ngx_pool_t *current;ngx_chain_t *chain;ng…...
如何在 ubuntu 上使用 Clash 与 docker 开启代理拉起
如何在 ubuntu 上使用 Clash https://github.com/doreamon-design/clash/releases上面是clash 的地址 clash_2.0.24_linux_386.tar.gz 下载 386 的 如果你的电脑是inter tar -xzvf clash_2.0.24_linux_386.tar.gz 启动 ./clash 然后会在电脑上生成一个config的文件 /home/xxx/…...
linux tcpdump抓包
参数说明: -i 指定网卡 -w 指定保存文件 -s0 完整抓包 -G 指定间隔时长(秒) -C 指定每个文件大小(M) 用法1: 指定端口输出到指定文件 tcpdump -i em3 -w 182910.pcap 用法2: 指定端口每10分钟输出到不同文件 tcpdump -i em3 -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap 用法3: 指…...
PLSQL连接Oracle 19c报错ORA-28040
PLSQL连接Oracle 19c报错ORA-28040 原因解析解决办法原因解析 使用PLSQL Developer连接19c数据库报错: ORA-28040: No matching authentication protocol报错信息解析: [oracle@ora19c ~]$ oerr ora 2804028040, 0000, "No matching authentication protocol" /…...
汽车免拆诊断案例 | 2010 款路虎揽胜车空调偶尔出风异常
故障现象 一辆2010款路虎揽胜车,搭载5.0 L发动机,累计行驶里程约为16万km。车主反映,接通空调开关后,有时出风忽大忽小,有时不出风,有时要等2 min左右才出风;有时两三天出现一次,…...
音视频入门基础:RTP专题(9)——FFmpeg接收RTP流的原理和内部实现
一、引言 由《音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流》可以知道,推流端通过下面FFmpeg命令可以将一个媒体文件转推RTP,生成RTP流: ffmpeg -re -stream_loop -1 -i input.mp4 -vcodec cop…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
