保姆级教程:用DeepSeek + RAGFlow 构建你的个人智能知识库
一、引言:为什么需要私有化知识库?
当我们尝试用网页版DeepSeek处理敏感文档时,常常面临三大致命痛点:
⚠️ 网页版DeepSeek(或者其他LLM)的三大局限
隐私泄露风险:企业制度/个人资料上传第三方服务器,数据安全无法保障
文件操作枷锁:上传数量/大小受限,且修改删除极其不便
上下文失忆症:每次对话需重新上传附件,无法构建持久化知识体系
DeepSeek(国产开源大模型)和 RAGFlow(文档智能问答框架),搭建一个完全私有的个人知识库!
二、技术简介
1.GAR
- 核心:根据给定的问题,从知识库中检索出合适的参考内容,让大模型据此回答。
- 应用场景:AI客服、政策查询、AI搜索
- 原理流程:

2.RAGFlow
RAGFlow 是一款基于 RAG 技术的开源文档问答系统。它支持多种格式文档解析(如 Word、PDF、表格等),并提供精准的文本切片与检索能力。结合深度神经网络模型,RAGFlow 可快速定位并提取关键信息,用于生成高质量答案。其具备可视化知识库管理、支持多用户协作等特性,极大降低了构建知识助手系统的门槛。
3.Embedding model
Embedding(嵌入)模型在 RAG 系统中扮演着至关重要的角色,其核心功能是将文本转换为机器可理解的高维数值向量,同时保留语义层面的关联信息。正是通过这一过程,非结构化的自然语言文本得以转化为可计算、可检索的结构化形式。
为什么要使用 Embedding 模型?
即使已经使用了 DeepSeek 和 RAGFlow,Embedding 模型仍是不可或缺的一环,主要原因包括:
- 语义理解与检索基础:Embedding 模型能够捕捉文本的语义信息,
将含义相近的句子或短语映射到向量空间中相邻的位置。这使得系统能够基于语义(而不仅仅是关键词)进行检索,极大提升了问答的准确性和相关性。 - 流程中的关键作用:
-
知识库处理:在上传本地文档(如 PDF、Word 等)后,Embedding 模型会对文本进行解析和切片,并为每一段文本生成对应的向量表示,存储到向量数据库中。
-
查询处理:当用户提出问题时,同一个 Embedding 模型会将问题也转换为向量。
-
语义匹配:系统通过
计算查询向量与知识库中所有文本向量的相似度(如使用余弦相似度),快速找出最相关的文本片段,作为生成答案的依据。
Embedding 模型 vs. 聊天模型
-
Chat 模型(如 DeepSeek):主要用于对话和文本生成,根据上下文输出连贯、合理的回答。
-
Embedding 模型:不生成文本,而是将文本转换为向量,承担
检索阶段的核心计算任务。两者各司其职,共同构建起高效可靠的 RAG 系统。
三、为什么选择RAG技术?RAG和模型微调的区别
面对大模型的"幻觉问题"(虚构不存在的知识),我们需要两种核心技术:微调 vs RAG
| 方式 | 原理比喻 | 特点 | 适用场景 |
|---|---|---|---|
| 微调 | 考前复习 | 用领域数据重新训练模型参数 | 固定知识体系 |
| RAG | 考试带小抄 | 实时检索外部知识库辅助生成 | 动态个人/企业知识库 |
四、搭建步骤(私有化)
本方案通过三阶段实现完全离线的知识库系统:
1. Ollama本地化部署(DeepSeek + Embedding模型)
实现完全离线的文档解析与推理能力,需部署两类模型:
DeepSeek生成模型:文本推理 + Embedding模型:文本向量化
-
Ollama平台安装 Ollama官网
作用:用于本地运行和管理大语言模型(LLM)的工具 -
关键环境变量配置
OLLAMA_HOST=0.0.0.0:11434(默认绑定11434端口) -
让虚拟机里的RAGFlow能够访问到本机上的 Ollama
-
如果配置后虚拟机无法访问,可能是你的本机防火墙拦截了端口11434
-
更新完环境变量需重启
OLLAMA_MODELS-自定义位置
Ollama 默认会把模型下载到C盘,如果希望下载到其他盘需要进行配置;

