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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.2.2倒排索引原理与分词器(Analyzer)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 1.2.2倒排索引原理与分词器(Analyzer)1. 倒排索引:搜索引擎的基石1.1 正排索引 vs 倒排索引示例数据对比: 1.2 倒排索引核心结…

计算机毕业设计SpringBoot+Vue.js线上辅导班系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

大模型原理与技术(毛玉仁)

一、基础知识 ①基于统计的语言模型:n-gram,基于前n-1个词预测第当前词,即统计词序个数计算概率(n阶马尔科夫)。如果预测句子的概率,需要将每个分词连乘。 常用的n小于5,随着n增大,…

ollama本地部署DeepSeek-R1大模型使用前端JS调用的详细流程

以下是关于如何在本地部署 DeepSeek-R1 大模型(通过 Ollama),并使用前端 JavaScript 调用其功能的详细流程。 前提条件 硬件要求: 建议至少 16GB RAM(运行较小模型如 1.5B 或 7B 参数版本),如果…

最好Wordpree+Apache+PHP安装教程

前提需要 PHP的安装最少需要7.4以上Mysql的安装,直接默认最新版就行APache服务器(HTTP服务器,只有用这个你的软件才能在服务器上运行) 安装apache 安装 sudo apt install apache2查看防火墙 sudo ufw app list如果有 Apache那…

deepseek使用记录18——文化基因之文化融合

文明长河中的生命浪花 在洛阳白马寺的银杏树下,年轻母亲指着"农禅并重"碑刻给孩子讲述祖辈耕作的故事;在哔哩哔哩的直播间里,00后女孩穿着汉服跳起街舞,弹幕飘过"这才是文化缝合怪"。当文明交融的宏大叙事照…

2025 GDC开发者先锋大会“人形机器人的开源之路”分论坛 | 圆桌会议:《开放协作:开源生态如何解锁人形机器人与具身智能的未来》(上篇)

在GDC全球开发者先锋大会期间,2月23日,由GDC组委会指导、国家地方共建人形机器人创新中心(以下简称“国地中心”)承办的“人形机器人的开源之路”主题论坛在上海西岸艺术中心成功举办。 在人工智能与机器人技术飞速发展的今天&…

txt 转 json 使用python语言

需求: 把如下的txt文档转成json输出 代码 import jsondef txt_to_json(input_file, output_file):data_list []with open(input_file, r, encodingutf-8) as f:for line in f:# 分割数据并去除换行符parts line.strip().split(,)print(f"{parts}")print(type(par…

快速入手-搭建Flask框架封装mysql并结合业务实际情况使用

1、安装包 pip install pymysql pip install dbutils 2、项目目录结构,注意目录的层级 3、在flask_project文件夹里创建__init__.py from flask import Flask, redirect, request, session def auth():# 拦截器print("拦截器")# js、css、img不拦截处…

【语法】C++中string类中的两个问题及解答

贴主在学习string类时遇到过两个困扰我的问题,今天拿出来给大家分享一下我是如何解决的 一、扩容时capacity的增长问题 在string的capacity()接口中,调用的是这个string对象的容量(可以存多少个有效字符),而size()是调用的string对象现在有…

P8720 [蓝桥杯 2020 省 B2] 平面切分--set、pair

P8720 [蓝桥杯 2020 省 B2] 平面切分--set、pair 题目 分析一、pair1.1pair与vector的区别1.2 两者使用场景两者组合使用 二、set2.1核心特点2.2set的基本操作2.3 set vs unordered_set示例:统计唯一单词数代码 题目 分析 大佬写的很明白,看这儿 我讲讲…

协议-Airkiss

是什么? 设备 A 与外界没有建立任何实质性连接,可以称之为信息孤岛。设备 B 通过路由 或者直接 将 Wifi 的 ssid 与密码 UDP广播 传递给 A 为什么? 解决将无线网络的 ssid 与密码传输到设备难题 怎么做? 芯片自带AT指令开启Air…

git从零学起

从事了多年java开发,一直在用svn进行版本控制,如今更换了公司,使用的是git进行版本控制,所以打算记录一下git学习的点滴,和大家一起分享。 百度百科: Git(读音为/gɪt/)是一个开源…

企微审批中MySQL字段TEXT类型被截断的排查与修复实践

在MySQL中,TEXT类型字段常用于存储较大的文本数据,但在一些应用场景中,当文本内容较大时,TEXT类型字段可能无法满足需求,导致数据截断或插入失败。为了避免这种问题,了解不同文本类型(如TEXT、M…

《Python实战进阶》No 10:基于Flask案例的Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击

第10集:Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击 在现代 Web 开发中,安全性是至关重要的。无论是用户数据的保护,还是系统稳定性的维护,开发者都需要对常见的 Web 安全威胁有深刻的理解,并采取有效的防…

nio多线程版本

多线程多路复用 多线程NIO,,就是多个线程,每个线程上都有一个Selector,,,比如说一个系统中一个线程用来接收请求,,剩余的线程用来读写数据,,每个线程独立干自…

LabVIEW DataSocket 通信库详解

dataskt.llb 是 LabVIEW 2019 内置的核心函数库之一,位于 vi.lib\Platform\ 目录下,专注于 DataSocket 技术的实现。DataSocket 是 NI 提供的网络通信协议,支持跨平台、跨设备的实时数据共享,广泛应用于远程监控、分布式系统集成等…

【UI设计——视频播放界面分享】

视频播放界面设计分享 在本次设计分享中,带来一个视频播放界面的设计作品。 此界面采用了简洁直观的布局。顶部是导航栏,包含主页、播放、搜索框等常见功能,方便用户快速找到所需操作。搜索框旁输入 “萌宠成长记”,体现了对特定内…

论coding能力 new bing 对比 chatgpt

近日需要编程计算每个月的第二个星期二是哪一天,因为那一天需要做一件重要的事情,我想在这个日期做一个提醒,于是把这个重任交给当下最火的AI,微软new bing和chatGPT,实验对比结果如下:微软new bing会给你参…

leetcode第39题组合总和

原题出于leetcode第39题https://leetcode.cn/problems/combination-sum/description/题目如下: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以…