当前位置: 首页 > article >正文

在笔记本电脑上用DeepSeek搭建个人知识库

最近DeepSeek爆火,试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下,在笔记本电脑上部署DeepSeek并使用开源工具搭建一套知识库,实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共享出来,供大家参考。

部署环境

笔记本电脑,具体配置如下:

处理器:Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz   2.30 GHz

内存:16G

硬盘:500G

显卡:集成显卡

操作系统:Windows 11

软件清单

构建本地知识库,除了DeepSeek还需要安装知识库软件。网上推荐比较多的是RagFlow,软件开源,功能也很强大,可以使用本地文档构建外挂知识库。另外,同时也安装了Cherry Studio,可以作为操作DeepSeek的交互工具。

软件功能版本依赖工具
DeepSeekLLM模型,主要用于自然语言理解和推理deepseek-r1:7bOllama
Cherry Studio一款强大的多模型 AI 助手,可用于DeepSeek的人机交互最新版就好
BGE通用向量模型,用于知识库中文档检索bge-m3:latest
RAGFlow知识库构建工具最新版就好

Docker

Git

安装DeepSeek

从官网下载并安装Ollama,过程略。可参考 https://ollama.com/

安装完毕后,执行命令:

ollama run deepseek-r1:7b

安装成功后,就可以在命令行里操作deepseek了。

操作很简单。至此,deepseek就安装完毕。

安装Cherry Studio

如果不习惯使用命令行,希望使用客户端与本地安装的deepseek交互,可以安装一个对话界面软件,我试用了Chatbox和Cherry Studio都不错,可以更直观地调整模型的参数和提示词,同时也支持将对话内容完全存档在本地,本文以Cherry Studio为例。

前往https://cherry-ai.com/,根据你的操作系统(支持 Windows、Mac 和 Linux)下载对应的安装包。默认下一步安装完毕就好。

启动Cherry Studio,添加嵌入模型。

在模型服务中选择Ollama

点击“管理”进行模型选择,从模型列表中选择与你本地部署的 DeepSeek-R1 模型版本对应的选项,如果没有直接匹配项,选择支持自定义模型配置的入口。

在“API地址”中,将 API 地址设置为http://localhost:11434 ,这是 Ollama 服务的默认接口地址,确保 Cherry Studio 能连接到本地运行的 DeepSeek-R1 模型。

保存后,就可以创建助手与本地deepseek进行对话了。

安装RAGFlow

RAGFlow使用Docker部署运行,因此需要先在电脑上部署Docker环境。同时本文采用从GitHub仓库直接拉取镜像部署的方式,因此也需要提前安装Git。

可访问官方 GitHub 仓库的 README 页面拉取镜像,并按照文档中的指引安装部署:https://github.com/infiniflow/ragflow/blob/main/README_zh.md

如果遇到问题,可访问网络上部署 RAGFlow 的踩坑帖子,如:https://blog.csdn.net/gr1785/article/details/145543754?spm=1001.2014.3001.5502

如果电脑没装Docker,可以参考Windows | Docker Docs 自行安装,本文使用WSL。

安装完毕后,要记得启动“Docker Desktop”,否则后面执行docker命令时会报错。

如果电脑没装Git,可以从Git - Downloading Package下载安装文件进行安装。

安装完毕后,进入命令行,将RAGFlow工程Clone到本地文件夹下。

$ git clone https://github.com/infiniflow/ragflow.git

进入 docker 文件夹

$ cd ragflow/docker 

利用提前编译好的 Docker 镜像启动服务器:

运行以下命令会自动下载 RAGFlow slim Docker 镜像 v0.16.0-slim。

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

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

如果遇到 Docker 镜像拉不下来的问题,可以在 docker/.env 文件内根据变量  RAGFLOW_IMAGE  的注释提示选择华为云的相应镜像。

华为云镜像名:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow

运行成功后,打开浏览器,登录localhost进入RAGFlow页面。注册账号后,就可以登录使用了。

设置知识库

使用RAGFlow设置知识库,首先要在“模型提供商”中添加模型。必须要添加的有两个模型,一个是LLM模型,使用DeepSeek;另一个是嵌入模型,使用bge-m3。

在“待添加的模型”列表中选择“Ollama”,添加LLM.

“最大token数”可以通过如下命令获取后填入。

ollama show deepseek-r1:7b

“基础Url”需要注意如果填写“http://localhost:11434”,会遇到“[Errno 111] Connection refused”的异常。原因是Docker中的程序访问不到本机的11434端口,可以参考

[Question]: Fail to access model(deepseek-r1:8b).**ERROR**: [Errno 111] Connection refused因此,此处要注意“基础Url”处填写:

 http://host.docker.internal:11434 

添加嵌入模型前,首先使用Ollama 安装bge-m3

ollama pull bge-m3

然后配置嵌入模型。

模型添加成功后,进入“系统模型设置”,选择添加的模型。

然后就可以创建知识库了。

在知识库设置中修改语言、权限、嵌入模型。

在“数据集”中上传所需的文档。

