在笔记本电脑上用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的交互工具。
软件 | 功能 | 版本 | 依赖工具 |
DeepSeek | LLM模型,主要用于自然语言理解和推理 | deepseek-r1:7b | Ollama |
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并使用开源工具搭建一套知识库,实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共…...

leetcode 94. 二叉树的中序遍历
题目如下 做了那么多道难题,给自己放放松。通过代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int …...
YOLOv12:目标检测新时代的破局者
目录 一、YOLOv12 横空出世二、YOLOv12 的性能飞跃2.1 多规模优势2.2 对比超越 三、技术创新与原理剖析3.1 区域注意力模块(Area Attention,A2)3.2 残差高效层聚合网络(R-ELAN)3.3 架构优化细节 四、实验验证与结果分析…...

基于OFDR的层压陆相页岩油储层中非对称裂缝群传播的分布式光纤监测
关键词:OFDR、分布式光纤传感、裂缝传播 一. 概述 四川盆地凉高山组优质页岩油储层存在复杂的垂直重叠岩性,大陆页岩油储层存在发育层理,薄层和天然裂缝,对水平井多级压裂技术的裂缝网络形态控制和监测构成挑战。本研究提出了一…...

Linux虚拟机网络配置-桥接网络配置
简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络,以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络,从而可以被分配一个独立的IP地址,并能够与网络中的其他设…...

软开经验总结
文章目录 软开经验总结一、二次开发时候操作步骤二、logger的作用!!!三、git使用 软开经验总结 一、二次开发时候操作步骤 改 SDK 和 language level改 maven 配置改数据库 注意Mysql 版本 差别是否过大!!࿰…...

关于虚拟环境中遇到的bug
conda和cmd介绍 介绍 Conda 概述: Conda是一个开源包管理系统和环境管理系统,尤其适用于Python和R语言的开发环境。它允许用户创建独立的虚拟环境,方便地管理依赖包和软件版本。 特点: 环境管理:可以创建、导入、导…...
C 语言在微软平台:经典与创新的交融
在编程语言的璀璨星空中,C 语言犹如一颗耀眼的恒星,散发着永恒的光芒。当这颗恒星与微软强大的平台相互辉映时,更是碰撞出了绚丽多彩的火花,构建起了一个充满无限可能的编程世界。 C 语言与微软平台的深厚渊源 C 语言诞生于 20 …...
大数据测试中,数据仓库表类型有哪些?
本文我们一起了解一下数据仓库测试的对象,直白一点讲就是一张表,这张表分为以下几种类型: 全量表:没有分区的表,数据全量更新或者增量合并,我们通常理解就是把这些数据放到了一个文件夹里面。这样会有什么…...

基于开源库编写MQTT通讯
目录 1. MQTT是什么?2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么? MQTT(Message Queuing Terlemetry Transport)消息队列遥测协议;是…...
Kafka Connect连接器的全生命周期:
以下是基于Vue和PySide2的两种图形化界面设计方案,用于管理Kafka Connect连接器的全生命周期: 方案一:Vue3 Web管理平台 技术栈 - 前端:Vue3 + Element Plus + ECharts - 通信:Axios + WebSocket - 安全:JWT + HTTPS - 打包:Vite + Docker核心功能模块 <!-- 连接器…...

磁盘空间不足|如何安全清理以释放磁盘空间(开源+节流)
背景: 最近往数据库里存的东西有点多,磁盘不够用 查看磁盘使用情况 df -h /dev/sda5(根目录 /) 已使用 92% 咱们来开源节流 目录 背景: 一、开源 二、节流 1.查找 大于 500MB 的文件: 1. Snap 缓存…...
DeepSeek vs Grok vs ChatGPT:大模型三强争霸,谁将引领AI未来?
DeepSeek vs. Grok vs. ChatGPT:大模型三强争霸,谁将引领AI未来? 在人工智能领域,生成式模型的竞争已进入白热化阶段。DeepSeek、Grok和ChatGPT作为三大代表性工具,凭借独特的技术路径和应用优势,正在重塑…...

2025国家护网HVV高频面试题总结来了04(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 一、HVV行动面试题分类 根据面试题的内容,我们将其分为以下几类: 漏洞利用与攻击技术 …...

我的AI工具箱Tauri版-通用音频转文本
本模块支持FunAsr和FasterWhisper两种模式,可批量处理音频与视频文件,自动生成txt文本与srt字幕,满足多种应用场景需求。 工具内置FunAsr,无需额外参数调整,特别适用于中文语音的高质量转录,确保识别准确率…...
Vue.js计算属性
计算属性 基础示例 模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。比如说,我们有这样一个包含嵌套数组的对象: js const author = reactive({name: John Doe,books: [Vue 2 - Advanced Guide,Vue 3 - Bas…...

品佳诚邀您参加 3/12『英飞凌汽车方案引领智能座舱新纪元』在线研讨会
英飞凌汽车方案引领智能座舱新纪元 時間:2025年3月12日 14:00-15:30 品佳诚邀您参加本次线上直播,深入了解英飞凌如何引领智能座舱技术革新! 随著科技的飞速发展,汽车已不再仅仅是交通工具,而是集成了丰富智能功能的…...

科普|无人机专业术语
文章目录 前言一、飞控二、电调三、通道四、2S、3S、4S电池五、电池后面C是什么意思?六、电机的型号七、什么是电机的KV值?八、螺旋桨的型号九、电机与螺旋桨的搭配 前言 无人机飞控系统控制飞行姿态,电调控制电机转速,遥控器通道控制飞行动作。电池C…...
Tauri跨平台开发问题及解决方案深度解析(React版)
Tauri跨平台开发问题及解决方案深度解析(React版) 一、环境配置与项目初始化难题(React适配) 1.1 React项目初始化 推荐模板: # 使用ReactTypeScript模板 npm create tauri-applatest -- --template react-ts# 项目…...

基于单片机和Wifi技术的智能台灯设计
摘要 :本文主要介绍了基于单片机AT89C51和Wifi技术的智能台灯的硬件和软件设计。该智能台灯具有根据当前光线自动调节灯光亮度的功能,还可对用户使用台灯时处于非正常的距离和姿态时给予报警提示,用户可以随时通过手机app查询智能台灯的报警记…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...