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

DeepSeek R1打造本地化RAG知识库

本文将详细介绍如何使用OllamaDeepseek R1大语音模型Nomic-Embed-Text向量模型AnythingLLM共同搭建一个本地的私有RAG知识库。

一. 准备工作

什么是RAG?

RAG是一种结合了信息检索和大模型(LLM)的技术,在对抗大模型幻觉、高效管理用户本地文件以及数据安全保护等方面具有独到的优势。

图片


主要包括:

  • 索引:将文档库分割成较短的 Chunk,并通过编码器构建向量索引。

  • 检索:根据问题和 chunks 的相似度检索相关文档片段。

  • 生成:以检索到的上下文为条件,生成问题的回答。

在开始之前,确保我们需要使用的工具和库:

  • Ollama

  • Deepseek R1 LLM模型

  • Nomic-Embed-Text向量模型

  • AnythingLLM

二. 安装 Ollama

Ollama 是一个用于本地运行大型语言模型的工具。

可以通过以下步骤安装 Ollama:

2.1 下载 Ollama

  • 访问 Ollama 的 https://ollama.com/官方网站,下载适合你操作系统的安装包。

图片

2.2 安装 Ollama

图片

2.3 验证安装

  • 打开终端或命令提示符,输入 ollama --version,确保安装成功。

图片

2.4 Ollama常用命令

图片

三. 配置 DeepSeek R1 模型

3.1 下载 DeepSeek R1 模型

  • 从 Ollama的官方网站下载 DeepSeek R1 模型文件。
1ollama run deepseek-r1:7b

3.2 启动模型

  • 启动和下载模型是同一个命令,如果没有下载过的新模型会直接下载,以及下载过的则直接启动。
1ollama run deepseek-r1:7b

四. 配置 Nomic-Embed-Text 模型

4.1 下载 Nomic-Embed-Text 模型

  • 从 Ollama的官方网站下载 nomic-embed-text 模型文件。
1ollama pull nomic-embed-text

4.2 模型下载完成

图片

五. 安装AnythingLLM

AnythingLLM 是一个功能强大且灵活的开源平台,旨在帮助用户轻松构建和部署基于大型语言模型 (LLM) 的私有化应用程序。

图片


它提供了直观的用户界面、丰富的功能以及高度的可定制性,即使是没有任何编程经验的用户也能快速上手:

  1. https://anythingllm.com/desktop,登录官网。

  2. 下载对应的版本

图片

  1. 打开anythingllm。

图片

六. 搭建RAG本地知识库

现在已经安装并配置好了Ollama、Deepseek R1、Nomic-Embed-Text和AnythingLLM,接下来我们将它们结合起来搭建一个本地的私有RAG知识库。

6.1 数据准备

首先,你需要准备一个知识库数据集。这个数据集可以是一个包含大量文档的目录,也可以是一个预处理的JSON文件。确保每个文档都有一个唯一的ID和文本内容。

我们准备一个Deepseek Janus pro的介绍文档。

图片

6.2 构建索引

使用Nomic-Embed-Text将知识库中的文档转换为向量表示,并构建一个索引:

图片

6.3 检索相关信息

使用Deepseek R1和检索本地向量数据库:

图片

七. 总结

通过本文的介绍,你已经学会了如何搭建一个本地的私有RAG知识库。这个知识库可以帮助你高效地管理和利用知识,同时增强大模型专业应用方向的能力。

相关文章:

DeepSeek R1打造本地化RAG知识库

本文将详细介绍如何使用Ollama、Deepseek R1大语音模型、Nomic-Embed-Text向量模型和AnythingLLM共同搭建一个本地的私有RAG知识库。 一. 准备工作 什么是RAG? RAG是一种结合了信息检索和大模型(LLM)的技术,在对抗大模型幻觉、…...

聚铭网络入围2025年度江苏省政府采购信息安全设备协议供货名单

近日,2025年度江苏省党政机关、事业单位及团体组织信息安全设备框架协议采购项目入围结果公布。聚铭网络凭借自身专业实力和技术优势脱颖而出,成功入围22个分包。 此次采购项目是江苏省政府采购领域级别最高、覆盖面最广的项目之一。从资格评选到后期材料…...

基于Flask的影视剧热度数据可视化分析系统的设计与实现

【FLask】基于Flask的影视剧热度数据可视化分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着互联网技术的飞速发展,影视剧行业的数据量呈爆炸性增长&#x…...

【弹性计算】弹性计算的技术架构

弹性计算的技术架构 1.工作原理2.总体架构3.控制面4.数据面5.物理设施层 虽然弹性计算的产品种类越来越多,但不同产品的技术架构大同小异。下面以当前最主流的产品形态 —— 云服务器为例,探查其背后的技术秘密。 1.工作原理 云服务器通常以虚拟机的方…...

python-leetcode 31.K个一组翻转链表

题目: 给定链表的头节点head,每K个节点一组进行翻转,返回修改后的链表。 K是正整数,它的值小于等于链表的长度,如果节点总数不是K的整数组,那么将最后剩余的节点保持原有顺序。不能只改变节点内容的值,需…...

算法08-递归调用转为循环的通用方法