-
模型下载与加载
ollama run deepseek-r1:1.5b

模型下载成功!

-
部署验证
# 检查运行中模型:ollama list
2. RAGFlow私有化部署
-
获取RAGFlow源码 Github
-
将轻量版镜像设置为完整版RAGFlow镜像
解压源代码 — 进入ragflow-main\docker目录,找到.env文件

-
下载安装docker Docker
-
下载安装WSL 2
-
步骤一:以管理员身份打开 PowerShell 或命令提示符
-
步骤二:执行一站式安装命令
在打开的管理员终端中,输入以下命令并回车:
wsl --install
自动启用所需的 Windows 功能(“适用于 Linux 的 Windows 子系统”和“虚拟机平台”)。
自动下载并安装最新的 WSL 2 Linux 内核更新包。
自动下载并安装一个默认的 Linux 发行版(默认就是 Ubuntu)。
- 步骤三:设置 Ubuntu 用户账
安装完成后,它会提示你为即将创建的 Ubuntu 系统设置一个用户名和密码。
进入RAGFlow源码的 ragflow/docker目录,在命令提示符窗口(CMD)运行指令:
# Use CPU for embedding and DeepDoc tasks:
$ docker compose -f docker-compose.yml up -d
# To use GPU to accelerate embedding and DeepDoc tasks:
# docker compose -f docker-compose-gpu.yml up -d
以后台模式启动 docker-compose.yml 文件中定义的所有容器服务。


- 访问RagFlow:Web界面与功能验证
Docker启动后,在浏览器输入 localhost:80来访问RAGFlow,出现以下界面:

RAGFlow部署成功!
3. 知识库构建与问答

-
通过Docker启动RAGFlow后,在浏览器访问
localhost:80,并注册-登录RAGFlow

-
在 模型提供商中添加本地部署的
deepseek模型


-
在系统模型设置中配置
Chat模型和Embedding模型(RAGFlow自带的)

-
创建知识库,上传文件并解析
新建知识库

上传文件

解析文件

-
配置聊天助手(注意prompt和tokens的配置)
助理设置

提示引擎

模型设置

-
智能问答
聊天 — 新建助手 — 助手设置 — 开启对话

五、常见问题
1. 下载后点击Docker Desktop Installer.exe,安装Docker报错

原因:为什么Docker无法直接在Windows上运行?
Docker 并不是一个通用的跨平台容器工具,它的核心功能依赖于Linux内核。在 Windows 上运行Docker,本质上是在一个虚拟化的Linux环境中运行容器。因此,直接安装Docker Desktop时,可能会遇到兼容性错误。
解决方案:安装 WSL 2
由于 Docker 需要 Linux 内核,而 Windows 本身不具备,因此我们需要 WSL 2(Windows Subsystem for Linux 2)来提供一个轻量级的 Linux 兼容层。
- 步骤 1:启用 WSL 2
以管理员身份打开 PowerShell,然后输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
命令成功执行后,重启电脑。
再次以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
命令成功执行后,重启电脑。
- 步骤 2:设置 WSL 2 为默认版本
wsl --set-default-version 2
2. pull镜像 报错 failed to copy: httpReadSeeker: failed open: … EOF

