DeepSeek RAGFlow构建本地知识库系统

学习目标

DeepSeek RAGFlow 构建本地知识库系统


学习内容

  1. 下载安装Docker
    1.1 Docker 是什么
    1.2 下载Docker
    1.3 安装Docker
  2. 配置Docker
  3. RAGFlow 配置
    3.1 下载RAGFlow
    3.2 RAGFlow配置
    3.3 启动RAGFlow Docker
  4. 新建知识库
    4.1 查看本机IP
    4.2 OLLAMA_HOST 变量配置
    4.3 添加模型提供商
    4.4 系统模型设置
    4.5 新建知识库
    4.6 知识库配置
    4.7 上传文件并解析文件
  5. 新建聊天
  6. 知识库测试

阅读本文前置条件

完成ollama 搭建DeekSeek 本地化部署

请参考DeepSeek专题1 DeepSeek windows系统部署详解


下载安装Docker

Docker是什么?
Docker是一个“容器化"工具,它可以将应用程序及其运行环境打包在一起,形成一个独立的“容器”。这个容器可以在任何支持 Docker 的电脑上运行,而不需要担心环境差异。
举个栗子:
乐高积木
传统方式:你需要自己找积木块,按照说明书一步步搭建。
Docker 方式:积木已经预先拼好,你只需要把整个模块放到正确的位置。
在这个例子中:
积木模块 = 容器。
说明书 = 配置和依赖。

总结:Docker 就像是一个“魔法盒子”,它把应用程序和它需要的一切(代码、库、配置)打包在一起。无论你把这个盒子放到哪里,它都能正常运行,而不需要担心环境问题。

为什么要下载Docker?
原因:RAGFlow已提供了一个Docker “容器”,并包含了所需要的程序依赖,我们只需在Docker中启用该RAGFlow "容器"就行。

下载Docker
docker 下载地址
https://www.docker.com/
如下图所示:
在这里插入图片描述
安装Docker
如下图 双点击 Docker Desktop Installer.exe 进行安装,安装完成后可以重启电脑也可以不重启电脑。
在这里插入图片描述

检查Docker 安装是否成功
按windos键+r 打开终端控制台 输入docker,按回车,如有如下输出信息则表示docker安装成功。
在这里插入图片描述


配置Docker

因网络问题,国外docker镜像 无法拉取,需在Docker做些相关配置才可以。
打开安装好的Docker应用程序,如下图双击Docker Desktop
打开Docker 应用时 不需要注册,直接跳过。
在这里插入图片描述
在这里插入图片描述
在 “experimental”: false, 后加上如下Docker镜像地址,建议直接复制
“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”
]

配置修改后,点击 Apply&restart 保存并重启Docker


下载RAGFlow

打开Google浏览器,输入如下地址,打开RAGFlow
https://github.com/infiniflow/ragflow
在这里插入图片描述
在电脑D盘或其他磁盘,右击,选择在终端打开,如下图
在这里插入图片描述

注,如不能识别git ,请先下载git 工具。
下载RAGFlow 后,在本机将会看到如下文件:
在这里插入图片描述

RAGFlow配置

RAGFlow Docker 镜像默认v0.15.1-slim 没有embedding models,所以使用v0.15.1,需要修改配置。
在这里插入图片描述
在ragflow\docker.env 文件按如下图修改
在这里插入图片描述

启动RAGFlow Docker

按windows+r 打开终端程序,
cd ragflow 路径
启动RAGFlow Docker
docker compose -f docker/docker-compose.yml up -d
输入之后 按回车键,如果有错误则是网络问题,检查Docker镜像配置地址。
在这里插入图片描述
完成后输入docker logs -f ragflow-server
如果看到如下信息 则启动成功:
在这里插入图片描述


新建知识库

  1. 查看本机IP地址
    按windows+r 打开终端程序,输入ipconfig /all 按回车
    在这里插入图片描述
    找到本机IP ,如下图:
    在这里插入图片描述

  2. 配置系统变量OLLAMA_HOST

