2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤

news/2025/2/25 2:07:36/文章来源:https://www.cnblogs.com/ranjiang/p/18730485

在1 使用ollama完成DeepSeek本地部署中使用ollama完成deepSeek的本地部署和运行,此时我可以在PowerShell中通过对话的方式与DeepSeek交流,但此时本地模型不具备联网搜索能力,无法根据网上信息来回答我的问题,同时我也无法将我自己的知识给他参考,这样本地模型相比直接使用官网的访问接口没有任何优势,接下来我需要做两件事情,来发挥出本地模型的优势:
(1)建立本地知识库,然后将我自己的资料和数据文件放入知识库中,让模型在回答问题是可以参考我本地知识来组织答案;这可以在避免私人数据泄露的同时让模型变成了自己的专有模型,根据知识库的内容实现定向知识领域应用。
(2)通过第三方工具或脚本实现本地模型的联网搜索能力,这样本地模型就能够完全具备官网接口的能力,且本地模型搜索时不会受平台接口搜过内容过滤的限制。
总结网上的实现方案,当前有两种比较有意义的部署方案:
(1)方案一ollama+anythingLLM:开源模型本地部署+本地知识库构建,完全离线运行,适合不需要联网完全本地运行的场景;
(2)方案二ollama+浏览器Page Assist插件:开源模型本地部署+本地知识库构建+联网搜索功能,适合需要联网搜索的场景。

1 方案一:使用anythingLLM实现本地知识库构建

安装anythingLLM有两种方式,一种是直接安装桌面版,一种是通过Docker安装;第一种方式安装方便,已经能满足一般用户的使用要求,但安装过程中需要下载库和相关依赖,由于下载速度很慢这个过程十分漫长(可以考虑自己上点□□上网手段),我等待了应该有三四个小时;第二种方式相比于第一种方式功能更多一些,支持多用户访问、嵌入聊天部件、密码保护和用户管理且方便移植,且docker安装anythingLLM可以更换国内镜像源,安装速度要快一些。

1.1 安装anythingLLM桌面版

下载地址:https://anythingllm.com/desktop
image
双击安装包选择自己的安装位置即可安装,保持联网状态,等待自动下载相关依赖和库就可以;
软件介绍和使用说明可以参考官网:https://docs.anythingllm.com/introduction

1.2 通过Docker安装anythingLLM

Docker是一种虚拟化的容器技术,能够实现运行环境与运行设备基础架构的隔离,允许用户将应用和依赖打包部署在一个可移植的容器内,在任何支持Docker的环境中运行,方便移植和部署。
(1)去docker官网可以下载Docker安装包:https://www.docker.com
image
双击安装程序,勾选使用WSL 2代替Hyper-V,点击OK等待安装完成。
image
安装完成后需要重启电脑。
(2)运行docker,若运行失败,可以打开PowerShell,更新一下wsl版本:输入wsl --update,若仍然失败,重装一下docker。
Docker说明:
(A) Docker是依赖Linux环境的,无法直接在Windows系统上运行,所以通过WSL2和Hypera-V可以搭建Docker所需的虚拟运行环境;
(B)WSL2是一个轻量级的虚拟化技术,底层利用Hyper-V技术运行了Linux内核来提供完整的调用,无需模拟整个硬件环境,资源占用少,WSL2更适合那些需要在Windows上便捷地使用Linux环境的用户;
(C)Hyper-V是一个全面完整的虚拟化技术和虚拟机管理器,模拟了整个Linux的硬件环境,支持运行独立的操作系统,则适用于需要完整虚拟化功能的场景;
(D)我仅需一个Linux环境运行Docker,所以选择WSL2,节约硬件资源。
(3)打开Docker软件,点击右上角设置,再点击Docker Engine,并添加国内镜像源,然后点击左下角的Apply&Restart;

"registry-mirrors": ["https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com"]

image
image
(4)点击右下角的Terminal或者通过cmd运行PowerShell,然后输入命令docker pull mintplexlabs/anythingllm下载anythingllm;
image
image
(5)下载完成后再Termical或PowerShell中输入一下代码并运行即可将anythingLLM运行起来;