上传成功后,选择文档进行“解析”。

上传了几个PDF文档,解析的效果还不错。解析分段如果有不准确的地方,可以人工修正。

数据集准备就绪后,就可以“新建助理”,然后问问题了。

相比于互联网模型,个人知识库会从结合本地文档训练的数据集进行分析,更加符合个人专业诉求。

总结

DeepSeek确实很香,搭配开源工具不花一分钱就搭建了一个定制化的知识库。从回答的逻辑和文档解析的效果看,都很不错。当然,本案例个人尝鲜可以,作企业商用还不行,抛开企业定制化和运维需求之外,主要问题有两个:

1. 个人笔记本的配置部署7b小模型已经是极限了,使用Cherry Studio做问答速度还可以。但使用RAGFlow做的个人知识库做问答,确实慢的要死。正式使用或企业商用,还是需要试用商用推荐配置。

2. 数据集质量极大影响知识库问答效果,因此高价值的原始数据以及对原始数据的解析整理十分重要。现在工具能力相当不错了,但数据工程将是企业数据库构建的主要挑战。

相关文章:

在笔记本电脑上用DeepSeek搭建个人知识库

最近DeepSeek爆火,试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下,在笔记本电脑上部署DeepSeek并使用开源工具搭建一套知识库,实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共…...

Java面试第七山!《MySQL索引》

一、索引的本质与作用 索引是帮助MySQL高效获取数据的数据结构,类似于书籍的目录。它通过减少磁盘I/O次数(即减少数据扫描量)来加速查询,尤其在百万级数据场景下,索引可将查询效率提升数十倍。 核心作用:…...

DeepSeek 助力 Vue3 开发:打造丝滑的弹性布局(Flexbox)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

大白话跨域问题的原理与多种解决方法的实现

大白话跨域问题的原理与多种解决方法的实现 跨域问题原理 简单来说,当一个网页中的JavaScript代码想要去访问另一个不同域名、端口或协议的服务器上的数据时,就会出现跨域问题。这是浏览器的一种安全机制,为了防止恶意网站窃取用户信息等。…...

el-table input textarea 文本域 自适应高度,切换分页滚动失效处理办法

场景: el-table 表格 需要 input类型是 textarea 高度是自适应,第一页数据都是单行数据 不会产生滚动条,但是第二页数据是多行数据 会产生滚动条, bug: 第一页切换到第二页 第二页滚动条无法展示 解决办法:直接修改样…...

动态表头报表的绘制与导出

目录 一、效果图 二、整体思路 三、代码区 一、效果图 根据选择的日期范围动态生成表头(eg:2025.2.24--2025.03.03)每个日期又分为白班、夜班;数据列表中对产线合并单元格。支持按原格式导出对应的报表excel。 点击空白区可新…...

DeepSeek 助力 Vue3 开发:打造丝滑的密码输入框(Password Input)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

【解决】OnTriggerEnter/OnTriggerExit 调用匿名委托误区的问题