右击我的电脑,选择属性,如下图,如果没有配置OLLAMA_HOST系统变量,则按下图配置。
原因配置模型提供商需要输入IP地址,如果不配置,则连接不上。
在这里插入图片描述
3. 添加模型提供商

打开google浏览器,输入地址:
http://你的本机IP地址/login
如下图:
在这里插入图片描述
注意 首次注册的用户则是系统管理员。
登录后,如下图操作,添加Ollama
在这里插入图片描述
在上图点击添加模型后,按如下图设置
在这里插入图片描述
如果点击 确定失败,则检查ollama服务是否已启动,按windows+r 输入ollama serve
如下图所示
在这里插入图片描述

点击确定后,接下来进行系统模型设置,如下图。

在这里插入图片描述
至些构建知识库的前置工作已完成,接下来实战体验知识库。

4.新建知识库
点击知识库,点击新建知识库,如下图,创建知识库
在这里插入图片描述
创建知识库,如下图对知识库进行配置:
在这里插入图片描述
对知识库进行添加文件,并解析。如下图:
在这里插入图片描述
解析成功后,则可以新建聊天来对知识库进行检索。
注意 如果文件未解析成功,则不可以进行聊天。
在这里插入图片描述

新建聊天

点击聊天,新建助理,进行聊天配置,如下图所示:
在这里插入图片描述

知识库测试

在聊天页,新建问答,进行知识库测试,如下图
在这里插入图片描述
至此,DeepSeek+RAGFlow 构建本地知识库系统已完成,欢迎关注本博客,将陆续分享DeepSeek带来的生产力。

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

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

相关文章

11 享元(Flyweight)模式

享元模式 1.1 分类 (对象)结构型 1.2 提出问题 做一个车管所系统,将会产生大量的车辆实体,如果每一个实例都保存自己的所有信息,将会需要大量内存,甚至导致程序崩溃。 1.3 解决方案 运用共享技术有效…

arcgis for js范围内天地图高亮,其余底图灰暗

在GIS地图开发中,有时我们需要突出显示某个特定区域,而将其他区域灰暗处理,以达到视觉上的对比效果。本文将介绍如何使用ArcGIS for JavaScript实现这一功能,具体效果为:在指定范围内,天地图高亮显示&#…

Spring AI + Ollama 实现 DeepSeek-R1 API 服务和调用

随着大语言模型的快速发展,越来越多的开发者开始探索如何将这些强大的推理模型本地化运行。DeepSeek-R1,作为一款性能卓越的开源AI模型,以其低成本和出色的推理能力在技术圈内引起了广泛关注。本文将详细介绍如何使用Ollama部署DeepSeek-R1&a…

Ubuntu 20.04配置网络

1,检查自己网络是否配通。 网络配置成功显示的网络图标 不成功的网络图标 如果看不见网络图标,可以使用ping命令。连接一下百度网。 ping www.baidu.com ping失败的样子 ping成功的样子 2,接下来进入正题,我们开始配置网络。 这…

ElasticSearch入门

目录 1._cat 2.索引一个 document 3.查询document 4.更新document 5.删除document 或 index 6.批量_bulk API 1._cat Get/_cat/nodes 查看所有节点 Get/_cat/indices 查看所有索引(indices :index的复数) Get/_cat/master 查看…

java练习(8)

ps:题目来自力扣 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作…

Java常用类

文章目录 包装类(Wrapper)包装类的继承体系装箱和拆箱包装类与String类型的相互转换 String类创建 String 对象的两种方式String 类的常见方法案例演示 StringBuffer类类的继承体系String VS StringBufferStringBuffer构造器String 和 StringBuffer 相互转换StringBuffer 类常见…

算法设计与分析三级项目--管道铺设系统

