基于DeepSeek(本地部署)和RAGFlow构建个人知识库

总结自视频(很强的小姐姐视频,讲解清晰明了):【知识科普】【纯本地化搭建】【不本地也行】DeepSeek + RAGFlow 构建个人知识库_哔哩哔哩_bilibili

1. 背景

deepseek官方网页版也虽然很强,能够满足绝大部分需求,但是存在局限。

(1)隐私问题,企业内部资料不方便上传,需本地部署;

(2)需定制回答格式和内容;

(3)需定义输入,以此限定问答的情景环境,且不需要每次问答都要上传大量文件;

(4)大模型幻觉问题;

2. RAG技术

RAG模型通过结合检索和生成两种机制,能够有效提升模型在特定任务上的表现。其核心思想是利用外部知识库中的相关信息,增强生成过程。具体来说,RAG模型首先通过检索模块从大规模知识库中检索出与输入相关的文档,然后将这些文档与输入一起输入到生成模块中,生成最终的输出。 

3.  RAG和模型微调的区别

微调是把知识学进模型了,RAG是临场问答时查阅资料再回答问题(边考边抄)。

对比维度RAG模型微调
核心思想结合检索(如公司内部资料或者网上实时资料)和生成,动态从外部知识库获取信息。在预训练模型基础上,用任务数据调整参数以适应特定任务。
主要组件检索模块 + 生成模块。单一模型(如BERT、GPT)。
适用任务知识密集型任务(如开放域问答、对话生成)。特定任务(如文本分类、命名实体识别)。
优点动态获取知识,生成结果更准确、丰富。快速适应任务,数据效率高,计算成本低。
缺点依赖外部知识库,计算成本高,实时性受限。知识局限于预训练数据,无法动态获取新知识,可能过拟合。

4. 本地部署全流程

  • 下载ollama,使用ollamap平台下载deepseek模型并本地运行;
  • 下载RAGFlow源代码和Docker,通过Docker本地部署RAGFlow;
  • 在RAGFlow中构建个人知识库并搭建对话系统。

4.1 ollama

Ollama平台一个专注于本地化运行和微调大型语言模型(LLMs)的工具,旨在让用户能够在自己的设备上高效地部署和管理大模型,而无需依赖云端服务。

Ollama平台的功能包括:模型下载与管理;模型运行与交互;模型微调;性能优化。

4.1.1 下载并安装Ollama平台软件

4.1.2 配置两个环境变量

OLLAMA_HOST: 0.0.0.0:11434

  • 作用是让Docker虚拟机里面的RAGFlow能够访问本地的Ollama;
  • 如果配置后的虚拟机无法访问Ollama,可能是本地防火墙拦截了11434端口;
  • 不想直接暴露11434端口,也可以改用SSH端口转发来实现;

OLLAMA_MODELS: 自定义位置

  • 作用是ollama默认将模型下载在c盘,模型太大,需另存。

设置环境变量后,需重启电脑。

4.1.3 Ollama平台下载模型deepseek-r1: 1.5b

打开ollama平台网站:Ollama

 复制下载命令行。

cmd执行下载命令。下载速度好快~

到这一步,完成了deepseek本地部署

5. 通过docker本地部署RAGFlow

docker负责管理环境依赖,RAGFlow源码可以运行在此环境中。

5.1 下载RAGFlow和Docker

cmd执行命令:git clone https://github.com/infiniflow/ragflow.git

docker下载连接:Docker: Accelerated Container Application Development

5.2 安装docker

如何和电脑硬件不匹配,安装时会报如下错误。 

 安装docker过程中会提醒重启电脑,重启后继续安装docker。

在cmd输入docker,如果界面是如下,则说明docker安装成功。

5.3 安装RAGFlow

修改前面clone下来的ragflow工程docker环境文件,使其能够下载完整版ragflow(包含embedding模块)

注释84行,打开87行,如下。 

保存后,cmd进入到ragflow/docker工程目录下,利用提前编译好的 Docker 镜像启动服务器。

执行命令安装启动ragflow:docker compose -f docker-compose.yml up -d

解决上面的问题,重启docker。

cmd进入docker安装目录:C:\Program Files\Docker\Docker

执行重启命令:DockerCli.exe -SwitchDaemon

 

重启cmd,再次执行docker命令。

如果出现上面这些红色报错,则多次执行上面的docker命令:docker compose -f docker-compose.yml up -d

如何尝试了5次还是不行,则修改成国内docker镜像源。

打开docker-desktop软件,点击设置。 

添加国内镜像。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
     "https://docker.1ms.run"
  ]
}

停止所有正在运行的容器

docker compose -f docker-compose.yml down -v

重新启动容器

docker compose -f docker-compose.yml up -d 

 上面这四个依赖在缓慢下载中。(没使用VPN-,大概需要20分钟下载完毕)

docker-desktop中也出现了刚拉取下来的镜像环境

 执行成功后,下一次执行启动ragflow会很快。启动后默认是跑在localhost:80端口。进入页面。

注册登录ragflow。登陆后页面。

5.4 在RAGFlow构建个人知识库并实现对话问答

5.4.1 RAGFlow添加LLM模型

点击头像,找到模型提供商。

在模型提供商添加本地deepseek模型。

部署chat模型,不是embedding模型。查看本地模型名称。

ollama list

复制模型名称。

复制电脑ip地址。

 ollama默认监听端口号是11434。

5.4.2 RAGFlow系统模型设置

在ragflow系统设置设置刚才添加模型的其他参数。

因为我们下载是完整版的ragflow,自带了嵌入模型(large,中文)。