原因: Docker 在下载镜像时遇到了 Cloudflare CDN 连接问题,通常是由于网络不稳定或防火墙限制导致的。
解决方案:
- 步骤一: 修改 Docker Desktop 网络配置
- 右键点击系统托盘中的 Docker 图标 → 选择 “设置”
- 转到 “Docker Engine” 标签
- 在 JSON 配置中替换以下内容:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"dns": ["8.8.8.8", "114.114.114.114"],
"registry-mirrors": [
"https://docker.1ms.run",
"https://dockerproxy.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"features": {
"buildkit": true
},
"mtu": 1400,
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
| 配置项 | 值 | 作用 |
|---|---|---|
| dns | [“8.8.8.8”, “114.114.114.114”] | 解决 DNS 解析问题(Google + 国内公共 DNS) |
| registry-mirrors | 三个国内镜像加速地址 | 绕过 Cloudflare CDN,加速镜像下载 |
| features.buildkit | true | 启用新一代构建引擎提升稳定性 |
| mtu | 1400 | 优化 Windows 虚拟网络传输效率 |
| log-driver | json-file | 日志格式 |
| log-opts | {“max-size”:“10m”,“max-file”:“3”} | 限制日志大小防止磁盘爆满 |
备选镜像加速方案:如果上述镜像源不稳定,可替换为:
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn"
]
- 点击 “Apply & Restart” 保存并重启 Docker
💡 这是解决 Cloudflare CDN 连接问题的关键步骤!
- 执行清理命令
在 管理员权限的 PowerShell 中执行:
# 清理所有缓存
docker system prune -af
docker volume prune -f
# 重启 WSL2 网络(关键步骤)
wsl --shutdown
3. RAGFlow 解析文档卡住
问题:RAGFlow 成功启动,但是解析文件的时候,进度不动。

原因:部署环境因为网络无法访问 huggingface.co ,导致本地模型无法下载
解决方案:需要在启动镜像前,在.env文件中,使用镜像地址:把下面这行注释关闭
# Uncomment the following line if you have limited access to huggingface.co:
HF_ENDPOINT=https://hf-mirror.com
# Optimizations for MacOS
# Uncomment the following line if your OS is MacOS:
# MACOS=1
重启Docker!

文件快速解析成功!
4. 对话报错[Errno 111] Connection refused

原因:由于宿主机内存资源不足,导致 Elasticsearch 等内存密集型服务无法正常启动,进而表现为连接失败。例如,在总计 16GB 内存的系统中,若仅为 Docker 分配 7.5GB 内存,可能无法满足 Elasticsearch 运行的基本需求,引发此类错误。
解决方案:通过调整 Windows 系统中 WSL2 的内存分配配置,可为 Docker 提供更多可用资源,具体步骤如下:
- 步骤一:修改 WSL2 内存配置
- 使用快捷键 Win + R 打开“运行”窗口,输入 %UserProfile% 进入用户文件夹。
- 在该文件夹下创建名为 .wslconfig 的配置文件(若已存在请直接编辑),内容如下:
[wsl2]
memory=16GB # 建议分配内存不超过宿主机的实际物理内存
processors=12 # 可根据 CPU 实际核心数调整(含超线程核心)
swap=0
localhostForwarding=true
- 重启 WSL 和 Docker
- 完全退出 Docker Desktop,并通过任务管理器确保无相关后台进程残留。
- 打开命令提示符(cmd),执行以下命令关闭 WSL2:
wsl --shutdown
- 重新启动 Docker Desktop,并尝试重新运行容器中的服务。

完成上述操作后,再次访问服务RAGflow即可正常连接。建议根据实际物理资源情况合理调整内存分配参数,避免过度占用系统资源。
结语
🚀 通过 DeepSeek-R1 + RAGFlow,不仅能拥有一个超强的个人知识管家,还能避免敏感数据上传第三方平台。无论是技术文档、学习笔记还是企业知识库,都能轻松搞定!
📚 参考资料
- 参考视频: 【知识科普】【纯本地化搭建】【不本地也行】DeepSeek + RAGFlow 构建个人知识库_哔哩哔哩_bilibili
- RAGFlow解析文件卡住: CSDN
- 对话报错[Errno 111] Connection refused: CSDN
- Windows环境下docker desktop修改最大内存: 简书
更多推荐

所有评论(0)