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

news2025/3/5 3:30:14

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

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

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

相关文章

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

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

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

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

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

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

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

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

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…

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

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

[密码学实战]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,在那里您会发现大量令人眼花缭乱…

【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…