前导:问题引入 在Python中,递归调用过多会导致“递归深度过深”的错误,通常是因为递归没有正确终止条件或者递归层次太深。 这种错误通常会导致程序抛出 RecursionError 异常。 Python默认的递归深度限制大约是1000层(可以通过sys.getrecursionlimit()查看)。 修正方式…...

[创业之路-300]:进一步理解货币与金钱, 货币与货币政策

目录 一、货币 1.1 概述 1、货币的定义 2、货币的形态演变 3、货币的职能 4、货币的价值衡量 1.2 货币的分层 1、货币分层的目的与意义 2、货币分层的划分标准与层次 3、各国货币分层的实践 4、货币分层的影响与应用 1.3、M0、M1、M2变化对股市的影响 1、M0变化对…...

达梦:跟踪日志诊断

目录标题 参考连接**性能诊断:跟踪日志诊断****总结** 参考连接 性能诊断 -> 跟踪日志诊断 性能诊断:跟踪日志诊断 备份现有的日志配置文件 在修改文件之前,建议先备份原始文件,以防万一需要恢复。 cp /opt/dmdbms/dmdata/DA…...

Qwen2-VL 的重大省级,Qwen 发布新旗舰视觉语言模型 Qwen2.5-VL

Qwen2.5-VL 是 Qwen 的新旗舰视觉语言模型,也是上一代 Qwen2-VL 的重大飞跃。 Qwen2.5-VL主要特点 视觉理解事物:Qwen2.5-VL不仅能够熟练识别花、鸟、鱼、昆虫等常见物体,而且还能够分析图像中的文本、图表、图标、图形和布局。 代理性&…...

js考核第三题

题三:随机点名 要求: 分为上下两个部分,上方为显示区域,下方为控制区域。显示区域显示五十位群成员的学号和姓名,控制区域由开始和结束两个按钮 组成。点击开始按钮,显示区域里的内容开始滚动,…...

LabVIEW袜品压力测试系统

开发了一种基于LabVIEW开发的袜品压力测试系统。该系统利用LabVIEW并结合灵敏的传感器和高精度的处理模块,实现了对袜品压力的精确测量和分析。系统不同于传统的服装压力测试方法,为研究和评价袜子的舒适性提供了新的测试手段。 ​ 项目背景 该系统的…...

jsp页面跳转失败

今天解决一下jsp页面跳转失败的问题 在JavaWeb的学习过程中&#xff0c;编写了这样一段代码&#xff1a; <html> <body> <h2>Hello World!</h2><%--这里提交的路径&#xff0c;需要寻找到项目的路径--%> <%--${pageContext.request.context…...

1.推荐算法基本概念

推荐算法是一个非常重要且广泛应用的领域&#xff0c;特别是在电子商务、社交媒体、内容推荐等领域。第一课我们将介绍推荐算法的基本概念和分类&#xff0c;并简单讲解两种常见的推荐算法&#xff1a;协同过滤和基于内容的推荐。 推荐算法的基本概念 推荐系统的目标是根据用…...

Java 大视界 -- 大数据伦理与法律:Java 技术在合规中的作用与挑战(87)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十五节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;RoutineControl_0x31服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月14日 关键词&#xff1a;UDS协议、0x31服务、例程控制、ISO 14229-1:2023、ECU测试 一、服务功能概述 0x31服…...

【深度强化学习】策略梯度算法:REINFORCE

策略梯度 强化学习算法进阶 Q-learning、DQN 及 DQN 改进算法都是基于价值&#xff08;value-based&#xff09;的方法&#xff0c;其中 Q-learning 是处理有限状态的算法&#xff0c;而 DQN 可以用来解决连续状态的问题。在强化学习中&#xff0c;除了基于值函数的方法&#…...

手机用流量怎样设置代理ip?

互联网各领域资料分享专区(不定期更新)&#xff1a; Sheet...

CI/CD部署打包方法

项目目前部署方式&#xff1a; 各地区服务器打包同一个runner&#xff08;需要互相排队&#xff0c;不并发&#xff09;各地区客户端可以并发打包&#xff0c;同个地区客户端打多个包需要排队 部署方法 下载gitlab-runner&#xff1a; https://docs.gitlab.com/runner/insta…...

LabVIEW 中dde.llbDDE 通信功能

在 LabVIEW 功能体系中&#xff0c;位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform\dde.llb 的 dde.llb 库占据着重要的地位。作为一个与动态数据交换&#xff08;DDE&#xff09;紧密相关的库文件&#xff0c;它为 LabVIEW 用户提供了与其他…...

探索后端开发中的异步API:基于Resilience4j与Reactive Programming的高性能设计

引言 随着微服务架构的普及&#xff0c;后端系统面临的挑战愈发严峻&#xff0c;尤其是在高并发和高可用性方面。传统的同步调用模式虽然简单&#xff0c;但在处理大量并发请求时可能会成为瓶颈。为了应对这一问题&#xff0c;异步编程逐渐成为后端开发的热门话题。 在本文中…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

算法—栈系列

一&#xff1a;删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...

PydanticAI快速入门示例

参考链接&#xff1a;https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...