开发平台:Unity 开发语言:CSharp 6.0 开发工具:Visual Studio 2022   问题背景 public void OnTriggerEnter(Collider collider) {output.OnInteractionNoticed () > OnInteractionTriggered?.Invoke(); }public void OnTriggerExit(C…...

Linux 基础---文件权限

概念 文件权限是针对文件所有者、文件所属组、其他人这三类人而言的,对应的操作是chmod。设置方式:文字设定法、数字设定法。 文字设定法:r,w,x,- 来描述用户对文件的操作权限数字设定法:0,1,2,3,4,5,6,7 来描述用户对文件的操作…...

SpringBoot五:JSR303校验

精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 松散绑定 意思是比如在yaml中写的是last-name,这个和lastName意思是一样的,-后的字母默认是大写的 JSR303校验 就是可以在字段增加…...

【计算机网络】考研复试高频知识点总结

文章目录 一、基础概念1、计算机⽹络的定义2、计算机⽹络的目标3、计算机⽹络的组成4、计算机⽹络的分类5、计算机⽹络的拓扑结构6、计算机⽹络的协议7、计算机⽹络的分层结构8、OSI 参考模型9、TCP/IP 参考模型10、五层协议体系结构 二、物理层1、物理层的功能2、传输媒体3、 …...

Error Density-dependent Empirical Risk Minimization

经验误差密度依赖的风险最小化 v.s. 经验风险最小化 论文: 《 Error Density-dependent Empirical Risk Minimization》 发表在: ESWA’24 相关代码: github.com/zxlml/EDERM 研究背景 传统的经验风险最小化(ERM)方…...

02_NLP文本预处理之文本张量表示法

文本张量表示法 概念 将文本使用张量进行表示,一般将词汇表示为向量,称为词向量,再由各个词向量按顺序组成矩阵形成文本表示 例如: ["人生", "该", "如何", "起头"]># 每个词对应矩阵中的一个向量 [[1.32, 4,32, 0,32, 5.2],[3…...

Spring Boot全局异常处理:“危机公关”团队

目录 一、全局异常处理的作用二、Spring Boot 实现全局异常处理(附上代码实例)三、总结: 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢&#x1…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_list_init

ngx_list_init 定义在 src\core\ngx_list.h static ngx_inline ngx_int_t ngx_list_init(ngx_list_t *list, ngx_pool_t *pool, ngx_uint_t n, size_t size) {list->part.elts ngx_palloc(pool, n * size);if (list->part.elts NULL) {return NGX_ERROR;}list->par…...

C# OnnxRuntime部署DAMO-YOLO香烟检测

目录 说明 效果 模型信息 项目 代码 下载 参考 说明 效果 模型信息 Model Properties ------------------------- --------------------------------------------------------------- Inputs ------------------------- name:input tensor:Floa…...

GitHub开源协议选择指南:如何为你的项目找到最佳“许可证”?

引言 当你站在GitHub仓库创建的十字路口时,是否曾被众多开源协议晃花了眼? 别担心!这篇指南将化身你的"协议导航仪",用一张流程图五个灵魂拷问,帮你轻松找到最佳选择。无论你是开发者、开源爱好者&#xff…...

[密码学实战]Java生成SM2根证书及用户证书

前言 在国密算法体系中,SM2是基于椭圆曲线密码(ECC)的非对称加密算法,广泛应用于数字证书、签名验签等场景。本文将结合代码实现,详细讲解如何通过Java生成SM2根证书及用户证书,并深入分析其核心原理。 一、证书验证 1.代码运行结果 2.根证书验证 3.用户证书验证 二、…...

安装 cnpm 出现 Unsupported URL Type “npm:“: npm:string-width@^4.2.0

Unsupported URL Type "npm:": npm:string-width^4.2.0 可能是 node 版本太低了,需要安装低版本的 cnpm 试试 npm cache clean --force npm config set strict-ssl false npm install -g cnpm --registryhttps://registry.npmmirror.com 改为 npm insta…...

探秘基带算法:从原理到5G时代的通信变革【九】QPSK调制/解调

文章目录 2.8 QPSK 调制 / 解调简介QPSK 发射机的实现与原理QPSK 接收机的实现与原理QPSK 性能仿真QPSK 变体分析 本博客为系列博客,主要讲解各基带算法的原理与应用,包括:viterbi解码、Turbo编解码、Polar编解码、CORDIC算法、CRC校验、FFT/…...

四、数据存储

在爬虫项目中,我们需要将目标站点数据进行持久化保存,一般数据保存的方式有两种: 文件保存数据库保存 在数据保存的过程中需要对数据完成去重操作,所有需要使用 redis 中的 set 数据类型完成去重。 1.CSV文件存储 1.1 什么是c…...

C# OnnxRuntime部署DAMO-YOLO人头检测

目录 说明 效果 模型信息 项目 代码 下载 参考 说明 效果 模型信息 Model Properties ------------------------- --------------------------------------------------------------- Inputs ------------------------- name:input tensor:Floa…...

Metal学习笔记七:片元函数

知道如何通过将顶点数据发送到 vertex 函数来渲染三角形、线条和点是一项非常巧妙的技能 — 尤其是因为您能够使用简单的单行片段函数为形状着色。但是,片段着色器能够执行更多操作。 ➤ 打开网站 https://shadertoy.com,在那里您会发现大量令人眼花缭乱…...

《一个端粒到端粒的参考基因组为木瓜中五环三萜类化合物生物合成提供了遗传学见解》

A telomere-to-telomere reference genome provides genetic insight into the pentacyclic triterpenoid biosynthesis in Chaenomeles speciosa Amplification of transposable elements 转座元件的扩增 Sequence mining disclosed that TEs were one main event in the ex…...

【Mac】2025-MacOS系统下常用的开发环境配置

早期版本的一个环境搭建参考 1、brew Mac自带终端运行: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Installation successful!成功后运行三行命令后更新环境(xxx是mac的username&a…...

蓝桥杯web第三天

展开扇子题目, #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子,子元素旋转 webkit display: -webkit-box:将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical:设置伸缩盒子的子元素排列方…...

Qt基础入门-详解

前言 qt之路正式开启 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢迎大家点赞&#x1f44…...

FPGA开发,使用Deepseek V3还是R1(3):系统级与RTL级

以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…...

移动端国际化翻译同步解决方案-V3

1.前言 因为软件出海,从在上上家公司就开始做翻译系统,到目前为止已经出了两个比较大的版本了,各个版本解决的痛点如下: V1版本: 主要针对的是AndroidiOS翻译不一致和翻译内容管理麻烦的问题,通过这个工具…...

多空狙击线-新指标-图文教程,多空分界买点以及强弱操盘技术教程,通达信炒股软件指标

“多空狙击线”指标 “多空狙击线”特色指标是量能型技术指标,主要用于分析股票市场中机构做多/做空力量的强程度。该指标的构成、定义与原理如下: “多空狙击线”指标,又称机构做多/做空能量线,通过计算和分析股票市场中机构做多/做空力量…...