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知识库。这个知识库可以帮助你高效地管理和利用知识,同时增强大模型专业应用方向的能力。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网页版贪吃蛇小游戏开发HTML实现附源码!

项目背景 贪吃蛇是一款经典的休闲小游戏,因其简单易玩的机制和丰富的变形而深受玩家喜爱。本次开发目标是实现一款网页版贪吃蛇小游戏,并通过前端与后端结合的方式,提供一个流畅的在线体验。 实现过程 游戏逻辑设计 蛇的移动:…

简易 Shell 实现指南

目录 前言: 一、代码中的核心功能 1. 环境变量获取 2. 当前路径处理 3. 用户输入处理 4. 命令解析 5. 内建命令处理 6. 外部命令执行 7. 错误处理 二、代码中涉及的关键知识点 1. 系统调用 2. 环境变量 3. 字符串处理 4. 文件操作 5. 进程管理 三、…

快速排序

目录 什么是快速排序: 图解: 递归法: 方法一(Hoare法): 代码实现: 思路分析: 方法二(挖坑法): 代码实现: 思路分析: 非递…

网络安全尹毅 《网络安全》

一 网络安全基本概念 1.网络安全定义 安全在字典中的定义是为了防范间谍活动或蓄意破坏、犯罪、攻击而采取的措施。网络安全就是为了防范计算机网络硬件、软件、数据被偶然或蓄意破坏、篡改、窃听、假冒、泄露、非法访问以及保护网络系统持续有效工作的措施总和。网络安全保护…

6.appender

文章目录 一、前言二、源码解析AppenderUnsynchronizedAppenderBaseOutputStreamAppenderConsoleAppenderFileAppenderRollingFileAppenderFileNamePattern 三、总结 一、前言 前一篇文章介绍了appender、conversionRule、root和logger节点的解析, 为的是为本篇详细介绍它们的…

P9584 「MXOI Round 1」城市

题目描述 小 C 是 F 国的总统,尽管这个国家仅存在于网络游戏中,但他确实是这个国家的总统。 F 国由 n 个城市构成,这 n 个城市之间由 n−1 条双向道路互相连接。保证从任意一个城市出发,都能通过这 n−1 条双向道路,…

什么是Docker多架构容器镜像

什么是Docker多架构容器镜像 在 Docker 中,同一个 Docker 镜像可以在不同的平台上运行,例如在 x86、ARM、PowerPC 等不同的 CPU 架构上。 为了支持这种多平台的镜像构建和管理,Docker 在 17.06 版本时引入了 Manifest 的概念,在…

Baklib知识中台构建企业智能运营核心架构

内容概要 在数字化转型的浪潮中,企业对于知识的系统化管理需求日益迫切。Baklib作为新一代的知识中台,通过构建智能运营核心架构,为企业提供了一套从知识汇聚到场景化落地的完整解决方案。其核心价值在于将分散的知识资源整合为统一的资产池…

深度学习机器学习:常用激活函数(activation function)详解

目录 Sigmoid Function ReLU(Rectified Linear Unit) LeakyReLU(Leaky Rectified Linear Unit) ClippedReLU(Clipped Rectified Linear Unit) PRelu(Parametric ReLU) Tanh&am…

【面试】网络安全常问150道面试题

1,拿到一个待测网站,你觉得应该先做什么? 信息收集: 服务器相关---:## 系统版本,真实IP,开放端口,使用的中间件 指纹信息---## 有无cdn加速,dns解析记录,是不…

【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Linux网络编程 本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g。 🏠 yum 🎸 什么是yum 当用户想下载软…

物联网平台-分布式的设备接入与管理系统

乐吾乐物联网平台是由乐吾乐自主研发的一款分布式的设备接入与管理系统,专为满足不断增长的设备接入和数据处理需求而设计。平台集数据采集、分析、监控、告警和通知等功能于一体,并融合了乐吾乐大屏可视化和乐吾乐3D数字孪生技术,帮助用户快…

Day65_20250213图论part9_dijkstra(堆优化版)|Bellman_ford算法精讲

Day65_20250213图论part9_dijkstra(堆优化版)|Bellman_ford算法精讲 dijkstra(堆优化版) 题目 https://www.programmercarl.com/kamacoder/0047.%E5%8F%82%E4%BC%9Adijkstra%E5%A0%86.html 小明参加科学大会 思路 思路 朴素版的dijkstra,时间复杂度为O(n^2)&am…

动手实现自己的 JVM——Go!(ch01)

动手实现自己的 JVM——Go!(ch01) 参考张秀宏老师的《自己动手写java虚拟机》 为什么需要命令行 在 JMV 中,要运行一个 Java 文件(字节码),首先需要找到这个文件。那么,如何找到文件…

IIS部署netcore程序后,出现500.30错误解决方案之一

netcore程序部署到IIS后一直出现错误,访问首页后会跳转到登录页地址,然后看到如下错误 HTTP Error 500.30 - ANCM In-Process Start Failure Common solutions to this issue: The application failed to start The application started but then stopp…

将Docker容器打包成镜像提交

前言 Docker 是一个开源软件,也是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容…

【设计模式】【行为型模式】命令模式(Command)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…

【DDD系列-3】DDD战术设计实践分享

DDD 战术设计概念​ ​ ​​ TMF2 中的概念:​ 领域能力:​ 扩展点:​ DDD 战术设计使用场景​ 复杂业务场景​ 复杂来源面对的需求方更加多样化。​ 1 相同场景不同垂直业务方的需求(1688,淘宝,天…

基于单片机的仓库安防系统(论文+源码)

2.1 需求分析 仓库由于存有大量物品,因此对仓库的监控非常重要,目前仓库已经普遍装有安防系统,以保证仓库的安全,本次基于单片机的仓库安防系统设计,在功能上设计如下: 用户可通过IC卡进入仓库&#xff1…

使用 AutoMQ 和 Tinybird 分析用户网购行为

前言 在当前竞争激烈的市场环境中,数据分析已成为企业实现差异化和精准营销的关键。通过分析用户行为数据,企业能够深入了解用户的习惯、偏好和行为模式,从而更精准地定位目标市场,制定个性化营销策略,并提供定制化推…