5.4.3 构建个人知识库

 添加后页面如下。

嵌入模型前面配置过了,这里还可以再改。解析方法可以选择解析简历、书籍、法律等,没啥特殊情况,可以简单选择general,其他参数是模型即可。

知识库建立好了。

添加知识库内的资料文档。并点击解析,解析会解析里面的文字,并通过embedding映射成高维向量。(这里资料文档是网上文档:员工手册(精简版)免费下载 - 人事星球,内部xxxx公司改成蟹宝王即可)。

5.4.4 构建定制助理

RAGFlow可以有很多知识库,知识库内有可以有很多很多知识文档,定制助理时可以有选择性的选取部分知识库作为参考资料。这样可以定制化助理的知识结构。

我这里前面只添加了一个知识库,所以只能选择一个知识库。 

 设置提示引擎(可以根据需求定制,这里使用默认设置)

回答的文本token数量可以设置大一点,不然回复字数太少。 

 构建助理成功,如下。

5.4.5 测试

新建聊天,进行测试。先声明知识库内的文档内容如下。看是否回答正确,助理会根据给她的知识库,并使用本地部署的deepseek-r1:1.5b模型,给出答案。

可以看到回复是完全正确的,并且会把引用标明出来, 推理和回复总时间是(5s左右,显卡是笔记本nvidia Quadro P620,非常低端)。

6. 只搭建个人知识库(不本地部署大模型)

即在线使用大模型。RAGFlow有自带的在线大模型。

接下来直接引用视频中小姐姐的话了。

“实现起来更简单,而且效果一般来说会更好。

步骤:

  1. 下载RAGFlow源代码和docker,通过docker本地部署RAGFlow(RAGFlow目前没有官方的网页版);
  2. 在RAGFlow中配置任意的Chat模型和Embedding模型(你需要到这些模型对应的官网去付费申请apiKey);

一般来说,直接使用在线模型肯定更简单,因为你不需要本地部署大模型了;然后直接使用企业的在线模型,性能肯定更优越,因为你在本地部署的模型参数量肯定没发跟人家比; 但是,使用在线模型,你无法保证数据的绝对隐私性,同时很多企业api虽然有免费额度,但是用着用着就会开始收费了。”

### 关于 Deepseek、Ollama Ragflow本地部署实施方案 #### Deepseek 本地部署概述 Deepseek 是一款专注于自然语言处理的知识库解决方案,支持高效的文档管理语义搜索功能。对于希望构建私有知识管理系统的用户来说,Deepseek 提供了一套完整的工具链来帮助完成从数据采集到索引建立再到最终查询服务的一系列操作[^1]。 为了在本地环境中安装配置 Deepseek: 1. **环境准备** - 安装 Docker 及其相关组件。 - 配置必要的网络设置以便容器间通信顺畅。 2. **拉取镜像与初始化数据库** 使用官方提供的命令下载最新版本的应用程序包,并按照指引创建初始结构化的存储空间用于保存后续导入的数据集。 3. **加载预训练模型** 根据具体应用场景选择合适的机器学习算法框架作为后台支撑力量,在此基础上加载已经过优化调整过的参数文件以加速新项目的开发周期。 4. **集成第三方API接口** 如果项目中有涉及到外部资源调用的需求,则可通过 RESTful 或 GraphQL 协议轻松对接各类公共服务平台所提供的 API 接口,从而扩展应用的功能边界。 5. **测试验证环节** 利用内置的压力测试工具模拟真实世界的并发访问情况,确保整个系统能够在高负载条件下稳定运行;同时也要注意定期备份重要资料以防意外丢失。 ```bash docker pull deepseek/latest docker run --name=deepseek-db -e POSTGRES_USER=user -e POSTGRES_PASSWORD=password -d postgres:latest ``` #### Ollama 本地部署指南 Ollama 致力于为企业提供一站式的AI驱动型知识管理系统,具备良好的可移植性灵活性特点。通过简单的几行脚本即可快速搭建起一套基于云原生架构设计的服务集群,满足不同规模企业内部协作交流过程中所产生的多样化诉求。 针对想要自行托管实例的情况而言: - 下载适用于目标操作系统类型的二进制执行文件; - 修改默认配置项中的监听地址端口号等基本信息; - 启动主进程之前先检查依赖关系是否齐全; - 访问浏览器输入指定URL路径查看图形界面版控制面板; - 导入样例工程熟悉基本的操作流程之后再逐步引入实际生产环境里的素材内容进行加工整理。 ```jsonnet { "api": { "listen_addr": ":8080", "max_body_size_mb": 10, ... }, } ``` #### Ragflow 本地部署说明 Ragflow 特别适合那些寻求高级定制选项技术深度的企业级客户群组,拥有出色的 RAG 引擎及工作流编排能力,可以应对更为复杂多变的任务场景要求[^2]。下面是一份简化后的部署手册摘要: ##### 准备阶段 - 确认硬件设施达标(CPU/GPU内存容量充足) - 获取授权许可密钥激活产品特性权限 - 设置 GitLab CI/CD 流水线自动化持续交付管道 ##### 执行步骤 - 构建基础镜像并推送至私有的 Harbor 私服仓库内待命 - 编写 Helm Chart 文件定义好各微服务之间的关联映射关系图谱 - 应用 YAML 清单描述符启动 K8S Pod 实例集合体形成分布式计算网格布局 - 登录 Web 控制台页面校验各项指标数值是否正常无误 ```shell helm install my-release ./ragflow-chart \ --set image.repository=my.harbor.repo/ragnaroek/ragflow-server \ --set image.tag=v1.0.0 \ -f values.yaml ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值