DeepSeek+RAGFlow搭建本地知识库

下载本地DeepSeek

想要下载本地的DeepSeek需要通过Ollama进行本地部署

Ollama下载和安装

官网地址:https://ollama.com/ 傻瓜式安装就不赘述了 当下载完毕之后如何验证自己有没有安装成功?

  • 打开CMD,输入ollama 看到图中的页面就代表成功了

Ollama配置环境变量

默认情况下ollama是只允许本地机器进行访问的,但是到时候我们RAGFlow是通过docker进行运行的,docker就类似于另外一台机器,所以为了让后面RAGFlow可以访问到,需要进行修改

同时ollama默认是把模型下载到C盘的,如果不想要下载到C盘的话,那么需要在配置以下的环境变量,并且修改之后要重启电脑。变量值就是你想要下载的位置

DeepSeek模型下载

再次打开Ollama的地址,然后搜索Deep Seek-R1,选择自己对应的模型,复制红框中的内容

然后打开cmd进行粘贴回车,等待下载完成

出现success就代表成功了,并且可以进行对话

注意不要退出,后面会用到 如果退出了,那么就打开cmd输入ollama run deepseek-r1 进行启动

安装RAGFlow

RagFlow下载地址:github.com/infiniflow/...

任选一个方式进行下载 第一种方式的话就是 git clone https://github.com/infiniflow/ragflow.git

修改RAGFlow配置

如果不修改这个配置的话,那么RAGFlow默认下载的版本是没有embedding模型的。而下载完整版的RAGFlow是包含了这个embedding模型的 进入根目录下的docker文件夹,打开.env 文件 搜索 RAGFLOW_IMAGE

注释掉 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0-slim

解开注释 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0

什么是Embedding模型?

将文本(World、PDF等等)中的自然语言转换成机械可以理解的高维向量,然后通过向量之间的匹配和比对去捕获到单词或是句子背后的语义信息。 除了针对知识库的文本之外,还会针对用户输入的信息进行处理。 说人话就是,Embedding模型会把信息转换成对应的身份证,然后会匹配两个身份证最相似的数据

安装Docker环境

先打开启用或关闭Windows功能界面 ,随后打开红框中的内容,如果第一个红框没有的话那么看看有没有一个叫做虚拟机平台 的进行打开

随后使用管理员身份打开cmd,输入下面两个命令 第一个命令:wsl --set-default-version 2 ,将WSL的默认版本设置为2

第二个命令:wsl --update --web-download ,将WSL更新到最新版本

如果再平时不适用wsl的话可以使用这个命令进行关闭wsl --shutdown 随后进入docker官网下载:https://www.docker.com/ 下载安装成功之后打开cmd,输入docker 显示下面的内容就代表成功了

记得启动docker。 如果你在启动docker的时候但是一直在加载界面并且报错的话,报错内容看一下是不是下面这个

css 复制代码
An unexpected error occurred
Docker Desktop encountered an unexpected error and needs to close.

Search our troubleshooting documentation ⁠ to find a solution or workaround. Alternatively, you can gather a diagnostics report and submit a support request or GitHub issue.

running engine: waiting for the Docker API: context deadline exceeded

如果是的话,那么请你使用管理员身份呢打开cmd,输入netsh winsock reset 并且重启电脑。另外记得关闭代理!!!等启动了之后在打开即可

安装RAGFlow

在修改文件的位置打开cmd,输入指令docker compose -f docker-compose.yml up -d

耐心等待安装,安装成功之后启动一下docker(在输入一下上面的指令)随后在浏览器中访问http://localhost/login ,注册一下账号就行

构建知识库

看图操作 打开cmd输入ollama list 就可以看到模型名称 打开cmd输入ipconfig 就可以看到ipv4的地址

这边这个地方根据自己的需求进行设置即可

上传自己的文件然后一定要解析

解析完毕之后就可以使用了,可以将蓝色背景的内容进行删掉,这样就不会遇到没有的内容时不进行回答了

看一下效果,具体的自己研究哈

其余知识点

RAG技术和模型微调的区别

  • RAG技术和模型微调都是为了解决大模型的幻觉问题
    • 什么是幻觉问题?
      • 大模型在回答不知道的问题的时候会进行胡说八道
  • 微调是指在已有的训练情况下结合特定的训练集任务进一步的进行训练(考前复习)
  • RAG是指在生成回答之前,通过信息检索从外部获取到参考内容增强生成的答案,提升回答质量和可信度(开卷考)

RAG技术的原理

RAG(Retrieval-Augmented Generation)

  • 检索:当用户提出问题的时候,系统会从外部的知识库中检索出和用户输入相关的内容
  • 增强:系统将检索的信息和用户的输入结合,扩展模型的上下文,然后再传给LLM
  • 生成:LLM基于增强后的输入生成最终的回答

检索的详细过程:

  • 整备外部知识库(本地文件、搜索引擎结果、API等等)
  • 通过Embedding(嵌入)模型,对知识库的内容进行解析,并且生成一个高维向量
  • 通过Embedding(嵌入)模型再次对用户输入的信息进行解析,并且也会生成一个高维向量
  • 拿用户的提问去匹配本地知识库:使用用户输入生成的高维向量去查询知识库中相关的文档片段,在这个过程中,系统会利用某些相似度度量(比如余弦相似度)去判断相似度

模型的分类

  • Chat模型:专门优化对话交互,能理解上下文,生成自然回复
  • Embedding模型:将文本转为向量,衡量语义相似度,不直接生成文本
相关推荐
l1t2 天前
利用DeepSeek计算abcde五人排成一队,要使c在ab 之间,有几种排法
人工智能·组合数学·deepseek
广州明周科技3 天前
Revit 200+新功能之“明周科技功能商店 AI推荐助手”
科技·ai·信息可视化·bim·revit二次开发·revit·deepseek
Java陈序员3 天前
告别繁琐操作!这款神器用 AI 轻松绘制专业图表!
openai·next.js·deepseek
realhuizhu4 天前
你的代码正在腐烂:为什么我们都不敢碰那座“屎山”?
ai编程·软件架构·代码重构·deepseek·技术债务
视觉&物联智能4 天前
【杂谈】-边缘计算竞赛:人工智能硬件缘何超越云端
人工智能·ai·chatgpt·aigc·边缘计算·agi·deepseek
RebeccaGuan08084 天前
泛微.采知连知识管理平台深度应用DeepSeek,自动采集数据,让问答更安全·准确
人工智能·智能问答·知识管理·deepseek·知识采集
AI大模型学徒5 天前
大模型应用开发(十七)_RAG架构概述
大模型·知识库·rag·deepseek
产品何同学5 天前
复刻DeepSeek与GPT!AI智能对话Web高保真原型设计全解析
人工智能·gpt·墨刀·高保真原型·deepseek·ai智能写作·ai智能对话
多则惑少则明6 天前
AI大模型实用(一)SpringAI接入deepseek示例
springai·deepseek·ai大模型测试
、、、、南山小雨、、、、6 天前
云端部署DeepSeek + 本机Cherry Studio接入
deepseek