$env:STORAGE_LOCATION="$HOME\Documents\anythingllm"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION\.env")) {New-Item "$env:STORAGE_LOCATION\.env" -ItemType File}; `
docker run -d -p 3001:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION\.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
mintplexlabs/anythingllm;

image
点击端口3001:3001或在浏览器访问http://localhost:3001/ 即可进入anythingLLM界面。

1.3 anythingLLM配置本地知识库——基于桌面版

1.3.1 将ollama和DeepSeek模型运行起来

WIN+R快捷键,输入cmd打开PowerShell,输入ollama serve可以将ollama运行起来,默认ollama可以通过本地的11434端口访问,新开一个PowerShell窗口输入curl http://localhost:11434可以验证。
image
输入ollama run deepseek-r1:32b即可将本地模型运行起来。

1.3.2 配置本地anythingLLM

运行anythingLLM软件,第一次运行会有一些提示,可以全部跳过,进入如下界面,点击下方的设置可以配置自己的模型。
image
(1)首先点击LLM首选项,选择自己的模型提供商为ollama,然后在下方Ollama Base URL处填上ollama的访问地址:http://127.0.0.1:11434 ,Ollama Keep Alive选择Forever使模型一直保持激活状态;
image
(2)向量数据库用于存储自己知识库转化得到的模型可识别的向量数据,使用默认的LanceDB即可;
image
(3)先打开PowerShell输入ollama pull nomic-embed-text下载文本嵌入模型用于将文本转化为向量以及进行相似度计算;在anythingLLM设置的Embedder首选项中选择Ollama并选择刚刚下载的模型,然后保存更改;
image
image
(4)返回聊天界面新建工作区,并点击上传文件;
image
(5)上传要放入知识库中的文件,然后选中并点击Move to Workspace,将文件导入工作空间,然后下划到工作空间,点击Save and Embeded;
image
image
image
(6)嵌入完成后点击pin to workspace即可返回聊天界面,此时向模型提问deepseek即可根据知识库中的知识进行回答。
image
image

2 方案二:使用Page Assist插件实现本地知识库构建+联网搜索

2.1 安装浏览器

已知Firefox和Chrome浏览器都支持Page Assist插件,edge暂不支持,我测试了火狐浏览器安装Page Assist,火狐浏览器可以去官网下载:https://www.firefox.com.cn/ 。

2.2 安装Page Assist插件

(1)打开火狐浏览器,点击右上角拓展——管理拓展;
image
(2)搜索Page Assist,出来的第一个就是,点击添加等待下载完成会弹窗询问是否添加Page Assist,选择添加;
image
image
image

2.3 接入本地模型并与性能

(1)在配置Page Assist之前先在PowerShell中输入ollama serve将ollama运行起来;
(2)点击拓展中的Page Assist插件进入Page Assist界面,点击右上角设置,先在一般设置里将语言设置为简体中文,ollama设置中已经默认配置好ollama的默认端口,无需更改;
image
image
image
(3)返回聊天界面,在顶部选择你本地部署的模型,此时即可与本地模型进行对话;
image

2.4 开启本地模型联网搜索功能

打开左下角的联网功能,即可开启模型的联网搜索功能,本地模型可以根据搜索到的信息来回答我的提问;在一般设置里的管理网络设置中,可以设置使用的搜索引擎和搜索的结果数;
image
image

2.5 配置本地知识库

image
(1)首先打开PowerShell输入ollama pull nomic-embed-text下载文本嵌入模型用于将文本转化为向量以及进行相似度计算;
image
(2)在Page Assist设置——RAG设置中选择刚刚安装的nomic-embed-text模型并保存;
image
(3)在管理知识中点添加新知识,为新知识起一个标题,然后将需要放入知识库的文档拖入并提交;
image
(4)返回聊天界面,在输入窗中选择知识库,然后提问知识库中的相关知识,模型即可根据本地知识库进行回答。
image

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

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

相关文章

【毕业设计】【河蟹识别微信小程序】项目总结