摘 要 该项目使用c算法逻辑,开发环境为VS2022,旨在通过Prim算法优化建筑物间的连接路径,以支持管线铺设规划。可以读取文本文件中的建筑物名称和距离的信息,并计算出建筑物之间的最短连接路径和总路径长度,同时以利用…

【C语言系列】深入理解指针(5)

深入理解指针(5) 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1:2.2.2代码2:2.2.3代码3:2.2.4代码4:2.2.5代码5&#…

设计模式——策略模式

设计模式——策略模式 简单介绍一个例子 策略模式是设计模式里面比较简单的设计模式,其特点简单又实用,并且可以让你的代码看起来高大上,维护代码时还方便扩张 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句&…

【玩转 Postman 接口测试与开发2_018】第14章:利用 Postman 初探 API 安全测试

《API Testing and Development with Postman》最新第二版封面 文章目录 第十四章 API 安全测试1 OWASP API 安全清单1.1 相关背景1.2 OWASP API 安全清单1.3 认证与授权1.4 破防的对象级授权(Broken object-level authorization)1.5 破防的属性级授权&a…

MySQL的 MVCC详解

MVCC是多版本并发控制,允许多个事务同时读取和写入数据库,而无需互相等待,从而提高数据库的并发性能。 在 MVCC 中,数据库为每个事务创建一个数据快照。每当数据被修改时,MySQL不会立即覆盖原有数据,而是生…

【Uniapp-Vue3】z-paging插件组件实现触底和下拉加载数据

一、下载z-paing插件 注意下载下载量最多的这个 进入Hbuilder以后点击“确定” 插件的官方文档地址: https://z-paging.zxlee.cn 二、z-paging插件的使用 在文档中向下滑动,会有使用方法。 使用z-paging标签将所有的内容包起来 配置标签中的属性 在s…

UG NX二次开发(Python)-API函数介绍与应用实例(三)-UFLayer类操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1 前言2、UFLayer类说明3、获取当前工作图层4、移动对象到特定的图层1 前言 采用Python语言进行UG NX二次开发的帮助材料很少,采用录制的方法是一种比较容易实现的方式,但是使用UFun函数更容易上…

免费PDF 转换成 Word、PPT、Excel 格式的工具

在当今数字化办公的时代,文件格式的转换需求日益频繁。我们的软件应运而生,它是一款专业的 PDF 转换成 Word、PPT、Excel 格式的工具,为您的办公流程带来极大便利。 下载地址:https://pan.quark.cn/s/8c42ac2e4bf5 核心功能&…

deepseek从网络拓扑图生成说明文字实例

deepseek对话页面中输入问题指令: 我是安全测评工程师,正在撰写系统测评报告,现在需要对系统网络架构进行详细说明,请根据附件网络拓扑图输出详细说明文字。用总分的段落结构,先介绍各网络区域,再介绍网络…

排序算法--希尔排序

希尔排序是插入排序的改进版本,适合中等规模数据排序,性能优于简单插入排序。 // 希尔排序函数 void shellSort(int arr[], int n) {// 初始间隔(gap)为数组长度的一半,逐步缩小for (int gap n / 2; gap > 0; gap …

【NR-NTN】3GPP Release 18中NR-NTN过程描述

本文参考3GPP规范: 【1】《TS 38.300 V18.4.0 NR; NR and NG-RAN Overall Description; Stage2》 1. 概述 图1展示了一个非地面网络(NTN)的示例,通过NTN载荷和NTN网关为用户设备(UE)提供非地面NR接入。图…

python3中错误与异常初识

一. 简介 在 编写 Python时,经常会遇到一些报错信息。接下来开始学习 Python3 中错误和异常。 本文首先初步了解一下 Python3中的错误和异常。 二. python3 中错误与异常初识 Python 中有两种错误:语法错误与异常。 1. 语法错误 Python 的语法错误…

一文解释nn、nn.Module与nn.functional的用法与区别

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 …