一、项目需求与背景 1. 项目背景与需求近年来,相关水产公司以及水产研究所等,利用类似水池生态育种等群体育种方法, 共培育了“长江 1 号”、“长江 2 号”、 “光合 1 号”、“诺亚 1 号”、“江海 21 号”以及“长荡湖 1 号”总计 6 类优良品种。这些新培育的河蟹品种,不仅…

日志(logging)

【一】函数式简单配置 import logging logging.debug(debug message) logging.info(info message) logging.warning(warning message) logging.error(error message) logging.critical(critical message)默认情况下Python的logging模块将日志打印到了标准输出中,且只…

解决Docker连接XQuartz报错

背景 打开XQuartz,在桌面右上角菜单栏中的XQuartz偏好设置中的安全性中启用 "允许从网络客户端连接",并重启XQuartz生效,后续操作中要保持XQuartz为打开状态,不要退出XQuartz报错内容: root@9b90039a4d17:~# ros2 run turtlesim turtlesim_node Authorization r…

MySQL的四种事务隔离级别

一.MySQL四大隔离级别 事务隔离级别 1.读未提交 (Read Uncommitted) 允许一个事务读取另一个事务未提交的数据。 2.读已提交 (Read Committed) 一个事务只能读取另一个事务已经提交的数据。 3.可重复读 (Repeatable Read) 保证在一个事务内多次读取同一数据时,其结果是一致的。…

持续分享干货!清华出品《DeepSeek如何赋能职场》PDF可下载

🔥今天分享的是清华出品《DeepSeek如何赋能职场》的PPT,内容涵盖了DeepSeek运行模式的讲解,如何向DeepSeek提问,如何构建提示词,结合实际多个实际应用场景,详细的介绍了DeepSeek结合其他多模态AI模型持续赋能职场的方法。提示词框架如何使用DeepSeek制作可视化图表如何使…

「跟着渡一学前端」并发请求实现

学习资源 并发请求 【渡一教育】 完整代码 function concurRequest(urls, maxNum) {if (urls.length === 0) {return Promise.resolve([]);}return new Promise((resolve) => {let nextIndex = 0;let finishCount = 0;const result = [];async function _request() {if (nex…

软工作业1

作业相关信息这个作业属于哪个课程 软件工程 这个作业要求在哪里 自我介绍+软工5问 这个作业的目标 自我介绍,了解软件工程基本概念个人介绍 Im YiLaiL YiLaiL/YiLaiL is a ✨ special ✨ repository because its README.md (this file) appears on your GitHub profile.🔭 …

EmEdit设置缓存目录临时文件夹

前言全局说明一、说明 1.1 环境: Windows 11 家庭版 23H2 22631.3737 EmEditor Professional (64-bit) Version 17.2.4二、打开大文本控制器三、点击右边大文本控制器上 自定义四、选择比较大的磁盘空间作为缓存空间免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他…

谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇

上一篇咱们了解了 ES 7.10 相较于 ES 6.8 新增的字段类型,这一篇我们继续了解新增的查询方法。 Interval 间隔查询: 功能介绍 Interval 查询,词项间距查询,可以根据匹配词项的顺序、间距和接近度对文档进行排名。主要解决的查询场景“创建一个多搜索词匹配的查询,同时保留…

【蓝牙小程序】在微信小程序中使用 ECharts

echarts-for-weixin 项目提供了一个小程序组件,用这种方式可以方便地使用 ECharts。 使用方式下载该项目 如有必要,将 ec-canvas 目录下的 echarts.js 替换为最新版的 ECharts。如果希望减小包体积大小,可以使用自定义构建生成并替换 echarts.js pages 目录下是使用的示例文…

Virtual Box设置双网卡

一、硬件 1.为虚拟机添加网卡2.配置网卡二、软件 3.获取mac地址 命令:ip link [root@vbox network-scripts]# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd…

简单逆向Java程序

前置 来源 这个程序是我同学编写的一个学生分数管理系统,我将对这个已经编译的程序进行测试、逆向,找出其中的问题,并进行改进。 运行环境macOS 15.4 IntelliJ IDEA 2024.2.3 OpenJDK 23.0.2 TomCat 11.0.4 Safari 15.4运行结果主要问题 在使用了这个程序之后,我发现了以下…